From a1b02ef19cbc24603e1e212f4f4258ca2c59aaad Mon Sep 17 00:00:00 2001 From: Sandor Yu 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 --- 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