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:Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Reviewed-by:
Uma 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:
Rakshith M O <rakshith.m.o@intel.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/5802873 Reviewed-by:
Manasi Navare <navaremanasi@chromium.org> Reviewed-by:
Sean Paul <sean@poorly.run> Signed-off-by:
Hubert Mazur <hmazur@google.com>
Loading
Please sign in to comment