RE: [PATCH] drm/i915/vdsc: Use the DSC config tables for DSI panels

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> Subject: Re: [PATCH] drm/i915/vdsc: Use the DSC config tables for DSI panels
> 
> 
> 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@xxxxxxxxx>
> > Signed-off-by: William Tseng <william.tseng@xxxxxxxxx>
> > ---
> >   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()	

Since this is a static function I think this naming should work

> {
> 	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.
> 

Sure will add needed documentation

Regards,
Suraj Kandpal

> Regards,
> Ankit
> 
> >   		calculate_rc_params(vdsc_cfg);
> >   	} else {
> >   		if ((compressed_bpp == 8 ||




[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux