mirror of
https://github.com/torvalds/linux.git
synced 2026-03-08 03:44:45 +01:00
drm/amdgpu: Wire up MMIO_REMAP placement and User-visible strings
Wire up the conversions and strings for the new MMIO_REMAP placement: * amdgpu_mem_type_to_domain() maps AMDGPU_PL_MMIO_REMAP -> domain * amdgpu_bo_placement_from_domain() accepts the new domain * amdgpu_bo_mem_stats_placement() and amdgpu_bo_print_info() report it * res cursor supports the new placement * fdinfo prints "mmioremap" for the new placement Cc: Christian König <christian.koenig@amd.com> Cc: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Srinivasan Shanmugam <srinivasan.shanmugam@amd.com> Reviewed-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>
This commit is contained in:
parent
357fe94b66
commit
11aaec3566
4 changed files with 18 additions and 0 deletions
|
|
@ -70,6 +70,7 @@ void amdgpu_show_fdinfo(struct drm_printer *p, struct drm_file *file)
|
|||
[AMDGPU_PL_GWS] = "gws",
|
||||
[AMDGPU_PL_OA] = "oa",
|
||||
[AMDGPU_PL_DOORBELL] = "doorbell",
|
||||
[AMDGPU_PL_MMIO_REMAP] = "mmioremap",
|
||||
};
|
||||
unsigned int hw_ip, i;
|
||||
|
||||
|
|
|
|||
|
|
@ -153,6 +153,14 @@ void amdgpu_bo_placement_from_domain(struct amdgpu_bo *abo, u32 domain)
|
|||
c++;
|
||||
}
|
||||
|
||||
if (domain & AMDGPU_GEM_DOMAIN_MMIO_REMAP) {
|
||||
places[c].fpfn = 0;
|
||||
places[c].lpfn = 0;
|
||||
places[c].mem_type = AMDGPU_PL_MMIO_REMAP;
|
||||
places[c].flags = 0;
|
||||
c++;
|
||||
}
|
||||
|
||||
if (domain & AMDGPU_GEM_DOMAIN_GTT) {
|
||||
places[c].fpfn = 0;
|
||||
places[c].lpfn = 0;
|
||||
|
|
@ -1545,6 +1553,8 @@ uint32_t amdgpu_bo_mem_stats_placement(struct amdgpu_bo *bo)
|
|||
return AMDGPU_PL_OA;
|
||||
case AMDGPU_GEM_DOMAIN_DOORBELL:
|
||||
return AMDGPU_PL_DOORBELL;
|
||||
case AMDGPU_GEM_DOMAIN_MMIO_REMAP:
|
||||
return AMDGPU_PL_MMIO_REMAP;
|
||||
default:
|
||||
return TTM_PL_SYSTEM;
|
||||
}
|
||||
|
|
@ -1628,6 +1638,9 @@ u64 amdgpu_bo_print_info(int id, struct amdgpu_bo *bo, struct seq_file *m)
|
|||
case AMDGPU_PL_DOORBELL:
|
||||
placement = "DOORBELL";
|
||||
break;
|
||||
case AMDGPU_PL_MMIO_REMAP:
|
||||
placement = "MMIO REMAP";
|
||||
break;
|
||||
case TTM_PL_SYSTEM:
|
||||
default:
|
||||
placement = "CPU";
|
||||
|
|
|
|||
|
|
@ -167,6 +167,8 @@ static inline unsigned amdgpu_mem_type_to_domain(u32 mem_type)
|
|||
return AMDGPU_GEM_DOMAIN_OA;
|
||||
case AMDGPU_PL_DOORBELL:
|
||||
return AMDGPU_GEM_DOMAIN_DOORBELL;
|
||||
case AMDGPU_PL_MMIO_REMAP:
|
||||
return AMDGPU_GEM_DOMAIN_MMIO_REMAP;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -91,6 +91,7 @@ static inline void amdgpu_res_first(struct ttm_resource *res,
|
|||
break;
|
||||
case TTM_PL_TT:
|
||||
case AMDGPU_PL_DOORBELL:
|
||||
case AMDGPU_PL_MMIO_REMAP:
|
||||
node = to_ttm_range_mgr_node(res)->mm_nodes;
|
||||
while (start >= node->size << PAGE_SHIFT)
|
||||
start -= node++->size << PAGE_SHIFT;
|
||||
|
|
@ -153,6 +154,7 @@ static inline void amdgpu_res_next(struct amdgpu_res_cursor *cur, uint64_t size)
|
|||
break;
|
||||
case TTM_PL_TT:
|
||||
case AMDGPU_PL_DOORBELL:
|
||||
case AMDGPU_PL_MMIO_REMAP:
|
||||
node = cur->node;
|
||||
|
||||
cur->node = ++node;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue