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)
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)
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;
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;