drm/amdgpu: add VISIBLE info in amdgpu_bo_print_info

This allows tools to distinguish between VRAM and visible VRAM.

Use the opportunity to fix locking before accessing bo.

v2: squash in unused variable fix

Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
Pierre-Eric Pelloux-Prayer 2023-06-21 10:42:07 +02:00 committed by Alex Deucher
parent 8923137dbe
commit 818c158fd4

View File

@ -1575,23 +1575,31 @@ u64 amdgpu_bo_print_info(int id, struct amdgpu_bo *bo, struct seq_file *m)
{ {
struct dma_buf_attachment *attachment; struct dma_buf_attachment *attachment;
struct dma_buf *dma_buf; struct dma_buf *dma_buf;
unsigned int domain;
const char *placement; const char *placement;
unsigned int pin_count; unsigned int pin_count;
u64 size; u64 size;
domain = amdgpu_mem_type_to_domain(bo->tbo.resource->mem_type); if (dma_resv_trylock(bo->tbo.base.resv)) {
switch (domain) { unsigned int domain;
case AMDGPU_GEM_DOMAIN_VRAM: domain = amdgpu_mem_type_to_domain(bo->tbo.resource->mem_type);
placement = "VRAM"; switch (domain) {
break; case AMDGPU_GEM_DOMAIN_VRAM:
case AMDGPU_GEM_DOMAIN_GTT: if (amdgpu_bo_in_cpu_visible_vram(bo))
placement = " GTT"; placement = "VRAM VISIBLE";
break; else
case AMDGPU_GEM_DOMAIN_CPU: placement = "VRAM";
default: break;
placement = " CPU"; case AMDGPU_GEM_DOMAIN_GTT:
break; placement = "GTT";
break;
case AMDGPU_GEM_DOMAIN_CPU:
default:
placement = "CPU";
break;
}
dma_resv_unlock(bo->tbo.base.resv);
} else {
placement = "UNKNOWN";
} }
size = amdgpu_bo_size(bo); size = amdgpu_bo_size(bo);