On Mon, Jan 06, 2025 at 04:21:43PM +0800, Jun Nie wrote: > Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> 于2025年1月4日周六 01:51写道: > > > > On Fri, Jan 03, 2025 at 11:49:07PM +0800, Jun Nie wrote: > > > Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> 于2024年12月20日周五 07:46写道: > > > > > > > > On Thu, Dec 19, 2024 at 03:49:33PM +0800, Jun Nie wrote: > > > > > > > > > #ifndef DPU_MAX_DE_CURVES > > > > > #define DPU_MAX_DE_CURVES 3 > > > > > #endif > > > > > diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c > > > > > index 57ccb73c45683..b5c1ad2a75594 100644 > > > > > --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c > > > > > +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c > > > > > @@ -1474,7 +1474,7 @@ static void _dpu_plane_atomic_disable(struct drm_plane *plane) > > > > > trace_dpu_plane_disable(DRMID(plane), false, > > > > > pstate->pipe[i].multirect_mode); > > > > > > > > > > - if (pipe->sspp && i == 1) { > > > > > + if (pipe->sspp && pipe->multirect_index == DPU_SSPP_RECT_1) { > > > > > > > > Separate change, please. Also I'm not sure how does that work with the > > > > shared SSPP case that I pointed to in one of the previous replies. > > > > > > Maybe we can add a peer member in the pipe to reference each other, then we have > > > chance to use multirect across all pipes in all planes. > > > > I'd rather not. We have pairs of pipes. I'd rather see the code stay the > > same way: processing one pair at the same time. > > I mean only use the peer only when the SSPP multi-rect pips cross > planes. This shall not change > too much to current SSPP management. Still no. Please please don't add extra 'peer' member. There should be no need to have one. > > > > > > > > > > > > > > > > > pipe->multirect_index = DPU_SSPP_RECT_SOLO; > > > > > pipe->multirect_mode = DPU_SSPP_MULTIRECT_NONE; > > > > > -- With best wishes Dmitry