[PATCH v5 08/10] drm/arm: malidp: Use crtc->mode_valid() callback

Liviu Dudau liviu.dudau at arm.com
Tue May 30 09:37:29 UTC 2017


On Tue, May 30, 2017 at 09:29:44AM +0200, Neil Armstrong wrote:
> On 05/25/2017 04:19 PM, Jose Abreu wrote:
> > Now that we have a callback to check if crtc supports a given mode
> > we can use it in malidp so that we restrict the number of probbed
> > modes to the ones we can actually display.
> > 
> > Also, remove the mode_fixup() callback as this is no longer needed
> > because mode_valid() will be called before.
> > 
> > NOTE: Not even compiled tested

I did compile it, even done some testing, but by no means have I managed
to cover all the cases. Looks OK to me.

> > 
> > Signed-off-by: Jose Abreu <joabreu at synopsys.com>
> > Cc: Carlos Palminha <palminha at synopsys.com>
> > Cc: Daniel Vetter <daniel.vetter at ffwll.ch>
> > Cc: Liviu Dudau <liviu.dudau at arm.com>

Acked-by: Liviu Dudau <liviu.dudau at arm.com>

> > Cc: Brian Starkey <brian.starkey at arm.com>
> > Cc: David Airlie <airlied at linux.ie>
> > ---
> >  drivers/gpu/drm/arm/malidp_crtc.c | 11 +++++------
> >  1 file changed, 5 insertions(+), 6 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/arm/malidp_crtc.c b/drivers/gpu/drm/arm/malidp_crtc.c
> > index 9446a67..4bb38a2 100644
> > --- a/drivers/gpu/drm/arm/malidp_crtc.c
> > +++ b/drivers/gpu/drm/arm/malidp_crtc.c
> > @@ -22,9 +22,8 @@
> >  #include "malidp_drv.h"
> >  #include "malidp_hw.h"
> >  
> > -static bool malidp_crtc_mode_fixup(struct drm_crtc *crtc,
> > -				   const struct drm_display_mode *mode,
> > -				   struct drm_display_mode *adjusted_mode)
> > +static enum drm_mode_status malidp_crtc_mode_valid(struct drm_crtc *crtc,
> > +						   const struct drm_display_mode *mode)
> >  {
> >  	struct malidp_drm *malidp = crtc_to_malidp_device(crtc);
> >  	struct malidp_hw_device *hwdev = malidp->dev;
> > @@ -40,11 +39,11 @@ static bool malidp_crtc_mode_fixup(struct drm_crtc *crtc,
> >  		if (rate != req_rate) {
> >  			DRM_DEBUG_DRIVER("pxlclk doesn't support %ld Hz\n",
> >  					 req_rate);
> > -			return false;
> > +			return MODE_NOCLOCK;
> >  		}
> >  	}
> >  
> > -	return true;
> > +	return MODE_OK;
> >  }
> >  
> >  static void malidp_crtc_enable(struct drm_crtc *crtc)
> > @@ -408,7 +407,7 @@ static int malidp_crtc_atomic_check(struct drm_crtc *crtc,
> >  }
> >  
> >  static const struct drm_crtc_helper_funcs malidp_crtc_helper_funcs = {
> > -	.mode_fixup = malidp_crtc_mode_fixup,
> > +	.mode_valid = malidp_crtc_mode_valid,
> >  	.enable = malidp_crtc_enable,
> >  	.disable = malidp_crtc_disable,
> >  	.atomic_check = malidp_crtc_atomic_check,
> > 
> 
> Reviewed-by: Neil Armstrong <narmstrong at baylibre.com>

-- 
====================
| I would like to |
| fix the world,  |
| but they're not |
| giving me the   |
 \ source code!  /
  ---------------
    ¯\_(ツ)_/¯


More information about the dri-devel mailing list