From cf754a978dd87e8b5c0461ddfddc498d1a7964a6 Mon Sep 17 00:00:00 2001 From: Algea Cao Date: Sat, 14 Jul 2018 15:02:54 +0800 Subject: [PATCH] drm/bridge: synopsys: dw-hdmi: Clear color depth mask and format if get edid failed If edid can't be got when hdmi plug in, hdmi color depth mask and format won't be updated. The color list in the setting are those of the previous TV. This commit fix the error. Change-Id: I5ed4be5efa2a69be0b58489f58a3af5de9912292 Signed-off-by: Algea Cao --- drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c index 390d061a68d7..26d34baf0356 100644 --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c @@ -2774,6 +2774,7 @@ static int dw_hdmi_connector_get_modes(struct drm_connector *connector) connector); struct edid *edid; struct drm_display_mode *mode; + struct drm_display_info *info = &connector->display_info; int i, ret = 0; edid = dw_hdmi_get_edid(hdmi, connector); @@ -2797,6 +2798,9 @@ static int dw_hdmi_connector_get_modes(struct drm_connector *connector) ret++; } } + info->edid_hdmi_dc_modes = 0; + info->hdmi.y420_dc_modes = 0; + info->color_formats = 0; dev_info(hdmi->dev, "failed to get edid\n"); }