drm/bridge: synopsys: dw-hdmi-qp: add mode covert at dual_connector_split

At split mode or dual connector split, the mode of horizontal direction
must x2.

Signed-off-by: Sandy Huang <hjc@rock-chips.com>
Change-Id: I4583cb575c6714796b63c3dc312eb3c23319b116
This commit is contained in:
Sandy Huang
2024-09-18 16:27:45 +08:00
committed by Tao Huang
parent 885afdcd0e
commit 44ccff798b

View File

@@ -2771,9 +2771,6 @@ static int dw_hdmi_connector_get_modes(struct drm_connector *connector)
}
secondary_data = secondary->plat_data->phy_data;
list_for_each_entry(mode, &connector->probed_modes, head)
hdmi->plat_data->convert_to_split_mode(mode);
secondary->sink_is_hdmi = drm_detect_hdmi_monitor(edid);
secondary->sink_has_audio = drm_detect_monitor_audio(edid);
if (secondary->cec_notifier)
@@ -2809,12 +2806,7 @@ static int dw_hdmi_connector_get_modes(struct drm_connector *connector)
ret++;
}
}
if (ret > 0 && (hdmi->plat_data->split_mode || hdmi->plat_data->dual_connector_split)) {
struct drm_display_mode *mode;
list_for_each_entry(mode, &connector->probed_modes, head)
hdmi->plat_data->convert_to_split_mode(mode);
}
info->edid_hdmi_rgb444_dc_modes = 0;
info->edid_hdmi_ycbcr444_dc_modes = 0;
info->hdmi.y420_dc_modes = 0;
@@ -2822,6 +2814,12 @@ static int dw_hdmi_connector_get_modes(struct drm_connector *connector)
dev_info(hdmi->dev, "failed to get edid\n");
}
if (ret > 0 && (hdmi->plat_data->split_mode || hdmi->plat_data->dual_connector_split)) {
struct drm_display_mode *mode;
list_for_each_entry(mode, &connector->probed_modes, head)
hdmi->plat_data->convert_to_split_mode(mode);
}
return ret;
}