drm/amdgpu/ttm: remove man->bdev references.
authorDave Airlie <airlied@redhat.com>
Tue, 4 Aug 2020 02:56:25 +0000 (12:56 +1000)
committerDave Airlie <airlied@redhat.com>
Thu, 6 Aug 2020 03:12:40 +0000 (13:12 +1000)
Just store the device in the private so the link
can be removed from the manager

Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200804025632.3868079-53-airlied@gmail.com
drivers/gpu/drm/amd/amdgpu/amdgpu_vram_mgr.c

index 04436ce..87c6a1e 100644 (file)
@@ -34,6 +34,7 @@ struct amdgpu_vram_mgr {
        spinlock_t lock;
        atomic64_t usage;
        atomic64_t vis_usage;
+       struct amdgpu_device *adev;
 };
 
 static inline struct amdgpu_vram_mgr *to_vram_mgr(struct ttm_mem_type_manager *man)
@@ -196,6 +197,8 @@ int amdgpu_vram_mgr_init(struct amdgpu_device *adev)
        drm_mm_init(&mgr->mm, 0, man->size);
        spin_lock_init(&mgr->lock);
 
+       mgr->adev = adev;
+
        /* Add the two VRAM-related sysfs files */
        ret = sysfs_create_files(&adev->dev->kobj, amdgpu_vram_mgr_attributes);
        if (ret)
@@ -323,8 +326,8 @@ static int amdgpu_vram_mgr_new(struct ttm_mem_type_manager *man,
                               const struct ttm_place *place,
                               struct ttm_mem_reg *mem)
 {
-       struct amdgpu_device *adev = amdgpu_ttm_adev(man->bdev);
        struct amdgpu_vram_mgr *mgr = to_vram_mgr(man);
+       struct amdgpu_device *adev = mgr->adev;
        struct drm_mm *mm = &mgr->mm;
        struct drm_mm_node *nodes;
        enum drm_mm_insert_mode mode;
@@ -441,8 +444,8 @@ error:
 static void amdgpu_vram_mgr_del(struct ttm_mem_type_manager *man,
                                struct ttm_mem_reg *mem)
 {
-       struct amdgpu_device *adev = amdgpu_ttm_adev(man->bdev);
        struct amdgpu_vram_mgr *mgr = to_vram_mgr(man);
+       struct amdgpu_device *adev = mgr->adev;
        struct drm_mm_node *nodes = mem->mm_node;
        uint64_t usage = 0, vis_usage = 0;
        unsigned pages = mem->num_pages;