BACKPORT: drm/i915: Use vblank worker to unpin old legacy cursor fb safely
The cursor hardware only does sync updates, and thus the hardware will be scanning out from the old fb until the next start of vblank. So in order to make the legacy cursor fastpath actually safe we should not unpin the old fb until we're sure the hardware has ceased accessing it. The simplest approach is to just use a vblank work here to do the delayed unpin. Not 100% sure it's a good idea to put this onto the same high priority vblank worker as eg. our timing critical gamma updates. But let's keep it simple for now, and it we later discover that this is causing problems we can think about adding a lower priority worker for such things. This patch is slightly reworked by Maarten Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Signed-off-by:Ville Syrjälä <ville.syrjala@linux.intel.com> Signed-off-by:
Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Reviewed-by:
Uma Shankar <uma.shankar@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20240522053341.137592-3-maarten.lankhorst@linux.intel.com (cherry picked from commit bb8624de) Conflicts: drivers/gpu/drm/i915/display/intel_display.c Remove header file that is not available on kernel 6.6. BUG=b:308455498 TEST=Verify Asus PG32UQXR 4K160 mode on Rex using Big Joiner Change-Id: I9e21bfdd0e5707d06644ee74454cd82f9dba7d8d Signed-off-by:
Rakshith M O <rakshith.m.o@intel.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/5802872 Reviewed-by:
Manasi Navare <navaremanasi@chromium.org> Signed-off-by:
Hubert Mazur <hmazur@google.com>
Loading
Please sign in to comment