drm/radeon: fix incorrect use of the lru_lock
authorChristian König <christian.koenig@amd.com>
Mon, 7 Aug 2017 12:03:54 +0000 (14:03 +0200)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 17 Aug 2017 19:46:00 +0000 (15:46 -0400)
The BO manager has its own lock and doesn't use the lru_lock.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/radeon/radeon_ttm.c

index 50f60a587648deb5c868996364bcd94baf91c740..bf69bf9086bf2acb03509fdc0cf6d52e5442f2fe 100644 (file)
@@ -1030,19 +1030,17 @@ int radeon_mmap(struct file *filp, struct vm_area_struct *vma)
 static int radeon_mm_dump_table(struct seq_file *m, void *data)
 {
        struct drm_info_node *node = (struct drm_info_node *)m->private;
-       unsigned ttm_pl = *(int *)node->info_ent->data;
+       unsigned ttm_pl = *(int*)node->info_ent->data;
        struct drm_device *dev = node->minor->dev;
        struct radeon_device *rdev = dev->dev_private;
-       struct drm_mm *mm = (struct drm_mm *)rdev->mman.bdev.man[ttm_pl].priv;
-       struct ttm_bo_global *glob = rdev->mman.bdev.glob;
+       struct ttm_mem_type_manager *man = &rdev->mman.bdev.man[ttm_pl];
        struct drm_printer p = drm_seq_file_printer(m);
 
-       spin_lock(&glob->lru_lock);
-       drm_mm_print(mm, &p);
-       spin_unlock(&glob->lru_lock);
+       man->func->debug(man, &p);
        return 0;
 }
 
+
 static int ttm_pl_vram = TTM_PL_VRAM;
 static int ttm_pl_tt = TTM_PL_TT;