Re: [PATCH v3 2/4] arm64: dts: sc7180: Specify "data-lanes" for DSI host output
From: Philip Chen <hidden>
Date: 2021-10-29 23:25:12
Also in:
linux-arm-msm, lkml
Hi Stephen, On Fri, Oct 29, 2021 at 4:16 PM Stephen Boyd [off-list ref] wrote:
Quoting Philip Chen (2021-10-29 15:27:41)quoted
MSM DSI host driver actually parses "data-lanes" in DT and compare it with the number of DSI lanes the bridge driver sets for mipi_dsi_device. So we need to always specify "data-lanes" for the DSI host output. As of now, "data-lanes" is added to ti-sn65dsi86 dts fragment, but missing in parade-ps8640 dts fragment, which requires a fixup.I don't see data-lanes required in the schema, and dsi_host_parse_lane_data() seems happy to continue without it. I do see that num_data_lanes isn't set though. Does this patch fix it?
The problem I see is from dsi_host_attach(). If there is no "data-lanes" in DT, num_data_lanes would be 0. Then dsi_host_attach() would return -EINVAL.
quoted hunk ↗ jump to hunk
----8<----diff --git a/drivers/gpu/drm/msm/dsi/dsi_host.cb/drivers/gpu/drm/msm/dsi/dsi_host.c index e269df285136..f6fba07220e5 100644--- a/drivers/gpu/drm/msm/dsi/dsi_host.c +++ b/drivers/gpu/drm/msm/dsi/dsi_host.c@@ -1696,6 +1696,7 @@ static int dsi_host_parse_lane_data(structmsm_dsi_host *msm_host, if (!prop) { DRM_DEV_DEBUG(dev, "failed to find data lane mapping, using default\n"); + msm_host->num_data_lanes = 4; return 0; }
I haven't tried. But I think it can fix the problem I described above. Would you like to send it as a separate patch? Or I can do it.