aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/layerscape/patches-5.4/805-display-0031-Revert-drm-imx-hdp-fix-issue-with-non-SCDC-HDMI-sink.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/layerscape/patches-5.4/805-display-0031-Revert-drm-imx-hdp-fix-issue-with-non-SCDC-HDMI-sink.patch')
-rw-r--r--target/linux/layerscape/patches-5.4/805-display-0031-Revert-drm-imx-hdp-fix-issue-with-non-SCDC-HDMI-sink.patch63
1 files changed, 63 insertions, 0 deletions
diff --git a/target/linux/layerscape/patches-5.4/805-display-0031-Revert-drm-imx-hdp-fix-issue-with-non-SCDC-HDMI-sink.patch b/target/linux/layerscape/patches-5.4/805-display-0031-Revert-drm-imx-hdp-fix-issue-with-non-SCDC-HDMI-sink.patch
new file mode 100644
index 0000000000..e906be4604
--- /dev/null
+++ b/target/linux/layerscape/patches-5.4/805-display-0031-Revert-drm-imx-hdp-fix-issue-with-non-SCDC-HDMI-sink.patch
@@ -0,0 +1,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);