Re: [PATCH] drm/bridge: adv7511: Fix low refresh rate selection

From: Sean Paul
Date: Tue May 14 2019 - 14:14:42 EST


On Sat, May 11, 2019 at 10:32:26PM +0300, Laurent Pinchart wrote:
> Hi Matt,
>
> Thank you for the patch.
>
> On Wed, Apr 24, 2019 at 01:22:27PM +0000, Matt Redfearn wrote:
> > The driver currently sets register 0xfb (Low Refresh Rate) based on the
> > value of mode->vrefresh. Firstly, this field is specified to be in Hz,
> > but the magic numbers used by the code are Hz * 1000. This essentially
> > leads to the low refresh rate always being set to 0x01, since the
> > vrefresh value will always be less than 24000. Fix the magic numbers to
> > be in Hz.
> > Secondly, according to the comment in drm_modes.h, the field is not
> > supposed to be used in a functional way anyway. Instead, use the helper
> > function drm_mode_vrefresh().
> >
> > Fixes: 9c8af882bf12 ("drm: Add adv7511 encoder driver")
> > Signed-off-by: Matt Redfearn <matt.redfearn@xxxxxxxxxx>
>
> Wow, a 4.5 year old bug fix, nice :-)
>
> Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>
>

Applied to drm-misc-next-fixes.

Thanks!

Sean

> > ---
> >
> > drivers/gpu/drm/bridge/adv7511/adv7511_drv.c | 6 +++---
> > 1 file changed, 3 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
> > index 85c2d407a52..e7ddd3e3db9 100644
> > --- a/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
> > +++ b/drivers/gpu/drm/bridge/adv7511/adv7511_drv.c
> > @@ -747,11 +747,11 @@ static void adv7511_mode_set(struct adv7511 *adv7511,
> > vsync_polarity = 1;
> > }
> >
> > - if (mode->vrefresh <= 24000)
> > + if (drm_mode_vrefresh(mode) <= 24)
> > low_refresh_rate = ADV7511_LOW_REFRESH_RATE_24HZ;
> > - else if (mode->vrefresh <= 25000)
> > + else if (drm_mode_vrefresh(mode) <= 25)
> > low_refresh_rate = ADV7511_LOW_REFRESH_RATE_25HZ;
> > - else if (mode->vrefresh <= 30000)
> > + else if (drm_mode_vrefresh(mode) <= 30)
> > low_refresh_rate = ADV7511_LOW_REFRESH_RATE_30HZ;
> > else
> > low_refresh_rate = ADV7511_LOW_REFRESH_RATE_NONE;
>
> --
> Regards,
>
> Laurent Pinchart
> _______________________________________________
> dri-devel mailing list
> dri-devel@xxxxxxxxxxxxxxxxxxxxx
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

--
Sean Paul, Software Engineer, Google / Chromium OS