Revert "drm/sun4i: dsi: Change the start delay calculation"
authorIcenowy Zheng <icenowy@aosc.io>
Tue, 1 Oct 2019 08:02:51 +0000 (16:02 +0800)
committerMaxime Ripard <mripard@kernel.org>
Thu, 3 Oct 2019 13:16:44 +0000 (15:16 +0200)
This reverts commit da676c6aa6413d59ab0a80c97bbc273025e640b2.

The original commit adds a start parameter to the calculation of the
start delay according to some old BSP versions from Allwinner. However,
there're two ways to add this delay -- add it in DSI controller or add
it in the TCON. Add it in both controllers won't work.

The code before this commit is picked from new versions of BSP kernel,
which has a comment for the 1 that says "put start_delay to tcon". By
checking the sun4i_tcon0_mode_set_cpu() in sun4i_tcon driver, it has
already added this delay, so we shouldn't repeat to add the delay in DSI
controller, otherwise the timing won't match.

Signed-off-by: Icenowy Zheng <icenowy@aosc.io>
Reviewed-by: Jagan Teki <jagan@amarulasolutions.com>
Signed-off-by: Maxime Ripard <mripard@kernel.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20191001080253.6135-2-icenowy@aosc.io
drivers/gpu/drm/sun4i/sun6i_mipi_dsi.c

index 5d9ad4654a1d2616a0ca8f06fbb1dbf8e8923a84..0ba4da221f3b20467f95cabee9afa824b36a54d9 100644 (file)
@@ -366,8 +366,7 @@ static void sun6i_dsi_inst_init(struct sun6i_dsi *dsi,
 static u16 sun6i_dsi_get_video_start_delay(struct sun6i_dsi *dsi,
                                           struct drm_display_mode *mode)
 {
-       u16 start = clamp(mode->vtotal - mode->vdisplay - 10, 8, 100);
-       u16 delay = mode->vtotal - (mode->vsync_end - mode->vdisplay) + start;
+       u16 delay = mode->vtotal - (mode->vsync_end - mode->vdisplay) + 1;
 
        if (delay > mode->vtotal)
                delay = delay % mode->vtotal;