]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/msm/dsi: set video mode widebus enable bit when widebus is enabled
authorJonathan Marek <jonathan@marek.ca>
Thu, 30 May 2024 05:56:48 +0000 (13:56 +0800)
committerDmitry Baryshkov <dmitry.baryshkov@linaro.org>
Sat, 22 Jun 2024 22:15:39 +0000 (01:15 +0300)
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 <jonathan@marek.ca>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Reviewed-by: Marijn Suijten <marijn.suijten@somainline.org>
Reviewed-by: Jessica Zhang <quic_jesszhan@quicinc.com>
Signed-off-by: Jun Nie <jun.nie@linaro.org>
Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on SM8550-QRD
Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on SM8650-QRD
Tested-by: Neil Armstrong <neil.armstrong@linaro.org> # on SM8650-HDK
Patchwork: https://patchwork.freedesktop.org/patch/596232/
Link: https://lore.kernel.org/r/20240530-msm-drm-dsc-dsi-video-upstream-4-v6-4-2ab1d334c657@linaro.org
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
drivers/gpu/drm/msm/dsi/dsi_host.c

index a50f4dda59410790d7a4cb9a839c3d4c8d43ba11..47f5858334f6118f35480b55ef4d79a932bbbbb6 100644 (file)
@@ -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;