From 9670838afc72dea3ffbaab1a8ebe57fa526b7721 Mon Sep 17 00:00:00 2001 From: Algea Cao Date: Fri, 17 Feb 2023 14:13:48 +0800 Subject: [PATCH] drm: bridge: dw-hdmi: Enable hdmi output after ctrl regs config done Fix green screen after color format switch in MI/HUAWEI TV. Signed-off-by: Algea Cao Change-Id: Ic73ca68029fc8ce948e9e731291d4bbd1d9c1ce2 --- drivers/gpu/drm/bridge/synopsys/dw-hdmi.c | 28 +++++++++++------------ 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c index 30346c8ddd3d..b718c04f6f3a 100644 --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi.c @@ -2671,20 +2671,6 @@ static int dw_hdmi_setup(struct dw_hdmi *hdmi, /* HDMI Initialization Step B.1 */ hdmi_av_composer(hdmi, &connector->display_info, mode); - /* HDMI Initializateion Step B.2 */ - if (!hdmi->phy.enabled || - hdmi->hdmi_data.video_mode.previous_pixelclock != - hdmi->hdmi_data.video_mode.mpixelclock || - hdmi->hdmi_data.video_mode.previous_tmdsclock != - hdmi->hdmi_data.video_mode.mtmdsclock) { - ret = hdmi->phy.ops->init(hdmi, hdmi->phy.data, - &connector->display_info, - &hdmi->previous_mode); - if (ret) - return ret; - hdmi->phy.enabled = true; - } - /* HDMI Initialization Step B.3 */ dw_hdmi_enable_video_path(hdmi); @@ -2713,6 +2699,20 @@ static int dw_hdmi_setup(struct dw_hdmi *hdmi, hdmi_video_sample(hdmi); hdmi_tx_hdcp_config(hdmi, mode); + /* HDMI Enable phy output */ + if (!hdmi->phy.enabled || + hdmi->hdmi_data.video_mode.previous_pixelclock != + hdmi->hdmi_data.video_mode.mpixelclock || + hdmi->hdmi_data.video_mode.previous_tmdsclock != + hdmi->hdmi_data.video_mode.mtmdsclock) { + ret = hdmi->phy.ops->init(hdmi, hdmi->phy.data, + &connector->display_info, + &hdmi->previous_mode); + if (ret) + return ret; + hdmi->phy.enabled = true; + } + dw_hdmi_clear_overflow(hdmi); return 0;