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,14 +1575,18 @@ 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;
if (dma_resv_trylock(bo->tbo.base.resv)) {
unsigned int domain;
domain = amdgpu_mem_type_to_domain(bo->tbo.resource->mem_type); domain = amdgpu_mem_type_to_domain(bo->tbo.resource->mem_type);
switch (domain) { switch (domain) {
case AMDGPU_GEM_DOMAIN_VRAM: case AMDGPU_GEM_DOMAIN_VRAM:
if (amdgpu_bo_in_cpu_visible_vram(bo))
placement = "VRAM VISIBLE";
else
placement = "VRAM"; placement = "VRAM";
break; break;
case AMDGPU_GEM_DOMAIN_GTT: case AMDGPU_GEM_DOMAIN_GTT:
@ -1593,6 +1597,10 @@ u64 amdgpu_bo_print_info(int id, struct amdgpu_bo *bo, struct seq_file *m)
placement = "CPU"; placement = "CPU";
break; break;
} }
dma_resv_unlock(bo->tbo.base.resv);
} else {
placement = "UNKNOWN";
}
size = amdgpu_bo_size(bo); size = amdgpu_bo_size(bo);
seq_printf(m, "\t\t0x%08x: %12lld byte %s", seq_printf(m, "\t\t0x%08x: %12lld byte %s",