drm/i915: Add stable memory region names
At the moment memory region names are a bit too varied and too inconsistent to be used for ABI purposes, like for upcoming fdinfo memory stats. System memory can be either system or system-ttm. Local memory has the instance number appended, others do not. Not only incosistent but thi kind of implementation detail is uninteresting for intended users of fdinfo memory stats. Add a stable name always formed as $type$instance. Could have chosen a different stable scheme, but I think any consistent and stable scheme should do just fine. Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Reviewed-by: Aravind Iddamsetty <aravind.iddamsetty@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20231107101806.608990-5-tvrtko.ursulin@linux.intel.com
This commit is contained in:
parent
dc1a277507
commit
3b38d35157
@ -216,6 +216,22 @@ static int intel_memory_region_memtest(struct intel_memory_region *mem,
|
||||
return err;
|
||||
}
|
||||
|
||||
static const char *region_type_str(u16 type)
|
||||
{
|
||||
switch (type) {
|
||||
case INTEL_MEMORY_SYSTEM:
|
||||
return "system";
|
||||
case INTEL_MEMORY_LOCAL:
|
||||
return "local";
|
||||
case INTEL_MEMORY_STOLEN_LOCAL:
|
||||
return "stolen-local";
|
||||
case INTEL_MEMORY_STOLEN_SYSTEM:
|
||||
return "stolen-system";
|
||||
default:
|
||||
return "unknown";
|
||||
}
|
||||
}
|
||||
|
||||
struct intel_memory_region *
|
||||
intel_memory_region_create(struct drm_i915_private *i915,
|
||||
resource_size_t start,
|
||||
@ -244,6 +260,9 @@ intel_memory_region_create(struct drm_i915_private *i915,
|
||||
mem->type = type;
|
||||
mem->instance = instance;
|
||||
|
||||
snprintf(mem->uabi_name, sizeof(mem->uabi_name), "%s%u",
|
||||
region_type_str(type), instance);
|
||||
|
||||
mutex_init(&mem->objects.lock);
|
||||
INIT_LIST_HEAD(&mem->objects.list);
|
||||
|
||||
|
@ -80,6 +80,7 @@ struct intel_memory_region {
|
||||
u16 instance;
|
||||
enum intel_region_id id;
|
||||
char name[16];
|
||||
char uabi_name[16];
|
||||
bool private; /* not for userspace */
|
||||
|
||||
struct {
|
||||
|
Loading…
x
Reference in New Issue
Block a user