diff options
author | Rob Clark <robdclark@chromium.org> | 2023-03-20 07:43:32 -0700 |
---|---|---|
committer | Rob Clark <robdclark@chromium.org> | 2023-03-25 16:31:44 -0700 |
commit | e4f020c6a05db73eac49b7c3b3650251be374200 (patch) | |
tree | 4fc15a84aaf6115b0ba7d01699e93b6be3d81356 /drivers/gpu/drm/msm/msm_drv.c | |
parent | 17b704f1c0fb9150551567cb7a5414fb761b57ea (diff) |
drm/msm: Switch idr_lock to spinlock
Needed to idr_preload() which returns with preemption disabled.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Patchwork: https://patchwork.freedesktop.org/patch/527846/
Link: https://lore.kernel.org/r/20230320144356.803762-11-robdclark@gmail.com
Diffstat (limited to 'drivers/gpu/drm/msm/msm_drv.c')
-rw-r--r-- | drivers/gpu/drm/msm/msm_drv.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c index aca48c868c14..ce1a77b607d1 100644 --- a/drivers/gpu/drm/msm/msm_drv.c +++ b/drivers/gpu/drm/msm/msm_drv.c @@ -918,13 +918,11 @@ static int wait_fence(struct msm_gpu_submitqueue *queue, uint32_t fence_id, * retired, so if the fence is not found it means there is nothing * to wait for */ - ret = mutex_lock_interruptible(&queue->idr_lock); - if (ret) - return ret; + spin_lock(&queue->idr_lock); fence = idr_find(&queue->fence_idr, fence_id); if (fence) fence = dma_fence_get_rcu(fence); - mutex_unlock(&queue->idr_lock); + spin_unlock(&queue->idr_lock); if (!fence) return 0; |