diff mbox series

drm: adv7511: Fix low refresh rate register for ADV7533/5

Message ID 20230516164416.11616-1-alex@shruggie.ro (mailing list archive)
State New, archived
Headers show
Series drm: adv7511: Fix low refresh rate register for ADV7533/5 | expand

Commit Message

Alexandru Ardelean May 16, 2023, 4:44 p.m. UTC
From: Bogdan Togorean <bogdan.togorean@analog.com>

For ADV7533 and ADV7535 low refresh rate is selected using
bits [3:2] of 0x4a main register.
So depending on ADV model write 0xfb or 0x4a register.

Signed-off-by: Bogdan Togorean <bogdan.togorean@analog.com>
Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
---
 drivers/gpu/drm/i2c/adv7511.c | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

Comments

Alexandru Ardelean July 13, 2023, 8:08 p.m. UTC | #1
On Tue, May 16, 2023 at 7:44 PM Alexandru Ardelean <alex@shruggie.ro> wrote:
>
> From: Bogdan Togorean <bogdan.togorean@analog.com>
>
> For ADV7533 and ADV7535 low refresh rate is selected using
> bits [3:2] of 0x4a main register.
> So depending on ADV model write 0xfb or 0x4a register.
>

Ping on this patch :)

> Signed-off-by: Bogdan Togorean <bogdan.togorean@analog.com>
> Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
> ---
>  drivers/gpu/drm/i2c/adv7511.c | 9 +++++++--
>  1 file changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i2c/adv7511.c b/drivers/gpu/drm/i2c/adv7511.c
> index 61aa824d45d2..e016105a8fbe 100644
> --- a/drivers/gpu/drm/i2c/adv7511.c
> +++ b/drivers/gpu/drm/i2c/adv7511.c
> @@ -729,8 +729,13 @@ static void adv7511_encoder_mode_set(struct drm_encoder *encoder,
>         else
>                 low_refresh_rate = ADV7511_LOW_REFRESH_RATE_NONE;
>
> -       regmap_update_bits(adv7511->regmap, 0xfb,
> -               0x6, low_refresh_rate << 1);
> +       if (adv7511->type == ADV7511)
> +               regmap_update_bits(adv7511->regmap, 0xfb,
> +                       0x6, low_refresh_rate << 1);
> +       else
> +               regmap_update_bits(adv7511->regmap, 0x4a,
> +                       0xc, low_refresh_rate << 2);
> +
>         regmap_update_bits(adv7511->regmap, 0x17,
>                 0x60, (vsync_polarity << 6) | (hsync_polarity << 5));
>
> --
> 2.40.1
>
Fabio Estevam July 13, 2023, 8:19 p.m. UTC | #2
On Wed, May 17, 2023 at 4:08 AM Alexandru Ardelean <alex@shruggie.ro> wrote:
>
> From: Bogdan Togorean <bogdan.togorean@analog.com>
>
> For ADV7533 and ADV7535 low refresh rate is selected using
> bits [3:2] of 0x4a main register.
> So depending on ADV model write 0xfb or 0x4a register.
>
> Signed-off-by: Bogdan Togorean <bogdan.togorean@analog.com>
> Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>

Should this contain a Fixes tag so that it could be backported to
stable kernels?
Nuno Sá July 14, 2023, 7:51 a.m. UTC | #3
Hey Alex,

On Thu, 2023-07-13 at 17:19 -0300, Fabio Estevam wrote:
> On Wed, May 17, 2023 at 4:08 AM Alexandru Ardelean <alex@shruggie.ro> wrote:
> > 
> > From: Bogdan Togorean <bogdan.togorean@analog.com>
> > 
> > For ADV7533 and ADV7535 low refresh rate is selected using
> > bits [3:2] of 0x4a main register.
> > So depending on ADV model write 0xfb or 0x4a register.
> > 
> > Signed-off-by: Bogdan Togorean <bogdan.togorean@analog.com>
> > Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
> 
> Should this contain a Fixes tag so that it could be backported to
> stable kernels?

Yeah, most likely yes... With that:

Reviewed-by: Nuno Sa <nuno.sa@analog.com>
Alexandru Ardelean July 18, 2023, 6:17 a.m. UTC | #4
On Fri, Jul 14, 2023 at 10:48 AM Nuno Sá <noname.nuno@gmail.com> wrote:
>
> Hey Alex,

Hey Nuno :)

>
> On Thu, 2023-07-13 at 17:19 -0300, Fabio Estevam wrote:
> > On Wed, May 17, 2023 at 4:08 AM Alexandru Ardelean <alex@shruggie.ro> wrote:
> > >
> > > From: Bogdan Togorean <bogdan.togorean@analog.com>
> > >
> > > For ADV7533 and ADV7535 low refresh rate is selected using
> > > bits [3:2] of 0x4a main register.
> > > So depending on ADV model write 0xfb or 0x4a register.
> > >
> > > Signed-off-by: Bogdan Togorean <bogdan.togorean@analog.com>
> > > Signed-off-by: Alexandru Ardelean <alex@shruggie.ro>
> >
> > Should this contain a Fixes tag so that it could be backported to
> > stable kernels?
>
> Yeah, most likely yes... With that:

I'll add one.
I seem to forget some upstreaming routines, since I started doing less
upstreaming.

Thanks
Alex

>
> Reviewed-by: Nuno Sa <nuno.sa@analog.com>
>
>
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i2c/adv7511.c b/drivers/gpu/drm/i2c/adv7511.c
index 61aa824d45d2..e016105a8fbe 100644
--- a/drivers/gpu/drm/i2c/adv7511.c
+++ b/drivers/gpu/drm/i2c/adv7511.c
@@ -729,8 +729,13 @@  static void adv7511_encoder_mode_set(struct drm_encoder *encoder,
 	else
 		low_refresh_rate = ADV7511_LOW_REFRESH_RATE_NONE;
 
-	regmap_update_bits(adv7511->regmap, 0xfb,
-		0x6, low_refresh_rate << 1);
+	if (adv7511->type == ADV7511)
+		regmap_update_bits(adv7511->regmap, 0xfb,
+			0x6, low_refresh_rate << 1);
+	else
+		regmap_update_bits(adv7511->regmap, 0x4a,
+			0xc, low_refresh_rate << 2);
+
 	regmap_update_bits(adv7511->regmap, 0x17,
 		0x60, (vsync_polarity << 6) | (hsync_polarity << 5));