[PATCH] drm/probe-helper: Call drm_mode_validate_ycbcr420() before connector->mode_valid()

Ville Syrjälä ville.syrjala at linux.intel.com
Tue May 21 19:09:35 UTC 2024


On Tue, May 21, 2024 at 02:09:19PM +0200, Daniel Vetter wrote:
> On Thu, May 16, 2024 at 08:33:24PM +0300, Ville Syrjala wrote:
> > From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> > 
> > Make life easier for drivers by filtering out unwanted YCbCr 4:2:0
> > only modes prior to calling the connector->mode_valid() hook.
> > Currently drivers will still see YCbCr 4:2:0 only modes in said
> > hook, which will likely come as a suprise when the driver has
> > declared no support for such modes (via setting
> > connector->ycbcr_420_allowed to false).
> > 
> > Closes: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/10992
> > Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> 
> Sounds reasonable.
> 
> Reviewed-by: Daniel Vetter <daniel.vetter at ffwll.ch>

Thanks. Pushed to drm-misc-next.

> 
> > ---
> >  drivers/gpu/drm/drm_probe_helper.c | 8 ++++----
> >  1 file changed, 4 insertions(+), 4 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/drm_probe_helper.c b/drivers/gpu/drm/drm_probe_helper.c
> > index 4f75a1cfd820..249c8c2cb319 100644
> > --- a/drivers/gpu/drm/drm_probe_helper.c
> > +++ b/drivers/gpu/drm/drm_probe_helper.c
> > @@ -474,6 +474,10 @@ static int __drm_helper_update_and_validate(struct drm_connector *connector,
> >  		if (mode->status != MODE_OK)
> >  			continue;
> >  
> > +		mode->status = drm_mode_validate_ycbcr420(mode, connector);
> > +		if (mode->status != MODE_OK)
> > +			continue;
> > +
> >  		ret = drm_mode_validate_pipeline(mode, connector, ctx,
> >  						 &mode->status);
> >  		if (ret) {
> > @@ -486,10 +490,6 @@ static int __drm_helper_update_and_validate(struct drm_connector *connector,
> >  			else
> >  				return -EDEADLK;
> >  		}
> > -
> > -		if (mode->status != MODE_OK)
> > -			continue;
> > -		mode->status = drm_mode_validate_ycbcr420(mode, connector);
> >  	}
> >  
> >  	return 0;
> > -- 
> > 2.44.1
> > 
> 
> -- 
> Daniel Vetter
> Software Engineer, Intel Corporation
> http://blog.ffwll.ch

-- 
Ville Syrjälä
Intel


More information about the dri-devel mailing list