mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 03:15:31 +09:00
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:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user