Re: [PATCH 05/21] drm/msm/dpu: move resource allocation to CRTC

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Aug 30, 2024 at 07:42:52PM GMT, Dmitry Baryshkov wrote:
> On Thu, Aug 29, 2024 at 01:48:26PM GMT, Jessica Zhang wrote:
> > From: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx>
> > 
> > All resource allocation is centered around the LMs. Then other blocks
> > (except DSCs) are allocated basing on the LMs that was selected, and LM
> > powers up the CRTC rather than the encoder.
> > 
> > Moreover if at some point the driver supports encoder cloning,
> > allocating resources from the encoder will be incorrect, as all clones
> > will have different encoder IDs, while LMs are to be shared by these
> > encoders.
> > 
> > Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx>
> > [quic_abhinavk@xxxxxxxxxxx: Refactored resource allocation for CDM]
> > Signed-off-by: Abhinav Kumar <quic_abhinavk@xxxxxxxxxxx>
> > [quic_jesszhan@xxxxxxxxxxx: Changed to grabbing exising global state and
> > dropped clearing num_mixers in crtc_disable]
> 
> Hmm, I still see the chunk in dpu_crtc_disable(). I think the chunk is
> correct so that if there is a disable/enable pair of calls with no
> intermediate mode_set then num_mixers carry over the correct value.

As a second thought: maybe it should be moved to the next patch.

> 
> > Signed-off-by: Jessica Zhang <quic_jesszhan@xxxxxxxxxxx>
> > ---
> >  drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c    |  89 +++++++++++-
> >  drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c | 201 +++++++++++-----------------
> >  drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.h |  19 +++
> >  3 files changed, 183 insertions(+), 126 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c
> > index 4c1be2f0555f..3296b0650056 100644
> > --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c
> > +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c
> > @@ -1091,9 +1091,6 @@ static void dpu_crtc_disable(struct drm_crtc *crtc,
> >  
> >  	dpu_core_perf_crtc_update(crtc, 0);
> >  
> > -	memset(cstate->mixers, 0, sizeof(cstate->mixers));
> > -	cstate->num_mixers = 0;
> > -
> >  	/* disable clk & bw control until clk & bw properties are set */
> >  	cstate->bw_control = false;
> >  	cstate->bw_split_vote = false;
> 
> -- 
> With best wishes
> Dmitry

-- 
With best wishes
Dmitry



[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux