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 <algea.cao@rock-chips.com>
Change-Id: Ic73ca68029fc8ce948e9e731291d4bbd1d9c1ce2
This commit is contained in:
Algea Cao
2023-02-17 14:13:48 +08:00
committed by Tao Huang
parent 8c52cd4de3
commit 9670838afc

View File

@@ -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;