From: Bogdan Togorean <bogdan.togor...@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.togor...@analog.com>
Signed-off-by: Alexandru Ardelean <a...@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

Reply via email to