From: Vandita Kulkarni <[email protected]> Higher resolution modes like 8K@60, 4K@120 need FRL support. Platforms before MTL do not support FRL, so allow modes requiring more than 600MHz dotclock to be enumerated only on MTL+ where FRL is supported.
Signed-off-by: Vandita Kulkarni <[email protected]> Signed-off-by: Ankit Nautiyal <[email protected]> --- drivers/gpu/drm/i915/display/intel_hdmi.c | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_hdmi.c b/drivers/gpu/drm/i915/display/intel_hdmi.c index c57d99195ed0..e3dbd71a3652 100644 --- a/drivers/gpu/drm/i915/display/intel_hdmi.c +++ b/drivers/gpu/drm/i915/display/intel_hdmi.c @@ -2115,8 +2115,11 @@ intel_hdmi_sink_format_valid(struct intel_connector *connector, static bool intel_hdmi_can_support_frl(struct intel_hdmi *intel_hdmi) { - /* TODO check for FRL support */ - return false; + struct intel_display *display = to_intel_display(intel_hdmi); + + return HAS_HDMI_FRL(display) && + intel_hdmi->has_sink_hdmi_21 && + intel_hdmi->max_frl_rate; } static enum drm_mode_status @@ -2176,12 +2179,10 @@ intel_hdmi_mode_valid(struct drm_connector *_connector, } /* - * HDMI2.1 requires higher resolution modes like 8k60, 4K120 to be - * enumerated only if FRL is supported. Current platforms do not support - * FRL so prune the higher resolution modes that require doctclock more - * than 600MHz. + * Platforms < MTL do not support FRL so prune the higher resolution + * modes that require doctclock more than 600MHz. */ - if (clock > 600000) + if (!intel_hdmi_can_support_frl(hdmi) && clock > 600000) return MODE_CLOCK_HIGH; if (drm_mode_is_420_only(info, mode)) { -- 2.50.1
