drm/sun4i: dsi: Change the start delay calculation
authorMaxime Ripard <maxime.ripard@bootlin.com>
Mon, 11 Feb 2019 14:41:23 +0000 (15:41 +0100)
committerMaxime Ripard <maxime.ripard@bootlin.com>
Tue, 19 Feb 2019 10:08:21 +0000 (11:08 +0100)
commitda676c6aa6413d59ab0a80c97bbc273025e640b2
tree1ed37b4bc58b66cf9f3b7e02d3587bae24c83924
parent85fb352666732a9e5caf6027b9c253b3d7881d8f
drm/sun4i: dsi: Change the start delay calculation

The current calculation for the video start delay in the current DSI driver
is that it is the total vertical size, minus the front porch and sync length,
plus 1. This equals to the active vertical size plus the back porch plus 1.

That 1 is coming in the Allwinner BSP from an variable that is set to 1.
However, if we look at the Allwinner BSP more closely, and especially in
the "legacy" code for the display (in drivers/video/sunxi/legacy/), we can
see that this variable is actually computed from the porches and the sync
minus 10, clamped between 8 and 100.

This fixes the start delay symptom we've seen on some panels (vblank
timeouts with vertical white stripes at the bottom of the panel).

Reviewed-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
Link: https://patchwork.freedesktop.org/patch/msgid/6e5f72e68f47ca0223877464bf12f0c3f3978de8.1549896081.git-series.maxime.ripard@bootlin.com
drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c