Re: [PATCH 07/21] drm/msm/dpu: Support dynamic DSC number
From: Dmitry Baryshkov
Date: Tue Sep 03 2024 - 04:39:13 EST
On Tue, 3 Sept 2024 at 10:48, Jun Nie <jun.nie@xxxxxxxxxx> wrote:
>
> Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> 于2024年8月29日周四 19:10写道:
> >
> > On Thu, 29 Aug 2024 at 13:20, Jun Nie <jun.nie@xxxxxxxxxx> wrote:
> > >
> > > Do not assume DSC number as 2. Because there are 4 DSC in
> > > quad pipe case.
> >
> > Please expand the commit message. You prefer brevity, but your
> > comments lack clarifications.
>
> Is below message OK?
>
> Current DSC number is fixed to 2 for any DSC usage case. While there are
> more usage case that involve different number of DSC engine, such 4 in
> quad-pipe case with bonded-DSI scenario. So retrieve the real number with
> this change.
Please rewrite the last sentence. See
Documentation/process/submitting-patches.rst "Describe your changes".
>
> >
> > >
> > > Signed-off-by: Jun Nie <jun.nie@xxxxxxxxxx>
> > > ---
> > > drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 4 ++--
> > > 1 file changed, 2 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
> > > index 6bdd9c21ff3ed..05b203be2a9bc 100644
> > > --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
> > > +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
> > > @@ -553,9 +553,9 @@ bool dpu_encoder_use_dsc_merge(struct drm_encoder *drm_enc)
> > > if (dpu_enc->phys_encs[i])
> > > intf_count++;
> > >
> > > - /* See dpu_encoder_get_topology, we only support 2:2:1 topology */
> > > + /* DSC and mixer are mapped 1:1, so reuse the mixer number */
> >
> > Why? DSCmerge is a valid topology even if it is not supported yet.
>
> DSC merge is already supported in 2:2:1 topology without this patch
> set. This change
> is to get real DSC number in 4:4:2 topology, so that DSC merge can be
> enabled for the
> case.
Yep, 3DMerge, not DSC Merge. Basically the comment about 1:1 is
incorrect. See sde_rm.h
Also it's "number of mixers", not "mixer number" (two different things).
>
> >
> > > if (dpu_enc->dsc)
> > > - num_dsc = 2;
> > > + num_dsc = dpu_crtc_get_lm_num(drm_enc->crtc->state);
> > >
> > > return (num_dsc > 0) && (num_dsc > intf_count);
> > > }
> > >
> > > --
> > > 2.34.1
> > >
> >
> >
> > --
> > With best wishes
> > Dmitry
--
With best wishes
Dmitry