From 74328f507f2dbb19aa456d8bbf64ce41bc8984d0 Mon Sep 17 00:00:00 2001 From: Chen Shunqing Date: Tue, 22 Apr 2025 16:32:57 +0800 Subject: [PATCH] drm/bridge: synopsys: dw-hdmi-qp: support hdmi2.0 when get modes is not from edid Signed-off-by: Chen Shunqing Change-Id: Ie1c78cf2b817b6ba9bfb59481331507bd9e5fa12 --- drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c index 95f6b8611dc9..96241e619f91 100644 --- a/drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c +++ b/drivers/gpu/drm/bridge/synopsys/dw-hdmi-qp.c @@ -2755,8 +2755,15 @@ static int dw_hdmi_connector_get_modes(struct drm_connector *connector) } } - if (hdmi->panel) + if (hdmi->panel) { + hdmi->support_hdmi = true; + hdmi->sink_is_hdmi = true; + hdmi->sink_has_audio = true; + info->hdmi.scdc.supported = true; + info->hdmi.scdc.scrambling.supported = true; + info->max_tmds_clock = HDMI20_MAX_TMDSCLK_KHZ; return drm_panel_get_modes(hdmi->panel, connector); + } if (hdmi->next_bridge && hdmi->next_bridge->ops & DRM_BRIDGE_OP_MODES) return drm_bridge_get_modes(hdmi->next_bridge, connector); @@ -2826,6 +2833,7 @@ static int dw_hdmi_connector_get_modes(struct drm_connector *connector) kfree(drm_edid); } else { hdmi->support_hdmi = true; + hdmi->sink_is_hdmi = true; hdmi->sink_has_audio = true; if (hdmi->plat_data->split_mode) { @@ -2855,6 +2863,9 @@ static int dw_hdmi_connector_get_modes(struct drm_connector *connector) info->edid_hdmi_ycbcr444_dc_modes = 0; info->hdmi.y420_dc_modes = 0; info->color_formats = 0; + info->hdmi.scdc.supported = true; + info->hdmi.scdc.scrambling.supported = true; + info->max_tmds_clock = HDMI20_MAX_TMDSCLK_KHZ; dev_info(hdmi->dev, "failed to get edid\n"); }