From: Jonathan Marek <jonat...@marek.ca>

The value returned by msm_dsi_wide_bus_enabled() doesn't match what the
driver is doing in video mode. Fix that by actually enabling widebus for
video mode.

Fixes: efcbd6f9cdeb ("drm/msm/dsi: Enable widebus for DSI")
Signed-off-by: Jonathan Marek <jonat...@marek.ca>
Reviewed-by: Dmitry Baryshkov <dmitry.barysh...@linaro.org>
Reviewed-by: Marijn Suijten <marijn.suij...@somainline.org>
Reviewed-by: Jessica Zhang <quic_jessz...@quicinc.com>
Signed-off-by: Jun Nie <jun....@linaro.org>
---
 drivers/gpu/drm/msm/dsi/dsi_host.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/msm/dsi/dsi_host.c 
b/drivers/gpu/drm/msm/dsi/dsi_host.c
index a50f4dda5941..47f5858334f6 100644
--- a/drivers/gpu/drm/msm/dsi/dsi_host.c
+++ b/drivers/gpu/drm/msm/dsi/dsi_host.c
@@ -754,6 +754,8 @@ static void dsi_ctrl_enable(struct msm_dsi_host *msm_host,
                data |= DSI_VID_CFG0_TRAFFIC_MODE(dsi_get_traffic_mode(flags));
                data |= DSI_VID_CFG0_DST_FORMAT(dsi_get_vid_fmt(mipi_fmt));
                data |= DSI_VID_CFG0_VIRT_CHANNEL(msm_host->channel);
+               if (msm_dsi_host_is_wide_bus_enabled(&msm_host->base))
+                       data |= DSI_VID_CFG0_DATABUS_WIDEN;
                dsi_write(msm_host, REG_DSI_VID_CFG0, data);
 
                /* Do not swap RGB colors */
@@ -778,7 +780,6 @@ static void dsi_ctrl_enable(struct msm_dsi_host *msm_host,
                        if (cfg_hnd->minor >= MSM_DSI_6G_VER_MINOR_V1_3)
                                data |= DSI_CMD_MODE_MDP_CTRL2_BURST_MODE;
 
-                       /* TODO: Allow for video-mode support once tested/fixed 
*/
                        if (msm_dsi_host_is_wide_bus_enabled(&msm_host->base))
                                data |= DSI_CMD_MODE_MDP_CTRL2_DATABUS_WIDEN;
 

-- 
2.34.1

Reply via email to