Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> --- drivers/gpu/drm/i915/display/intel_dp.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c index d5c56ea079a4..b41ff88d3258 100644 --- a/drivers/gpu/drm/i915/display/intel_dp.c +++ b/drivers/gpu/drm/i915/display/intel_dp.c @@ -506,6 +506,7 @@ intel_dp_mode_valid(struct drm_connector *connector, int max_dotclk; u16 dsc_max_output_bpp = 0; u8 dsc_slice_count = 0; + bool dsc; if (mode->flags & DRM_MODE_FLAG_DBLSCAN) return MODE_NO_DBLESCAN; @@ -553,8 +554,13 @@ intel_dp_mode_valid(struct drm_connector *connector, } } - if ((mode_rate > max_rate && !(dsc_max_output_bpp && dsc_slice_count)) || - target_clock > max_dotclk) + dsc = dsc_max_output_bpp && dsc_slice_count; + + /* Gen11 has big joiner for handling this */ + if (dsc && dsc_slice_count >= 2 && INTEL_GEN(dev_priv) >= 11) + max_dotclk *= 2; + + if ((mode_rate > max_rate && !dsc) || target_clock > max_dotclk) return MODE_CLOCK_HIGH; if (mode->clock < 10000) -- 2.20.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx