drm/bridge: sii902x: pixel clock unit is 10kHz instead of 1kHz
authorJyri Sarha <jsarha@ti.com>
Mon, 27 May 2019 13:47:54 +0000 (16:47 +0300)
committerAndrzej Hajda <a.hajda@samsung.com>
Fri, 31 May 2019 13:57:19 +0000 (15:57 +0200)
The pixel clock unit in the first two registers (0x00 and 0x01) of
sii9022 is 10kHz, not 1kHz as in struct drm_display_mode. Division by
10 fixes the issue.

Signed-off-by: Jyri Sarha <jsarha@ti.com>
Reviewed-by: Andrzej Hajda <a.hajda@samsung.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Link: https://patchwork.freedesktop.org/patch/msgid/1a2a8eae0b9d6333e7a5841026bf7fd65c9ccd09.1558964241.git.jsarha@ti.com
drivers/gpu/drm/bridge/sii902x.c

index 2ced4f404cae3b45c10b57bf5b2f97513d893c67..beb200141d1d177d698a29d89ce0a0560c978b32 100644 (file)
@@ -249,10 +249,11 @@ static void sii902x_bridge_mode_set(struct drm_bridge *bridge,
        struct regmap *regmap = sii902x->regmap;
        u8 buf[HDMI_INFOFRAME_SIZE(AVI)];
        struct hdmi_avi_infoframe frame;
+       u16 pixel_clock_10kHz = adj->clock / 10;
        int ret;
 
-       buf[0] = adj->clock;
-       buf[1] = adj->clock >> 8;
+       buf[0] = pixel_clock_10kHz & 0xff;
+       buf[1] = pixel_clock_10kHz >> 8;
        buf[2] = adj->vrefresh;
        buf[3] = 0x00;
        buf[4] = adj->hdisplay;