diff options
author | Rob Clark <robdclark@chromium.org> | 2022-08-02 08:51:36 -0700 |
---|---|---|
committer | Rob Clark <robdclark@chromium.org> | 2022-08-27 09:32:44 -0700 |
commit | 05ba44b3704e2115251c340fc72db609a0b97f3b (patch) | |
tree | 3aa23a174d9cafd82adb251d9013a7eff660d319 /drivers/gpu/drm/msm/msm_drv.c | |
parent | fc1dd04c3841c45e2bc811ed96af62af5fc77911 (diff) | |
download | lwn-05ba44b3704e2115251c340fc72db609a0b97f3b.tar.gz lwn-05ba44b3704e2115251c340fc72db609a0b97f3b.zip |
drm/msm: Split out idr_lock
Otherwise if we hit reclaim pinning objects in the submit path, we'll be
blocking retire_worker trying to free a submit.
Signed-off-by: Rob Clark <robdclark@chromium.org>
Patchwork: https://patchwork.freedesktop.org/patch/496116/
Link: https://lore.kernel.org/r/20220802155152.1727594-4-robdclark@gmail.com
Diffstat (limited to 'drivers/gpu/drm/msm/msm_drv.c')
-rw-r--r-- | drivers/gpu/drm/msm/msm_drv.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c index 1ed4cd09dbf8..d7ca025457b6 100644 --- a/drivers/gpu/drm/msm/msm_drv.c +++ b/drivers/gpu/drm/msm/msm_drv.c @@ -883,13 +883,13 @@ 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->lock); + ret = mutex_lock_interruptible(&queue->idr_lock); if (ret) return ret; fence = idr_find(&queue->fence_idr, fence_id); if (fence) fence = dma_fence_get_rcu(fence); - mutex_unlock(&queue->lock); + mutex_unlock(&queue->idr_lock); if (!fence) return 0; |