On Wed, Oct 16, 2024 at 06:21:11PM -0700, 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] > Signed-off-by: Jessica Zhang <quic_jesszhan@xxxxxxxxxxx> > --- > drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c | 86 ++++++++++++ > 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(+), 123 deletions(-) > I tried applying the seamingly ready part of the series (patches 3-12), but this one fails with too many rejects because of the 3ae133b0192b ("drm/msm/dpu: move CRTC resource assignment to dpu_encoder_virt_atomic_check"), which we picked through msm-fixes. Unfortunately I can not pick those without a preliminary rebase and cross-check of this patch and the next one. -- With best wishes Dmitry