drm/msm: Decouple vma tracking from obj lock
authorRob Clark <robdclark@chromium.org>
Mon, 20 Mar 2023 14:43:26 +0000 (07:43 -0700)
committerRob Clark <robdclark@chromium.org>
Sat, 25 Mar 2023 23:31:44 +0000 (16:31 -0700)
commitb14b8c5f0eaf363e33c5410c96a6259dee6bd78e
tree427296db2846db1d53cfafa590d3dd94935c3027
parentfc2f07566a2cb198eb5902684163e7c4f5309619
drm/msm: Decouple vma tracking from obj lock

We need to use the inuse count to track that a BO is pinned until
we have the hw_fence.  But we want to remove the obj lock from the
job_run() path as this could deadlock against reclaim/shrinker
(because it is blocking the hw_fence from eventually being signaled).
So split that tracking out into a per-vma lock with narrower scope.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Patchwork: https://patchwork.freedesktop.org/patch/527839/
Link: https://lore.kernel.org/r/20230320144356.803762-5-robdclark@gmail.com
drivers/gpu/drm/msm/msm_gem.h
drivers/gpu/drm/msm/msm_gem_vma.c
drivers/gpu/drm/msm/msm_ringbuffer.c