From 96aaf2fd6ca6b542a809ed930d51461dc505dc29 Mon Sep 17 00:00:00 2001 From: Guochun Huang Date: Fri, 2 May 2025 17:22:32 +0800 Subject: [PATCH] drm/rockchip: dsi: transfer WMS/WMC packet use HS DCS long write command DSI works in command mode, using long packet DCS commands WMC and WMS to send video signals at high speed. Change-Id: Ib95e9e2228d6393f85f7d3e53918d538f34d9b72 Signed-off-by: Guochun Huang --- drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c b/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c index f8ecb01f355b..9bf44962097c 100644 --- a/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c +++ b/drivers/gpu/drm/bridge/synopsys/dw-mipi-dsi.c @@ -592,6 +592,15 @@ static void dw_mipi_dsi_set_mode(struct dw_mipi_dsi *dsi, dsi_write(dsi, DSI_MODE_CFG, ENABLE_VIDEO_MODE); dw_mipi_dsi_video_mode_config(dsi); } else { + u32 val = 0; + + /* DSI work in command mode, using long packet DCS commands + * WMC and WMS to send video signals at high speed. + */ + val = dsi_read(dsi, DSI_CMD_MODE_CFG); + val &= ~DCS_LW_TX_LP; + dsi_write(dsi, DSI_CMD_MODE_CFG, val); + dsi_write(dsi, DSI_MODE_CFG, ENABLE_CMD_MODE); }