[PATCH 06/16] drm/i915/dp: Ensure hactive is divisible by slice count
Kandpal, Suraj
suraj.kandpal at intel.com
Wed Oct 23 08:35:45 UTC 2024
> -----Original Message-----
> From: Nautiyal, Ankit K <ankit.k.nautiyal at intel.com>
> Sent: Wednesday, October 23, 2024 12:23 PM
> To: intel-gfx at lists.freedesktop.org
> Cc: intel-xe at lists.freedesktop.org; Kandpal, Suraj <suraj.kandpal at intel.com>
> Subject: [PATCH 06/16] drm/i915/dp: Ensure hactive is divisible by slice count
>
> According to the DSC spec, the slice width should be chosen such that the
> picture width (hactive) is evenly divisible by the slice width.
> If not, extra pixels (padding) must be added to the last slice to ensure all slices
> have the same width.
>
> Currently, we do not support handling these extra pixels.
> Therefore, select a slice count that evenly divides the hactive (slice_width =
> hactive / slice_count).
>
> This check is already implemented for DSI, where the slice count is selected
> from the BIOS.
>
> For DP, currently with 1, 2, 4 slices per pipe it is unlikely to have slice count not
> being able to divide hactive, but with 3 DSC engines and 3 slices, we can have
> such cases. Adding this check prepares for future scenarios where such
> configurations might be used.
>
> Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal at intel.com>
LGTM,
Reviewed-by: Suraj Kandpal <suraj.kandpal at intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_dp.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_dp.c
> b/drivers/gpu/drm/i915/display/intel_dp.c
> index 77487a55280c..3b20ea844925 100644
> --- a/drivers/gpu/drm/i915/display/intel_dp.c
> +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> @@ -1037,6 +1037,9 @@ u8 intel_dp_dsc_get_slice_count(const struct
> intel_connector *connector,
> if (num_joined_pipes > 1 && valid_dsc_slicecount[i] < 2)
> continue;
>
> + if (mode_hdisplay % test_slice_count)
> + continue;
> +
> if (min_slice_count <= test_slice_count)
> return test_slice_count;
> }
> --
> 2.45.2
More information about the Intel-gfx
mailing list