> -----Original Message----- > From: Intel-gfx <intel-gfx-bounces@xxxxxxxxxxxxxxxxxxxxx> On Behalf Of Maarten > Lankhorst > Sent: Thursday, June 29, 2023 9:05 PM > To: intel-gfx@xxxxxxxxxxxxxxxxxxxxx > Subject: [PATCH 1/2] drm/i915: Swap ggtt_vma during legacy cursor > update > > Xe is lacking the ability to re-use the ggtt_vma when updating cursor. > Instead of pinning from the new plane_state, move the ggtt_vma from > old_plane_state to new_plane_state. > > Signed-off-by: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> > --- > drivers/gpu/drm/i915/display/intel_cursor.c | 5 ++--- > 1 file changed, 2 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_cursor.c > b/drivers/gpu/drm/i915/display/intel_cursor.c > index 4962247911d41..6f34098ea314d 100644 > --- a/drivers/gpu/drm/i915/display/intel_cursor.c > +++ b/drivers/gpu/drm/i915/display/intel_cursor.c > @@ -688,9 +688,8 @@ intel_legacy_cursor_update(struct drm_plane *_plane, > if (ret) > goto out_free; > > - ret = intel_plane_pin_fb(new_plane_state); > - if (ret) > - goto out_free; > + /* magic trick! */ > + swap(new_plane_state->ggtt_vma, old_plane_state->ggtt_vma); There are failures in CI due to the change, this causes device busy issue. https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_120018v1/shard-dg2-11/igt@kms_async_flips@test-cursor@xxxxxxxxxxxxxxxx Please cross check once. Regards, Uma Shankar > intel_frontbuffer_flush(to_intel_frontbuffer(new_plane_state->hw.fb), > ORIGIN_CURSOR_UPDATE); > -- > 2.39.2