Lakka-LibreELEC/projects/NXP/devices/iMX8/patches/linux/0007-MLK-24335-drm-bridge-cdns-hdmi-support-work-in-DVI-m.patch

42 lines
1.4 KiB
Diff

From a1b02ef19cbc24603e1e212f4f4258ca2c59aaad Mon Sep 17 00:00:00 2001
From: Sandor Yu <Sandor.yu@nxp.com>
Date: Thu, 18 Jun 2020 14:18:04 +0800
Subject: [PATCH 07/49] MLK-24335: drm: bridge: cdns: hdmi support work in DVI
mode
hdmi support work in DVI mode.
Signed-off-by: Sandor Yu <Sandor.yu@nxp.com>
---
drivers/gpu/drm/bridge/cadence/cdns-hdmi-core.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/bridge/cadence/cdns-hdmi-core.c b/drivers/gpu/drm/bridge/cadence/cdns-hdmi-core.c
index da40f62617ef..5f2442fa761f 100644
--- a/drivers/gpu/drm/bridge/cadence/cdns-hdmi-core.c
+++ b/drivers/gpu/drm/bridge/cadence/cdns-hdmi-core.c
@@ -32,8 +32,9 @@ static void hdmi_sink_config(struct cdns_mhdp_device *mhdp)
struct drm_scdc *scdc = &mhdp->connector.base.display_info.hdmi.scdc;
u8 buff = 0;
- /* Default work in HDMI1.4 */
- mhdp->hdmi.hdmi_type = MODE_HDMI_1_4;
+ /* return if hdmi work in DVI mode */
+ if (mhdp->hdmi.hdmi_type == MODE_DVI)
+ return;
/* check sink support SCDC or not */
if (scdc->supported != true) {
@@ -264,6 +265,8 @@ static int cdns_hdmi_connector_get_modes(struct drm_connector *connector)
edid->header[6], edid->header[7]);
drm_connector_update_edid_property(connector, edid);
num_modes = drm_add_edid_modes(connector, edid);
+ mhdp->hdmi.hdmi_type = drm_detect_hdmi_monitor(edid) ?
+ MODE_HDMI_1_4 : MODE_DVI;
kfree(edid);
}
--
2.29.2