Re: [PATCH v3 2/4] arm64: dts: sc7180: Specify "data-lanes" for DSI host output
From: Philip Chen
Date: Fri Oct 29 2021 - 19:25:12 EST
Hi Stephen,
On Fri, Oct 29, 2021 at 4:16 PM Stephen Boyd <swboyd@xxxxxxxxxxxx> wrote:
>
> Quoting Philip Chen (2021-10-29 15:27:41)
> > 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.
>
> ----8<----
> diff --git a/drivers/gpu/drm/msm/dsi/dsi_host.c
> b/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(struct
> msm_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.