summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOndrej Jirman <megi@xff.cz>2023-05-22 23:47:02 +0200
committerAnatolij Gustschin <agust@denx.de>2023-07-14 18:17:43 +0200
commite62f2a622b4c4f8ecd9939a2afbfed5ad02e047c (patch)
tree144abfaa9063c38eb3109faec68ae4ed9b46a9fa
parentf4c7efe01182e9a4e7940149ee2d5c99ea8cdaec (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.c4
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));