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

From: Daniel Vetter
Date: Wed May 31 2017 - 04:20:17 EST


On Tue, May 30, 2017 at 10:37:29AM +0100, Liviu Dudau wrote:
> 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>

What does this mean? Do you expect me to merge this through drm-misc? Or
do you plan to merge it through your arm tree (all the required patches
are in drm-misc-next and will be in Dave's tree soonish)?

/me confused.

Thanks, Daniel

>
> > > 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! /
> ---------------
> Â\_(ã)_/Â

--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch