Message ID | 20201004192152.3298573-10-robdclark@gmail.com |
---|---|
State | Superseded |
Headers | show |
Series | drm/msm: de-struct_mutex-ification | expand |
On Sun, Oct 04, 2020 at 12:21:41PM -0700, Rob Clark wrote: > From: Rob Clark <robdclark@chromium.org> > > Now that we are not relying on dev->struct_mutex to protect the > ring->submits lists, drop the struct_mutex lock. Reviewed-by: Jordan Crouse <jcrouse@codeaurora.org> > Signed-off-by: Rob Clark <robdclark@chromium.org> > --- > drivers/gpu/drm/msm/msm_gpu.c | 8 +------- > 1 file changed, 1 insertion(+), 7 deletions(-) > > diff --git a/drivers/gpu/drm/msm/msm_gpu.c b/drivers/gpu/drm/msm/msm_gpu.c > index c9ff19a75169..5e351d1c00e9 100644 > --- a/drivers/gpu/drm/msm/msm_gpu.c > +++ b/drivers/gpu/drm/msm/msm_gpu.c > @@ -707,7 +707,7 @@ static void retire_submit(struct msm_gpu *gpu, struct msm_ringbuffer *ring, > > msm_gem_active_put(&msm_obj->base); > msm_gem_unpin_iova(&msm_obj->base, submit->aspace); > - drm_gem_object_put_locked(&msm_obj->base); > + drm_gem_object_put(&msm_obj->base); > } > > pm_runtime_mark_last_busy(&gpu->pdev->dev); > @@ -722,11 +722,8 @@ static void retire_submit(struct msm_gpu *gpu, struct msm_ringbuffer *ring, > > static void retire_submits(struct msm_gpu *gpu) > { > - struct drm_device *dev = gpu->dev; > int i; > > - WARN_ON(!mutex_is_locked(&dev->struct_mutex)); > - > /* Retire the commits starting with highest priority */ > for (i = 0; i < gpu->nr_rings; i++) { > struct msm_ringbuffer *ring = gpu->rb[i]; > @@ -756,15 +753,12 @@ static void retire_submits(struct msm_gpu *gpu) > static void retire_worker(struct work_struct *work) > { > struct msm_gpu *gpu = container_of(work, struct msm_gpu, retire_work); > - struct drm_device *dev = gpu->dev; > int i; > > for (i = 0; i < gpu->nr_rings; i++) > update_fences(gpu, gpu->rb[i], gpu->rb[i]->memptrs->fence); > > - mutex_lock(&dev->struct_mutex); > retire_submits(gpu); > - mutex_unlock(&dev->struct_mutex); > } > > /* call from irq handler to schedule work to retire bo's */ > -- > 2.26.2 > > _______________________________________________ > Freedreno mailing list > Freedreno@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/freedreno
diff --git a/drivers/gpu/drm/msm/msm_gpu.c b/drivers/gpu/drm/msm/msm_gpu.c index c9ff19a75169..5e351d1c00e9 100644 --- a/drivers/gpu/drm/msm/msm_gpu.c +++ b/drivers/gpu/drm/msm/msm_gpu.c @@ -707,7 +707,7 @@ static void retire_submit(struct msm_gpu *gpu, struct msm_ringbuffer *ring, msm_gem_active_put(&msm_obj->base); msm_gem_unpin_iova(&msm_obj->base, submit->aspace); - drm_gem_object_put_locked(&msm_obj->base); + drm_gem_object_put(&msm_obj->base); } pm_runtime_mark_last_busy(&gpu->pdev->dev); @@ -722,11 +722,8 @@ static void retire_submit(struct msm_gpu *gpu, struct msm_ringbuffer *ring, static void retire_submits(struct msm_gpu *gpu) { - struct drm_device *dev = gpu->dev; int i; - WARN_ON(!mutex_is_locked(&dev->struct_mutex)); - /* Retire the commits starting with highest priority */ for (i = 0; i < gpu->nr_rings; i++) { struct msm_ringbuffer *ring = gpu->rb[i]; @@ -756,15 +753,12 @@ static void retire_submits(struct msm_gpu *gpu) static void retire_worker(struct work_struct *work) { struct msm_gpu *gpu = container_of(work, struct msm_gpu, retire_work); - struct drm_device *dev = gpu->dev; int i; for (i = 0; i < gpu->nr_rings; i++) update_fences(gpu, gpu->rb[i], gpu->rb[i]->memptrs->fence); - mutex_lock(&dev->struct_mutex); retire_submits(gpu); - mutex_unlock(&dev->struct_mutex); } /* call from irq handler to schedule work to retire bo's */