]> git.baikalelectronics.ru Git - kernel.git/commitdiff
drm/sun4i: dsi: fix the overhead of the horizontal front porch
authorIcenowy Zheng <icenowy@aosc.io>
Sun, 6 Oct 2019 16:03:01 +0000 (00:03 +0800)
committerMaxime Ripard <mripard@kernel.org>
Mon, 7 Oct 2019 12:01:25 +0000 (14:01 +0200)
The formula in the BSP kernel indicates that a 16-byte overhead is used
when sending the HFP. However, this value is currently set to 6 in the
sun6i_mipi_dsi driver, which makes some panels flashing.

Fix this overhead value.

Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
Signed-off-by: Maxime Ripard <mripard@kernel.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20191006160303.24413-3-icenowy@aosc.io
drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c

index 082d196e43da79818d38c4d39388e7bae46d7cfd..5acdddfbcb25599501f5ed6f6b2b4bf5ad47bc12 100644 (file)
@@ -569,11 +569,12 @@ static void sun6i_dsi_setup_timings(struct sun6i_dsi *dsi,
                          (mode->htotal - mode->hsync_end) * Bpp - HBP_PACKET_OVERHEAD);
 
                /*
-                * The frontporch is set using a blanking packet (4
-                * bytes + payload + 2 bytes). Its minimal size is
-                * therefore 6 bytes
+                * The frontporch is set using a sync event (4 bytes)
+                * and two blanking packets (each one is 4 bytes +
+                * payload + 2 bytes). Its minimal size is therefore
+                * 16 bytes
                 */
-#define HFP_PACKET_OVERHEAD    6
+#define HFP_PACKET_OVERHEAD    16
                hfp = max((unsigned int)HFP_PACKET_OVERHEAD,
                          (mode->hsync_start - mode->hdisplay) * Bpp - HFP_PACKET_OVERHEAD);