From: Stanislav Lisovskiy <stanislav.lisovskiy@xxxxxxxxx> ultrajoiner needs 2 bigjoiners to be enabled, so modify the helper intel_dp_dsc_get_slice_count for ultrajoiner. Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy@xxxxxxxxx> Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@xxxxxxxxx> --- drivers/gpu/drm/i915/display/intel_dp.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c index a853f975bda1..115d8468bb91 100644 --- a/drivers/gpu/drm/i915/display/intel_dp.c +++ b/drivers/gpu/drm/i915/display/intel_dp.c @@ -996,8 +996,11 @@ u8 intel_dp_dsc_get_slice_count(const struct intel_connector *connector, drm_dp_dsc_sink_max_slice_count(connector->dp.dsc_dpcd, false)) break; - /* big joiner needs small joiner to be enabled */ - if (num_joined_pipes == 2 && test_slice_count < 4) + /* + * big joiner needs small joiner to be enabled, + * and ultrajoiner needs 2 bigjoiners to be enabled + */ + if (num_joined_pipes > 1 && test_slice_count < num_joined_pipes * 2) continue; if (min_slice_count <= test_slice_count) -- 2.45.2