aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
diff options
context:
space:
mode:
authorChristian König <christian.koenig@amd.com>2017-08-07 11:46:49 -0400
committerAlex Deucher <alexander.deucher@amd.com>2017-08-17 15:46:03 -0400
commit3c848bb38aca1f7fd23edeb867b89d714a2e6ce2 (patch)
tree37886a411c494568d6ba4c82176ca327680b520b /drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
parent9255d77d8cfd714f336a48168a9dada32912b19a (diff)
drm/amdgpu: move vram usage tracking into the vram manager v2
Looks like a better place for this. v2: use atomic64_t members instead 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>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
index 889f96fcfc81..29cd5dabf8b5 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
@@ -455,10 +455,10 @@ static int amdgpu_info_ioctl(struct drm_device *dev, void *data, struct drm_file
455 ui64 = atomic64_read(&adev->num_vram_cpu_page_faults); 455 ui64 = atomic64_read(&adev->num_vram_cpu_page_faults);
456 return copy_to_user(out, &ui64, min(size, 8u)) ? -EFAULT : 0; 456 return copy_to_user(out, &ui64, min(size, 8u)) ? -EFAULT : 0;
457 case AMDGPU_INFO_VRAM_USAGE: 457 case AMDGPU_INFO_VRAM_USAGE:
458 ui64 = atomic64_read(&adev->vram_usage); 458 ui64 = amdgpu_vram_mgr_usage(&adev->mman.bdev.man[TTM_PL_VRAM]);
459 return copy_to_user(out, &ui64, min(size, 8u)) ? -EFAULT : 0; 459 return copy_to_user(out, &ui64, min(size, 8u)) ? -EFAULT : 0;
460 case AMDGPU_INFO_VIS_VRAM_USAGE: 460 case AMDGPU_INFO_VIS_VRAM_USAGE:
461 ui64 = atomic64_read(&adev->vram_vis_usage); 461 ui64 = amdgpu_vram_mgr_vis_usage(&adev->mman.bdev.man[TTM_PL_VRAM]);
462 return copy_to_user(out, &ui64, min(size, 8u)) ? -EFAULT : 0; 462 return copy_to_user(out, &ui64, min(size, 8u)) ? -EFAULT : 0;
463 case AMDGPU_INFO_GTT_USAGE: 463 case AMDGPU_INFO_GTT_USAGE:
464 ui64 = amdgpu_gtt_mgr_usage(&adev->mman.bdev.man[TTM_PL_TT]); 464 ui64 = amdgpu_gtt_mgr_usage(&adev->mman.bdev.man[TTM_PL_TT]);
@@ -497,7 +497,8 @@ static int amdgpu_info_ioctl(struct drm_device *dev, void *data, struct drm_file
497 mem.vram.total_heap_size = adev->mc.real_vram_size; 497 mem.vram.total_heap_size = adev->mc.real_vram_size;
498 mem.vram.usable_heap_size = 498 mem.vram.usable_heap_size =
499 adev->mc.real_vram_size - adev->vram_pin_size; 499 adev->mc.real_vram_size - adev->vram_pin_size;
500 mem.vram.heap_usage = atomic64_read(&adev->vram_usage); 500 mem.vram.heap_usage =
501 amdgpu_vram_mgr_usage(&adev->mman.bdev.man[TTM_PL_VRAM]);
501 mem.vram.max_allocation = mem.vram.usable_heap_size * 3 / 4; 502 mem.vram.max_allocation = mem.vram.usable_heap_size * 3 / 4;
502 503
503 mem.cpu_accessible_vram.total_heap_size = 504 mem.cpu_accessible_vram.total_heap_size =
@@ -506,7 +507,7 @@ static int amdgpu_info_ioctl(struct drm_device *dev, void *data, struct drm_file
506 adev->mc.visible_vram_size - 507 adev->mc.visible_vram_size -
507 (adev->vram_pin_size - adev->invisible_pin_size); 508 (adev->vram_pin_size - adev->invisible_pin_size);
508 mem.cpu_accessible_vram.heap_usage = 509 mem.cpu_accessible_vram.heap_usage =
509 atomic64_read(&adev->vram_vis_usage); 510 amdgpu_vram_mgr_vis_usage(&adev->mman.bdev.man[TTM_PL_VRAM]);
510 mem.cpu_accessible_vram.max_allocation = 511 mem.cpu_accessible_vram.max_allocation =
511 mem.cpu_accessible_vram.usable_heap_size * 3 / 4; 512 mem.cpu_accessible_vram.usable_heap_size * 3 / 4;
512 513