diff options
author | Ondrej Jirman <megi@xff.cz> | 2023-05-22 23:47:02 +0200 |
---|---|---|
committer | Anatolij Gustschin <agust@denx.de> | 2023-07-14 18:17:43 +0200 |
commit | e62f2a622b4c4f8ecd9939a2afbfed5ad02e047c (patch) | |
tree | 144abfaa9063c38eb3109faec68ae4ed9b46a9fa | |
parent | f4c7efe01182e9a4e7940149ee2d5c99ea8cdaec (diff) |
video: dw_mipi_dsi: Fix hsync/vsync settings
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>
-rw-r--r-- | drivers/video/dw_mipi_dsi.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/video/dw_mipi_dsi.c b/drivers/video/dw_mipi_dsi.c index 92e388ac1e4..22fef7e8825 100644 --- a/drivers/video/dw_mipi_dsi.c +++ b/drivers/video/dw_mipi_dsi.c @@ -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)); |