drm/amdgfx/ttm: use wrapper to get ttm memory managers
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-38-airlied@gmail.com
This commit is contained in:
parent
9eca33f4a1
commit
6c28aed6e5
@ -517,8 +517,9 @@ out_put:
|
|||||||
uint64_t amdgpu_amdkfd_get_vram_usage(struct kgd_dev *kgd)
|
uint64_t amdgpu_amdkfd_get_vram_usage(struct kgd_dev *kgd)
|
||||||
{
|
{
|
||||||
struct amdgpu_device *adev = (struct amdgpu_device *)kgd;
|
struct amdgpu_device *adev = (struct amdgpu_device *)kgd;
|
||||||
|
struct ttm_mem_type_manager *vram_man = ttm_manager_type(&adev->mman.bdev, TTM_PL_VRAM);
|
||||||
|
|
||||||
return amdgpu_vram_mgr_usage(&adev->mman.bdev.man[TTM_PL_VRAM]);
|
return amdgpu_vram_mgr_usage(vram_man);
|
||||||
}
|
}
|
||||||
|
|
||||||
uint64_t amdgpu_amdkfd_get_hive_id(struct kgd_dev *kgd)
|
uint64_t amdgpu_amdkfd_get_hive_id(struct kgd_dev *kgd)
|
||||||
|
@ -299,7 +299,7 @@ static void amdgpu_cs_get_threshold_for_moves(struct amdgpu_device *adev,
|
|||||||
{
|
{
|
||||||
s64 time_us, increment_us;
|
s64 time_us, increment_us;
|
||||||
u64 free_vram, total_vram, used_vram;
|
u64 free_vram, total_vram, used_vram;
|
||||||
|
struct ttm_mem_type_manager *vram_man = ttm_manager_type(&adev->mman.bdev, TTM_PL_VRAM);
|
||||||
/* Allow a maximum of 200 accumulated ms. This is basically per-IB
|
/* Allow a maximum of 200 accumulated ms. This is basically per-IB
|
||||||
* throttling.
|
* throttling.
|
||||||
*
|
*
|
||||||
@ -316,7 +316,7 @@ static void amdgpu_cs_get_threshold_for_moves(struct amdgpu_device *adev,
|
|||||||
}
|
}
|
||||||
|
|
||||||
total_vram = adev->gmc.real_vram_size - atomic64_read(&adev->vram_pin_size);
|
total_vram = adev->gmc.real_vram_size - atomic64_read(&adev->vram_pin_size);
|
||||||
used_vram = amdgpu_vram_mgr_usage(&adev->mman.bdev.man[TTM_PL_VRAM]);
|
used_vram = amdgpu_vram_mgr_usage(vram_man);
|
||||||
free_vram = used_vram >= total_vram ? 0 : total_vram - used_vram;
|
free_vram = used_vram >= total_vram ? 0 : total_vram - used_vram;
|
||||||
|
|
||||||
spin_lock(&adev->mm_stats.lock);
|
spin_lock(&adev->mm_stats.lock);
|
||||||
@ -363,7 +363,7 @@ static void amdgpu_cs_get_threshold_for_moves(struct amdgpu_device *adev,
|
|||||||
if (!amdgpu_gmc_vram_full_visible(&adev->gmc)) {
|
if (!amdgpu_gmc_vram_full_visible(&adev->gmc)) {
|
||||||
u64 total_vis_vram = adev->gmc.visible_vram_size;
|
u64 total_vis_vram = adev->gmc.visible_vram_size;
|
||||||
u64 used_vis_vram =
|
u64 used_vis_vram =
|
||||||
amdgpu_vram_mgr_vis_usage(&adev->mman.bdev.man[TTM_PL_VRAM]);
|
amdgpu_vram_mgr_vis_usage(vram_man);
|
||||||
|
|
||||||
if (used_vis_vram < total_vis_vram) {
|
if (used_vis_vram < total_vis_vram) {
|
||||||
u64 free_vis_vram = total_vis_vram - used_vis_vram;
|
u64 free_vis_vram = total_vis_vram - used_vis_vram;
|
||||||
|
@ -3839,7 +3839,7 @@ static int amdgpu_device_reset_sriov(struct amdgpu_device *adev,
|
|||||||
|
|
||||||
amdgpu_virt_init_data_exchange(adev);
|
amdgpu_virt_init_data_exchange(adev);
|
||||||
/* we need recover gart prior to run SMC/CP/SDMA resume */
|
/* we need recover gart prior to run SMC/CP/SDMA resume */
|
||||||
amdgpu_gtt_mgr_recover(&adev->mman.bdev.man[TTM_PL_TT]);
|
amdgpu_gtt_mgr_recover(ttm_manager_type(&adev->mman.bdev, TTM_PL_TT));
|
||||||
|
|
||||||
r = amdgpu_device_fw_loading(adev);
|
r = amdgpu_device_fw_loading(adev);
|
||||||
if (r)
|
if (r)
|
||||||
@ -4037,8 +4037,7 @@ static int amdgpu_do_asic_reset(struct amdgpu_hive_info *hive,
|
|||||||
amdgpu_inc_vram_lost(tmp_adev);
|
amdgpu_inc_vram_lost(tmp_adev);
|
||||||
}
|
}
|
||||||
|
|
||||||
r = amdgpu_gtt_mgr_recover(
|
r = amdgpu_gtt_mgr_recover(ttm_manager_type(&tmp_adev->mman.bdev, TTM_PL_TT));
|
||||||
&tmp_adev->mman.bdev.man[TTM_PL_TT]);
|
|
||||||
if (r)
|
if (r)
|
||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
|
@ -48,9 +48,9 @@ static ssize_t amdgpu_mem_info_gtt_total_show(struct device *dev,
|
|||||||
{
|
{
|
||||||
struct drm_device *ddev = dev_get_drvdata(dev);
|
struct drm_device *ddev = dev_get_drvdata(dev);
|
||||||
struct amdgpu_device *adev = ddev->dev_private;
|
struct amdgpu_device *adev = ddev->dev_private;
|
||||||
|
struct ttm_mem_type_manager *man = ttm_manager_type(&adev->mman.bdev, TTM_PL_TT);
|
||||||
return snprintf(buf, PAGE_SIZE, "%llu\n",
|
return snprintf(buf, PAGE_SIZE, "%llu\n",
|
||||||
(adev->mman.bdev.man[TTM_PL_TT].size) * PAGE_SIZE);
|
man->size * PAGE_SIZE);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -66,9 +66,9 @@ static ssize_t amdgpu_mem_info_gtt_used_show(struct device *dev,
|
|||||||
{
|
{
|
||||||
struct drm_device *ddev = dev_get_drvdata(dev);
|
struct drm_device *ddev = dev_get_drvdata(dev);
|
||||||
struct amdgpu_device *adev = ddev->dev_private;
|
struct amdgpu_device *adev = ddev->dev_private;
|
||||||
|
struct ttm_mem_type_manager *man = ttm_manager_type(&adev->mman.bdev, TTM_PL_TT);
|
||||||
return snprintf(buf, PAGE_SIZE, "%llu\n",
|
return snprintf(buf, PAGE_SIZE, "%llu\n",
|
||||||
amdgpu_gtt_mgr_usage(&adev->mman.bdev.man[TTM_PL_TT]));
|
amdgpu_gtt_mgr_usage(man));
|
||||||
}
|
}
|
||||||
|
|
||||||
static DEVICE_ATTR(mem_info_gtt_total, S_IRUGO,
|
static DEVICE_ATTR(mem_info_gtt_total, S_IRUGO,
|
||||||
@ -87,7 +87,7 @@ static const struct ttm_mem_type_manager_func amdgpu_gtt_mgr_func;
|
|||||||
*/
|
*/
|
||||||
int amdgpu_gtt_mgr_init(struct amdgpu_device *adev, uint64_t gtt_size)
|
int amdgpu_gtt_mgr_init(struct amdgpu_device *adev, uint64_t gtt_size)
|
||||||
{
|
{
|
||||||
struct ttm_mem_type_manager *man = &adev->mman.bdev.man[TTM_PL_TT];
|
struct ttm_mem_type_manager *man = ttm_manager_type(&adev->mman.bdev, TTM_PL_TT);
|
||||||
struct amdgpu_gtt_mgr *mgr;
|
struct amdgpu_gtt_mgr *mgr;
|
||||||
uint64_t start, size;
|
uint64_t start, size;
|
||||||
int ret;
|
int ret;
|
||||||
@ -135,7 +135,7 @@ int amdgpu_gtt_mgr_init(struct amdgpu_device *adev, uint64_t gtt_size)
|
|||||||
*/
|
*/
|
||||||
void amdgpu_gtt_mgr_fini(struct amdgpu_device *adev)
|
void amdgpu_gtt_mgr_fini(struct amdgpu_device *adev)
|
||||||
{
|
{
|
||||||
struct ttm_mem_type_manager *man = &adev->mman.bdev.man[TTM_PL_TT];
|
struct ttm_mem_type_manager *man = ttm_manager_type(&adev->mman.bdev, TTM_PL_TT);
|
||||||
struct amdgpu_gtt_mgr *mgr = man->priv;
|
struct amdgpu_gtt_mgr *mgr = man->priv;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
|
@ -579,13 +579,13 @@ static int amdgpu_info_ioctl(struct drm_device *dev, void *data, struct drm_file
|
|||||||
ui64 = atomic64_read(&adev->num_vram_cpu_page_faults);
|
ui64 = atomic64_read(&adev->num_vram_cpu_page_faults);
|
||||||
return copy_to_user(out, &ui64, min(size, 8u)) ? -EFAULT : 0;
|
return copy_to_user(out, &ui64, min(size, 8u)) ? -EFAULT : 0;
|
||||||
case AMDGPU_INFO_VRAM_USAGE:
|
case AMDGPU_INFO_VRAM_USAGE:
|
||||||
ui64 = amdgpu_vram_mgr_usage(&adev->mman.bdev.man[TTM_PL_VRAM]);
|
ui64 = amdgpu_vram_mgr_usage(ttm_manager_type(&adev->mman.bdev, TTM_PL_VRAM));
|
||||||
return copy_to_user(out, &ui64, min(size, 8u)) ? -EFAULT : 0;
|
return copy_to_user(out, &ui64, min(size, 8u)) ? -EFAULT : 0;
|
||||||
case AMDGPU_INFO_VIS_VRAM_USAGE:
|
case AMDGPU_INFO_VIS_VRAM_USAGE:
|
||||||
ui64 = amdgpu_vram_mgr_vis_usage(&adev->mman.bdev.man[TTM_PL_VRAM]);
|
ui64 = amdgpu_vram_mgr_vis_usage(ttm_manager_type(&adev->mman.bdev, TTM_PL_VRAM));
|
||||||
return copy_to_user(out, &ui64, min(size, 8u)) ? -EFAULT : 0;
|
return copy_to_user(out, &ui64, min(size, 8u)) ? -EFAULT : 0;
|
||||||
case AMDGPU_INFO_GTT_USAGE:
|
case AMDGPU_INFO_GTT_USAGE:
|
||||||
ui64 = amdgpu_gtt_mgr_usage(&adev->mman.bdev.man[TTM_PL_TT]);
|
ui64 = amdgpu_gtt_mgr_usage(ttm_manager_type(&adev->mman.bdev, TTM_PL_TT));
|
||||||
return copy_to_user(out, &ui64, min(size, 8u)) ? -EFAULT : 0;
|
return copy_to_user(out, &ui64, min(size, 8u)) ? -EFAULT : 0;
|
||||||
case AMDGPU_INFO_GDS_CONFIG: {
|
case AMDGPU_INFO_GDS_CONFIG: {
|
||||||
struct drm_amdgpu_info_gds gds_info;
|
struct drm_amdgpu_info_gds gds_info;
|
||||||
@ -608,7 +608,7 @@ static int amdgpu_info_ioctl(struct drm_device *dev, void *data, struct drm_file
|
|||||||
min(adev->gmc.visible_vram_size -
|
min(adev->gmc.visible_vram_size -
|
||||||
atomic64_read(&adev->visible_pin_size),
|
atomic64_read(&adev->visible_pin_size),
|
||||||
vram_gtt.vram_size);
|
vram_gtt.vram_size);
|
||||||
vram_gtt.gtt_size = adev->mman.bdev.man[TTM_PL_TT].size;
|
vram_gtt.gtt_size = ttm_manager_type(&adev->mman.bdev, TTM_PL_TT)->size;
|
||||||
vram_gtt.gtt_size *= PAGE_SIZE;
|
vram_gtt.gtt_size *= PAGE_SIZE;
|
||||||
vram_gtt.gtt_size -= atomic64_read(&adev->gart_pin_size);
|
vram_gtt.gtt_size -= atomic64_read(&adev->gart_pin_size);
|
||||||
return copy_to_user(out, &vram_gtt,
|
return copy_to_user(out, &vram_gtt,
|
||||||
@ -616,14 +616,17 @@ static int amdgpu_info_ioctl(struct drm_device *dev, void *data, struct drm_file
|
|||||||
}
|
}
|
||||||
case AMDGPU_INFO_MEMORY: {
|
case AMDGPU_INFO_MEMORY: {
|
||||||
struct drm_amdgpu_memory_info mem;
|
struct drm_amdgpu_memory_info mem;
|
||||||
|
struct ttm_mem_type_manager *vram_man =
|
||||||
|
ttm_manager_type(&adev->mman.bdev, TTM_PL_VRAM);
|
||||||
|
struct ttm_mem_type_manager *gtt_man =
|
||||||
|
ttm_manager_type(&adev->mman.bdev, TTM_PL_TT);
|
||||||
memset(&mem, 0, sizeof(mem));
|
memset(&mem, 0, sizeof(mem));
|
||||||
mem.vram.total_heap_size = adev->gmc.real_vram_size;
|
mem.vram.total_heap_size = adev->gmc.real_vram_size;
|
||||||
mem.vram.usable_heap_size = adev->gmc.real_vram_size -
|
mem.vram.usable_heap_size = adev->gmc.real_vram_size -
|
||||||
atomic64_read(&adev->vram_pin_size) -
|
atomic64_read(&adev->vram_pin_size) -
|
||||||
AMDGPU_VM_RESERVED_VRAM;
|
AMDGPU_VM_RESERVED_VRAM;
|
||||||
mem.vram.heap_usage =
|
mem.vram.heap_usage =
|
||||||
amdgpu_vram_mgr_usage(&adev->mman.bdev.man[TTM_PL_VRAM]);
|
amdgpu_vram_mgr_usage(vram_man);
|
||||||
mem.vram.max_allocation = mem.vram.usable_heap_size * 3 / 4;
|
mem.vram.max_allocation = mem.vram.usable_heap_size * 3 / 4;
|
||||||
|
|
||||||
mem.cpu_accessible_vram.total_heap_size =
|
mem.cpu_accessible_vram.total_heap_size =
|
||||||
@ -633,16 +636,16 @@ static int amdgpu_info_ioctl(struct drm_device *dev, void *data, struct drm_file
|
|||||||
atomic64_read(&adev->visible_pin_size),
|
atomic64_read(&adev->visible_pin_size),
|
||||||
mem.vram.usable_heap_size);
|
mem.vram.usable_heap_size);
|
||||||
mem.cpu_accessible_vram.heap_usage =
|
mem.cpu_accessible_vram.heap_usage =
|
||||||
amdgpu_vram_mgr_vis_usage(&adev->mman.bdev.man[TTM_PL_VRAM]);
|
amdgpu_vram_mgr_vis_usage(vram_man);
|
||||||
mem.cpu_accessible_vram.max_allocation =
|
mem.cpu_accessible_vram.max_allocation =
|
||||||
mem.cpu_accessible_vram.usable_heap_size * 3 / 4;
|
mem.cpu_accessible_vram.usable_heap_size * 3 / 4;
|
||||||
|
|
||||||
mem.gtt.total_heap_size = adev->mman.bdev.man[TTM_PL_TT].size;
|
mem.gtt.total_heap_size = gtt_man->size;
|
||||||
mem.gtt.total_heap_size *= PAGE_SIZE;
|
mem.gtt.total_heap_size *= PAGE_SIZE;
|
||||||
mem.gtt.usable_heap_size = mem.gtt.total_heap_size -
|
mem.gtt.usable_heap_size = mem.gtt.total_heap_size -
|
||||||
atomic64_read(&adev->gart_pin_size);
|
atomic64_read(&adev->gart_pin_size);
|
||||||
mem.gtt.heap_usage =
|
mem.gtt.heap_usage =
|
||||||
amdgpu_gtt_mgr_usage(&adev->mman.bdev.man[TTM_PL_TT]);
|
amdgpu_gtt_mgr_usage(gtt_man);
|
||||||
mem.gtt.max_allocation = mem.gtt.usable_heap_size * 3 / 4;
|
mem.gtt.max_allocation = mem.gtt.usable_heap_size * 3 / 4;
|
||||||
|
|
||||||
return copy_to_user(out, &mem,
|
return copy_to_user(out, &mem,
|
||||||
|
@ -449,7 +449,7 @@ static bool amdgpu_bo_validate_size(struct amdgpu_device *adev,
|
|||||||
* allow fall back to GTT
|
* allow fall back to GTT
|
||||||
*/
|
*/
|
||||||
if (domain & AMDGPU_GEM_DOMAIN_GTT) {
|
if (domain & AMDGPU_GEM_DOMAIN_GTT) {
|
||||||
man = &adev->mman.bdev.man[TTM_PL_TT];
|
man = ttm_manager_type(&adev->mman.bdev, TTM_PL_TT);
|
||||||
|
|
||||||
if (size < (man->size << PAGE_SHIFT))
|
if (size < (man->size << PAGE_SHIFT))
|
||||||
return true;
|
return true;
|
||||||
@ -458,7 +458,7 @@ static bool amdgpu_bo_validate_size(struct amdgpu_device *adev,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (domain & AMDGPU_GEM_DOMAIN_VRAM) {
|
if (domain & AMDGPU_GEM_DOMAIN_VRAM) {
|
||||||
man = &adev->mman.bdev.man[TTM_PL_VRAM];
|
man = ttm_manager_type(&adev->mman.bdev, TTM_PL_VRAM);
|
||||||
|
|
||||||
if (size < (man->size << PAGE_SHIFT))
|
if (size < (man->size << PAGE_SHIFT))
|
||||||
return true;
|
return true;
|
||||||
|
@ -66,7 +66,7 @@ static int amdgpu_ttm_init_on_chip(struct amdgpu_device *adev,
|
|||||||
unsigned int type,
|
unsigned int type,
|
||||||
uint64_t size)
|
uint64_t size)
|
||||||
{
|
{
|
||||||
struct ttm_mem_type_manager *man = &adev->mman.bdev.man[type];
|
struct ttm_mem_type_manager *man = ttm_manager_type(&adev->mman.bdev, type);
|
||||||
|
|
||||||
man->available_caching = TTM_PL_FLAG_UNCACHED;
|
man->available_caching = TTM_PL_FLAG_UNCACHED;
|
||||||
man->default_caching = TTM_PL_FLAG_UNCACHED;
|
man->default_caching = TTM_PL_FLAG_UNCACHED;
|
||||||
@ -1996,9 +1996,9 @@ void amdgpu_ttm_fini(struct amdgpu_device *adev)
|
|||||||
|
|
||||||
amdgpu_vram_mgr_fini(adev);
|
amdgpu_vram_mgr_fini(adev);
|
||||||
amdgpu_gtt_mgr_fini(adev);
|
amdgpu_gtt_mgr_fini(adev);
|
||||||
ttm_range_man_fini(&adev->mman.bdev, &adev->mman.bdev.man[AMDGPU_PL_GDS]);
|
ttm_range_man_fini(&adev->mman.bdev, ttm_manager_type(&adev->mman.bdev, AMDGPU_PL_GDS));
|
||||||
ttm_range_man_fini(&adev->mman.bdev, &adev->mman.bdev.man[AMDGPU_PL_GWS]);
|
ttm_range_man_fini(&adev->mman.bdev, ttm_manager_type(&adev->mman.bdev, AMDGPU_PL_GWS));
|
||||||
ttm_range_man_fini(&adev->mman.bdev, &adev->mman.bdev.man[AMDGPU_PL_OA]);
|
ttm_range_man_fini(&adev->mman.bdev, ttm_manager_type(&adev->mman.bdev, AMDGPU_PL_OA));
|
||||||
ttm_bo_device_release(&adev->mman.bdev);
|
ttm_bo_device_release(&adev->mman.bdev);
|
||||||
adev->mman.initialized = false;
|
adev->mman.initialized = false;
|
||||||
DRM_INFO("amdgpu: ttm finalized\n");
|
DRM_INFO("amdgpu: ttm finalized\n");
|
||||||
@ -2015,7 +2015,7 @@ void amdgpu_ttm_fini(struct amdgpu_device *adev)
|
|||||||
*/
|
*/
|
||||||
void amdgpu_ttm_set_buffer_funcs_status(struct amdgpu_device *adev, bool enable)
|
void amdgpu_ttm_set_buffer_funcs_status(struct amdgpu_device *adev, bool enable)
|
||||||
{
|
{
|
||||||
struct ttm_mem_type_manager *man = &adev->mman.bdev.man[TTM_PL_VRAM];
|
struct ttm_mem_type_manager *man = ttm_manager_type(&adev->mman.bdev, TTM_PL_VRAM);
|
||||||
uint64_t size;
|
uint64_t size;
|
||||||
int r;
|
int r;
|
||||||
|
|
||||||
@ -2237,7 +2237,7 @@ static int amdgpu_mm_dump_table(struct seq_file *m, void *data)
|
|||||||
unsigned ttm_pl = (uintptr_t)node->info_ent->data;
|
unsigned ttm_pl = (uintptr_t)node->info_ent->data;
|
||||||
struct drm_device *dev = node->minor->dev;
|
struct drm_device *dev = node->minor->dev;
|
||||||
struct amdgpu_device *adev = dev->dev_private;
|
struct amdgpu_device *adev = dev->dev_private;
|
||||||
struct ttm_mem_type_manager *man = &adev->mman.bdev.man[ttm_pl];
|
struct ttm_mem_type_manager *man = ttm_manager_type(&adev->mman.bdev, ttm_pl);
|
||||||
struct drm_printer p = drm_seq_file_printer(m);
|
struct drm_printer p = drm_seq_file_printer(m);
|
||||||
|
|
||||||
man->func->debug(man, &p);
|
man->func->debug(man, &p);
|
||||||
|
@ -82,9 +82,9 @@ static ssize_t amdgpu_mem_info_vram_used_show(struct device *dev,
|
|||||||
{
|
{
|
||||||
struct drm_device *ddev = dev_get_drvdata(dev);
|
struct drm_device *ddev = dev_get_drvdata(dev);
|
||||||
struct amdgpu_device *adev = ddev->dev_private;
|
struct amdgpu_device *adev = ddev->dev_private;
|
||||||
|
struct ttm_mem_type_manager *man = ttm_manager_type(&adev->mman.bdev, TTM_PL_VRAM);
|
||||||
return snprintf(buf, PAGE_SIZE, "%llu\n",
|
return snprintf(buf, PAGE_SIZE, "%llu\n",
|
||||||
amdgpu_vram_mgr_usage(&adev->mman.bdev.man[TTM_PL_VRAM]));
|
amdgpu_vram_mgr_usage(man));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -100,9 +100,9 @@ static ssize_t amdgpu_mem_info_vis_vram_used_show(struct device *dev,
|
|||||||
{
|
{
|
||||||
struct drm_device *ddev = dev_get_drvdata(dev);
|
struct drm_device *ddev = dev_get_drvdata(dev);
|
||||||
struct amdgpu_device *adev = ddev->dev_private;
|
struct amdgpu_device *adev = ddev->dev_private;
|
||||||
|
struct ttm_mem_type_manager *man = ttm_manager_type(&adev->mman.bdev, TTM_PL_VRAM);
|
||||||
return snprintf(buf, PAGE_SIZE, "%llu\n",
|
return snprintf(buf, PAGE_SIZE, "%llu\n",
|
||||||
amdgpu_vram_mgr_vis_usage(&adev->mman.bdev.man[TTM_PL_VRAM]));
|
amdgpu_vram_mgr_vis_usage(man));
|
||||||
}
|
}
|
||||||
|
|
||||||
static ssize_t amdgpu_mem_info_vram_vendor(struct device *dev,
|
static ssize_t amdgpu_mem_info_vram_vendor(struct device *dev,
|
||||||
@ -170,7 +170,7 @@ static const struct ttm_mem_type_manager_func amdgpu_vram_mgr_func;
|
|||||||
*/
|
*/
|
||||||
int amdgpu_vram_mgr_init(struct amdgpu_device *adev)
|
int amdgpu_vram_mgr_init(struct amdgpu_device *adev)
|
||||||
{
|
{
|
||||||
struct ttm_mem_type_manager *man = &adev->mman.bdev.man[TTM_PL_VRAM];
|
struct ttm_mem_type_manager *man = ttm_manager_type(&adev->mman.bdev, TTM_PL_VRAM);
|
||||||
struct amdgpu_vram_mgr *mgr;
|
struct amdgpu_vram_mgr *mgr;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
@ -207,7 +207,7 @@ int amdgpu_vram_mgr_init(struct amdgpu_device *adev)
|
|||||||
*/
|
*/
|
||||||
void amdgpu_vram_mgr_fini(struct amdgpu_device *adev)
|
void amdgpu_vram_mgr_fini(struct amdgpu_device *adev)
|
||||||
{
|
{
|
||||||
struct ttm_mem_type_manager *man = &adev->mman.bdev.man[TTM_PL_VRAM];
|
struct ttm_mem_type_manager *man = ttm_manager_type(&adev->mman.bdev, TTM_PL_VRAM);
|
||||||
struct amdgpu_vram_mgr *mgr = man->priv;
|
struct amdgpu_vram_mgr *mgr = man->priv;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user