aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/layerscape/patches-5.4/805-display-0031-Revert-drm-imx-hdp-fix-issue-with-non-SCDC-HDMI-sink.patch
blob: e906be4604393e7fb45f8681d458eca21de2ac6e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
From 575fc16e92287349f0ffd8399dd9d7e408954cd4 Mon Sep 17 00:00:00 2001
From: Sandor Yu <Sandor.yu@nxp.com>
Date: Fri, 29 Nov 2019 15:05:03 +0800
Subject: [PATCH] Revert "drm/imx/hdp: fix issue with non-SCDC HDMI sinks"

For HDMI sinks that support HDMI2.0, those video modes have
listed in hdmi1.4 specification should work in hdmi 1.4.
Remove the patch, make sure all video modes can work well
in HDMI2.0 sinks.
For non-SCDC HDMI sinks issue,
it will be fixed with another patch.

This reverts commit 4b6617643f9e3a6f61d42eae39034ddc8d4825af.

Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
---
 drivers/gpu/drm/bridge/cadence/cdns-hdmi-core.c | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

--- a/drivers/gpu/drm/bridge/cadence/cdns-hdmi-core.c
+++ b/drivers/gpu/drm/bridge/cadence/cdns-hdmi-core.c
@@ -29,17 +29,11 @@
 static void hdmi_sink_config(struct cdns_mhdp_device *mhdp)
 {
 	struct drm_scdc *scdc = &mhdp->connector.base.display_info.hdmi.scdc;
-	struct drm_display_info *di = &mhdp->connector.base.display_info;
-	u8 buff = 0;
-
-	if (scdc->supported || di->color_formats & DRM_COLOR_FORMAT_YCRCB420)
-		mhdp->hdmi.hdmi_type = MODE_HDMI_2_0;
-	else
-		mhdp->hdmi.hdmi_type = MODE_HDMI_1_4;
+	u8 buff;
 
 	/* check sink support SCDC or not */
-	if (!scdc->supported) {
-		DRM_INFO("Sink does not support SCDC\n");
+	if (scdc->supported != true) {
+		DRM_INFO("Sink Not Support SCDC\n");
 		return;
 	}
 
@@ -49,13 +43,19 @@ static void hdmi_sink_config(struct cdns
 		 * Enable scrambling and TMDS_Bit_Clock_Ratio
 		 */
 		buff = SCDC_TMDS_BIT_CLOCK_RATIO_BY_40 | SCDC_SCRAMBLING_ENABLE;
+		mhdp->hdmi.hdmi_type = MODE_HDMI_2_0;
 	} else  if (scdc->scrambling.low_rates) {
 		/*
 		 * Enable scrambling and HDMI2.0 when scrambling capability of sink
 		 * be indicated in the HF-VSDB LTE_340Mcsc_scramble bit
 		 */
 		buff = SCDC_SCRAMBLING_ENABLE;
-	}
+		mhdp->hdmi.hdmi_type = MODE_HDMI_2_0;
+	} else {
+		/* Default work in HDMI1.4 */
+		buff = 0;
+		mhdp->hdmi.hdmi_type = MODE_HDMI_1_4;
+	 }
 
 	/* TMDS config */
 	cdns_hdmi_scdc_write(mhdp, 0x20, buff);