]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
drm/msm/dp: Disable wide bus support for SDM845
authorJames A. MacInnes <james.a.macinnes@gmail.com>
Wed, 12 Feb 2025 23:03:46 +0000 (15:03 -0800)
committerDmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Sun, 8 Jun 2025 22:31:42 +0000 (01:31 +0300)
When widebus was enabled for DisplayPort in commit c7c412202623
("drm/msm/dp: enable widebus on all relevant chipsets") it was clarified
that it is only supported on DPU 5.0.0 onwards which includes SC7180 on
DPU revision 6.2.  However, this patch missed that the description
structure for SC7180 is also reused for SDM845 (because of identical
io_start address) which is only DPU 4.0.0, leading to a wrongly enbled
widebus feature and corruption on that platform.

Create a separate msm_dp_desc_sdm845 structure for this SoC compatible,
with the wide_bus_supported flag turned off.

Fixes: c7c412202623 ("drm/msm/dp: enable widebus on all relevant chipsets")
Signed-off-by: James A. MacInnes <james.a.macinnes@gmail.com>
[DB: reworded commit text following Marijn's suggestion]
Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Patchwork: https://patchwork.freedesktop.org/patch/636944/
Link: https://lore.kernel.org/r/20250212-sdm845_dp-v2-1-4954e51458f4@gmail.com
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
drivers/gpu/drm/msm/dp/dp_display.c

index 386c4669c831ebc0d4b567086cde8d818bcdd095..a48e6db4f156a1feed5a370dabf633eae91cfb14 100644 (file)
@@ -128,6 +128,11 @@ static const struct msm_dp_desc msm_dp_desc_sa8775p[] = {
        {}
 };
 
+static const struct msm_dp_desc msm_dp_desc_sdm845[] = {
+       { .io_start = 0x0ae90000, .id = MSM_DP_CONTROLLER_0 },
+       {}
+};
+
 static const struct msm_dp_desc msm_dp_desc_sc7180[] = {
        { .io_start = 0x0ae90000, .id = MSM_DP_CONTROLLER_0, .wide_bus_supported = true },
        {}
@@ -180,7 +185,7 @@ static const struct of_device_id msm_dp_dt_match[] = {
        { .compatible = "qcom,sc8180x-edp", .data = &msm_dp_desc_sc8180x },
        { .compatible = "qcom,sc8280xp-dp", .data = &msm_dp_desc_sc8280xp },
        { .compatible = "qcom,sc8280xp-edp", .data = &msm_dp_desc_sc8280xp },
-       { .compatible = "qcom,sdm845-dp", .data = &msm_dp_desc_sc7180 },
+       { .compatible = "qcom,sdm845-dp", .data = &msm_dp_desc_sdm845 },
        { .compatible = "qcom,sm8350-dp", .data = &msm_dp_desc_sc7180 },
        { .compatible = "qcom,sm8650-dp", .data = &msm_dp_desc_sm8650 },
        { .compatible = "qcom,x1e80100-dp", .data = &msm_dp_desc_x1e80100 },