]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/commitdiff
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)
committerKleber Sacilotto de Souza <kleber.souza@canonical.com>
Wed, 14 Aug 2019 09:18:49 +0000 (11:18 +0200)
BugLink: https://bugs.launchpad.net/bugs/1839036
[ Upstream commit 8dbfc5b65023b67397aca28e8adb25c819f6398c ]

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
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Signed-off-by: Khalid Elmously <khalid.elmously@canonical.com>
drivers/gpu/drm/bridge/sii902x.c

index 60373d7eb22021127cb6f4a9bc7edf646e934be6..109ab4c3df507e7af7f9f769423812e00eb9e37f 100644 (file)
@@ -261,10 +261,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;