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

From: Liviu Dudau
Date: Tue May 30 2017 - 05:37:35 EST


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@xxxxxxxxxxxx>
> > Cc: Carlos Palminha <palminha@xxxxxxxxxxxx>
> > Cc: Daniel Vetter <daniel.vetter@xxxxxxxx>
> > Cc: Liviu Dudau <liviu.dudau@xxxxxxx>

Acked-by: Liviu Dudau <liviu.dudau@xxxxxxx>

> > Cc: Brian Starkey <brian.starkey@xxxxxxx>
> > Cc: David Airlie <airlied@xxxxxxxx>
> > ---
> > 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@xxxxxxxxxxxx>

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