drm/omap: dsi: fix DCS_CMD_ENABLE
authorTomi Valkeinen <tomi.valkeinen@ti.com>
Tue, 15 Dec 2020 10:46:56 +0000 (12:46 +0200)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Tue, 15 Dec 2020 14:17:32 +0000 (16:17 +0200)
We only need to set VC_CTRL:DCS_CMD_ENABLE for command mode panels when
the HW has DSI_QUIRK_DCS_CMD_CONFIG_VC quirk. The old code did this
right by accident, but now we set DCS_CMD_ENABLE for video mode panels
too.

Fix this by skipping the set for video mode.

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20201215104657.802264-84-tomi.valkeinen@ti.com
drivers/gpu/drm/omapdrm/dss/dsi.c

index 400d88b..0dd5c03 100644 (file)
@@ -3403,7 +3403,8 @@ static void dsi_setup_dsi_vcs(struct dsi_data *dsi)
        REG_FLD_MOD(dsi, DSI_VC_CTRL(VC_VIDEO), 1, 1, 1); /* SOURCE_VP */
        dsi->vc[VC_VIDEO].source = DSI_VC_SOURCE_VP;
 
-       if (dsi->data->quirks & DSI_QUIRK_DCS_CMD_CONFIG_VC)
+       if ((dsi->data->quirks & DSI_QUIRK_DCS_CMD_CONFIG_VC) &&
+           !(dsi->dsidev->mode_flags & MIPI_DSI_MODE_VIDEO))
                REG_FLD_MOD(dsi, DSI_VC_CTRL(VC_VIDEO), 1, 30, 30); /* DCS_CMD_ENABLE */
 
        dsi_vc_enable(dsi, VC_CMD, 1);