]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
video: dw_mipi_dsi: Fix hsync/vsync settings
authorOndrej Jirman <megi@xff.cz>
Mon, 22 May 2023 21:47:02 +0000 (23:47 +0200)
committerAnatolij Gustschin <agust@denx.de>
Fri, 14 Jul 2023 16:17:43 +0000 (18:17 +0200)
These must be read from timings->flags, like other DSI HOST drivers do.

And they must not be inverted either. Low means low.

Without this fix, panel drivers that set *SYNC_LOW produce corrupted
output on screen (shifted horizontally and vertically by back porch
distance).

Signed-off-by: Ondrej Jirman <megi@xff.cz>
drivers/video/dw_mipi_dsi.c

index 92e388ac1e42b9ed7dda962caf4553a6e2ee3a5a..22fef7e8825f6f7c0ce08393a043c0fe8eeb6d59 100644 (file)
@@ -538,9 +538,9 @@ static void dw_mipi_dsi_dpi_config(struct dw_mipi_dsi *dsi,
                break;
        }
 
-       if (device->mode_flags & DISPLAY_FLAGS_VSYNC_HIGH)
+       if (timings->flags & DISPLAY_FLAGS_VSYNC_LOW)
                val |= VSYNC_ACTIVE_LOW;
-       if (device->mode_flags & DISPLAY_FLAGS_HSYNC_HIGH)
+       if (timings->flags & DISPLAY_FLAGS_HSYNC_LOW)
                val |= HSYNC_ACTIVE_LOW;
 
        dsi_write(dsi, DSI_DPI_VCID, DPI_VCID(dsi->channel));