Commit bb37eea2 authored by Maarten Lankhorst's avatar Maarten Lankhorst Committed by Tomasz Nowicki
Browse files

UPSTREAM: drm/i915: Use the same vblank worker for atomic unpin



In case of legacy cursor update, the cursor VMA needs to be unpinned
only after vblank. This exceeds the lifetime of the whole atomic commit.

Any trick I attempted to keep the atomic commit alive didn't work, as
drm_atomic_helper_setup_commit() force throttles on any old commit that
wasn't cleaned up.

The only option remaining is to remove the plane from the atomic commit,
and use the same path as the legacy cursor update to clean the state
after vblank.

Changes since previous version:
- Call the memset for plane state immediately when scheduling vblank,
  this prevents a use-after-free in cursor cleanup.

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-4-maarten.lankhorst@linux.intel.com


(cherry picked from commit a441c0ac)

BUG=b:308455498
TEST=Verify Asus PG32UQXR 4K160 mode on Rex using Big Joiner

Change-Id: Idd0714bca5d2904fef91c4da9933178b6e89a01c
Signed-off-by: default avatarRakshith M O <rakshith.m.o@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/5802873


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