[PATCH] drm/i915/vdsc: Use the DSC config tables for DSI panels
Nautiyal, Ankit K
ankit.k.nautiyal at intel.com
Fri Feb 28 04:37:22 UTC 2025
On 2/27/2025 4:56 PM, Suraj Kandpal wrote:
> Some DSI panel vendors end up hardcoding PPS params because of which
> it does not listen to the params sent from the source. We use the
> default config tables for DSI panels when using DSC 1.1 rather than
> calculate our own rc parameters.
>
> --v2
> -Use intel_crtc_has_type [Jani]
>
> --v3
> -Add Signed-off-by from William too [Ankit]
>
> Closes: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/13719
> Signed-off-by: Suraj Kandpal <suraj.kandpal at intel.com>
> Signed-off-by: William Tseng <william.tseng at intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_vdsc.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_vdsc.c b/drivers/gpu/drm/i915/display/intel_vdsc.c
> index 6e7151346382..affe9913f1ee 100644
> --- a/drivers/gpu/drm/i915/display/intel_vdsc.c
> +++ b/drivers/gpu/drm/i915/display/intel_vdsc.c
> @@ -320,7 +320,9 @@ int intel_dsc_compute_params(struct intel_crtc_state *pipe_config)
> * upto uncompressed bpp-1, hence add calculations for all the rc
> * parameters
> */
> - if (DISPLAY_VER(dev_priv) >= 13) {
> + if (DISPLAY_VER(dev_priv) >= 13 &&
> + (vdsc_cfg->dsc_version_minor != 1 ||
> + intel_crtc_has_type(pipe_config, INTEL_OUTPUT_DSI))) {
This should be !intel_crtc_has_type(pipe_config, INTEL_OUTPUT_DSI)
I think it would be better to use a function for special handling for
DSI panel with DSC1.1.
(I am not very sure what should be an appropriate name for this but just
to give an example)
bool is_mipi_dsi_dsc_1_1()
{
return vdsc_cfg->dsc_version_minor == 1 &&
intel_crtc_has_type(pipe_config, INTEL_OUTPUT_DSI);
}
The condition will then become:
if (DISPLAY_VER(dev_priv) >= 13 && !is_mipi_dsi_dsc_1_1())
calculate_rc_params(vdsc_cfg);
With this we also need to document about why we are not using calculate_rc_params for MIPI DSI with DSC1.1 in comment above the function.
Regards,
Ankit
> calculate_rc_params(vdsc_cfg);
> } else {
> if ((compressed_bpp == 8 ||
More information about the Intel-xe
mailing list