OSDN Git Service

drm/omap: dsi: set trans_mode according to client mode_flags
authorTomi Valkeinen <tomi.valkeinen@ti.com>
Tue, 15 Dec 2020 10:46:32 +0000 (12:46 +0200)
committerTomi Valkeinen <tomi.valkeinen@ti.com>
Tue, 15 Dec 2020 14:17:30 +0000 (16:17 +0200)
The DSI host driver currently ignores the video mode flags in
client->mode_flags. Add the code to take the transfer mode from client's
mode_flags.

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-60-tomi.valkeinen@ti.com
drivers/gpu/drm/omapdrm/dss/dsi.c

index f5972f0..c5682b2 100644 (file)
@@ -5137,6 +5137,13 @@ static int omap_dsi_host_attach(struct mipi_dsi_host *host,
        dsi->config.lp_clk_min = 7000000; // TODO: get from client?
        dsi->config.lp_clk_max = client->lp_rate;
 
+       if (client->mode_flags & MIPI_DSI_MODE_VIDEO_BURST)
+               dsi->config.trans_mode = OMAP_DSS_DSI_BURST_MODE;
+       else if (client->mode_flags & MIPI_DSI_MODE_VIDEO_SYNC_PULSE)
+               dsi->config.trans_mode = OMAP_DSS_DSI_PULSE_MODE;
+       else
+               dsi->config.trans_mode = OMAP_DSS_DSI_EVENT_MODE;
+
        dsi->ulps_auto_idle = false;
 
        return 0;