On Wed, 2025-12-03 at 15:15 +0200, Ville Syrjälä wrote:
> On Mon, Dec 01, 2025 at 03:24:55PM +0200, Jouni Högander wrote:
> > Currently plane id bit is set in crtc_state->async_flip_planes only
> > when
> > async flip toggle workaround is needed. We want to utilize
> > crtc_state->async_flip_planes further in Selective Fetch
> > calculation.
> > 
> > Signed-off-by: Jouni Högander <[email protected]>
> > ---
> >  drivers/gpu/drm/i915/display/intel_plane.c | 10 ++++++++--
> >  1 file changed, 8 insertions(+), 2 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/i915/display/intel_plane.c
> > b/drivers/gpu/drm/i915/display/intel_plane.c
> > index 7b7619d59251..de0a69c55582 100644
> > --- a/drivers/gpu/drm/i915/display/intel_plane.c
> > +++ b/drivers/gpu/drm/i915/display/intel_plane.c
> > @@ -603,8 +603,7 @@ static int
> > intel_plane_atomic_calc_changes(const struct intel_crtc_state
> > *old_cr
> >     if (intel_plane_do_async_flip(plane, old_crtc_state,
> > new_crtc_state)) {
> >             new_crtc_state->do_async_flip = true;
> >             new_crtc_state->async_flip_planes |= BIT(plane-
> > >id);
> > -   } else if (plane->need_async_flip_toggle_wa &&
> > -              new_crtc_state->uapi.async_flip) {
> > +   } else if (new_crtc_state->uapi.async_flip) {
> 
> I'd get rid of the if-else construct here now, and just do something
> like:
> 
> if (intel_plane_do_async_flip(...))
>       new_crtc_state->do_async_flip = true;
> 
> if (new_crtc_state->uapi.async_flip) {
>       /* ... */
>       new_crtc_state->async_flip_planes |= BIT(plane->id);
> }
> 
> We should probably also move the plane->async_flip check
> out from intel_plane_do_async_flip() and just make it a
> drm_WARN_ON(..., uapi.async_flip && !plane->async_flip).
> But that's probably better left for a separate patch.

I have sent a patch for this:

https://patchwork.freedesktop.org/series/159086/

BR,
Jouni Högander

Reply via email to