Message ID | 20250207223159.14132-3-ville.syrjala@linux.intel.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | drm/i915/vrr: Fix DSB+VRR usage for PTL+ | expand |
On 2/8/2025 4:01 AM, Ville Syrjala wrote: > From: Ville Syrjälä <ville.syrjala@linux.intel.com> > > We don't really want legacy cursor updates to trigger > VRR pushes because these can happen willy nilly and we > generally want more precise control over the pushes. > The fastpath in intel_legacy_cursor_update() doesn't > send pushes, but if we punt to the full commit path > (with the flip completion short circuited) we are currently > sending pushes. Skip those as well so that they don't > interfere with the push handling from normal commits. > > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com> > --- > drivers/gpu/drm/i915/display/intel_crtc.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_crtc.c b/drivers/gpu/drm/i915/display/intel_crtc.c > index e69b28779ac5..8fa3e64d4d52 100644 > --- a/drivers/gpu/drm/i915/display/intel_crtc.c > +++ b/drivers/gpu/drm/i915/display/intel_crtc.c > @@ -714,7 +714,8 @@ void intel_pipe_update_end(struct intel_atomic_state *state, > * which would cause the next frame to terminate already at vmin > * vblank start instead of vmax vblank start. > */ > - intel_vrr_send_push(NULL, new_crtc_state); > + if (!state->base.legacy_cursor_update) > + intel_vrr_send_push(NULL, new_crtc_state); > > local_irq_enable(); >
diff --git a/drivers/gpu/drm/i915/display/intel_crtc.c b/drivers/gpu/drm/i915/display/intel_crtc.c index e69b28779ac5..8fa3e64d4d52 100644 --- a/drivers/gpu/drm/i915/display/intel_crtc.c +++ b/drivers/gpu/drm/i915/display/intel_crtc.c @@ -714,7 +714,8 @@ void intel_pipe_update_end(struct intel_atomic_state *state, * which would cause the next frame to terminate already at vmin * vblank start instead of vmax vblank start. */ - intel_vrr_send_push(NULL, new_crtc_state); + if (!state->base.legacy_cursor_update) + intel_vrr_send_push(NULL, new_crtc_state); local_irq_enable();