Re: [PATCH v4 14/39] drm/msm/dp: introduce max_streams for DP controller MST support
From: Dmitry Baryshkov
Date: Thu May 21 2026 - 08:14:22 EST
On Thu, May 21, 2026 at 07:34:32PM +0800, Yongxing Mou wrote:
>
>
> On 4/12/2026 1:59 AM, Dmitry Baryshkov wrote:
> > On Fri, Apr 10, 2026 at 05:33:49PM +0800, Yongxing Mou wrote:
> > > From: Abhinav Kumar <quic_abhinavk@xxxxxxxxxxx>
> > > @@ -2740,7 +2741,8 @@ static int msm_dp_ctrl_clk_init(struct msm_dp_ctrl *msm_dp_ctrl)
> > > if (rc)
> > > return rc;
> > > - for (i = DP_STREAM_0; i < DP_STREAM_MAX; i++) {
> > > + ctrl->num_pixel_clks = 0;
> > > + for (i = DP_STREAM_0; i < max_stream; i++) {
> >
> > Why? I think the code was fine with getting up to DP_STREAM_MAX clocks.
> Sure.. will change max_stream -> DP_STREAM_MAX next version.
> > In fact, I'd rather use that instead of the hardcoded value for
> > determining how many streams can be there. Think of the old DTs which
> > didn't have extra stream clocks. We still need to support those.
> >
> The current logic only assigns num streams to dp->max_stream when
> desc->mst_streams == num_pixel_clks, otherwise set to 1 which mean sst.
> I would like to introduce a switch in the driver to control the number of
> streams, rather than having it fully determined by the DTs.
Why?
> Do you think it would be acceptable to use:
> dp->max_stream = min(num_pixel_clks, desc->mst_streams)?
We know that num_pixel_clks <= desc->mst_streams. Otherwise DT is wrong
and should not have been comitted. So, the min(a,b) has a known return
value of num_pixel_clks.
>
> > > ctrl->pixel_clk[i] = devm_clk_get(dev, pixel_clks[i]);
> > > if (i == 0 && IS_ERR(ctrl->pixel_clk[i]))
--
With best wishes
Dmitry