Commit 0e52a2f6 authored by Ville Syrjälä's avatar Ville Syrjälä Committed by Tomasz Nowicki
Browse files

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: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: default avatarMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
Reviewed-by: default avatarUma 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: default avatarRakshith M O <rakshith.m.o@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/5802872


Reviewed-by: default avatarManasi Navare <navaremanasi@chromium.org>
Signed-off-by: default avatarHubert Mazur <hmazur@google.com>
parent 5d8b9f64
Loading
Loading
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please to comment