aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/qxl/qxl_debugfs.c2
-rw-r--r--drivers/gpu/drm/qxl/qxl_release.c9
2 files changed, 3 insertions, 8 deletions
diff --git a/drivers/gpu/drm/qxl/qxl_debugfs.c b/drivers/gpu/drm/qxl/qxl_debugfs.c
index a4a63fd84803..6911b8c44492 100644
--- a/drivers/gpu/drm/qxl/qxl_debugfs.c
+++ b/drivers/gpu/drm/qxl/qxl_debugfs.c
@@ -57,7 +57,6 @@ qxl_debugfs_buffers_info(struct seq_file *m, void *data)
57 struct qxl_device *qdev = node->minor->dev->dev_private; 57 struct qxl_device *qdev = node->minor->dev->dev_private;
58 struct qxl_bo *bo; 58 struct qxl_bo *bo;
59 59
60 spin_lock(&qdev->release_lock);
61 list_for_each_entry(bo, &qdev->gem.objects, list) { 60 list_for_each_entry(bo, &qdev->gem.objects, list) {
62 struct reservation_object_list *fobj; 61 struct reservation_object_list *fobj;
63 int rel; 62 int rel;
@@ -71,7 +70,6 @@ qxl_debugfs_buffers_info(struct seq_file *m, void *data)
71 (unsigned long)bo->gem_base.size, 70 (unsigned long)bo->gem_base.size,
72 bo->pin_count, rel); 71 bo->pin_count, rel);
73 } 72 }
74 spin_unlock(&qdev->release_lock);
75 return 0; 73 return 0;
76} 74}
77 75
diff --git a/drivers/gpu/drm/qxl/qxl_release.c b/drivers/gpu/drm/qxl/qxl_release.c
index 15158c5a5b3a..828d47e90dce 100644
--- a/drivers/gpu/drm/qxl/qxl_release.c
+++ b/drivers/gpu/drm/qxl/qxl_release.c
@@ -71,7 +71,7 @@ static long qxl_fence_wait(struct fence *fence, bool intr, signed long timeout)
71retry: 71retry:
72 sc++; 72 sc++;
73 73
74 if (fence_is_signaled_locked(fence)) 74 if (fence_is_signaled(fence))
75 goto signaled; 75 goto signaled;
76 76
77 qxl_io_notify_oom(qdev); 77 qxl_io_notify_oom(qdev);
@@ -80,11 +80,11 @@ retry:
80 if (!qxl_queue_garbage_collect(qdev, true)) 80 if (!qxl_queue_garbage_collect(qdev, true))
81 break; 81 break;
82 82
83 if (fence_is_signaled_locked(fence)) 83 if (fence_is_signaled(fence))
84 goto signaled; 84 goto signaled;
85 } 85 }
86 86
87 if (fence_is_signaled_locked(fence)) 87 if (fence_is_signaled(fence))
88 goto signaled; 88 goto signaled;
89 89
90 if (have_drawable_releases || sc < 4) { 90 if (have_drawable_releases || sc < 4) {
@@ -457,8 +457,6 @@ void qxl_release_fence_buffer_objects(struct qxl_release *release)
457 glob = bo->glob; 457 glob = bo->glob;
458 458
459 spin_lock(&glob->lru_lock); 459 spin_lock(&glob->lru_lock);
460 /* acquire release_lock to protect bo->resv->fence and its contents */
461 spin_lock(&qdev->release_lock);
462 460
463 list_for_each_entry(entry, &release->bos, head) { 461 list_for_each_entry(entry, &release->bos, head) {
464 bo = entry->bo; 462 bo = entry->bo;
@@ -468,7 +466,6 @@ void qxl_release_fence_buffer_objects(struct qxl_release *release)
468 ttm_bo_add_to_lru(bo); 466 ttm_bo_add_to_lru(bo);
469 __ttm_bo_unreserve(bo); 467 __ttm_bo_unreserve(bo);
470 } 468 }
471 spin_unlock(&qdev->release_lock);
472 spin_unlock(&glob->lru_lock); 469 spin_unlock(&glob->lru_lock);
473 ww_acquire_fini(&release->ticket); 470 ww_acquire_fini(&release->ticket);
474} 471}