From 24a43666e389bf76d2d94bbd2a88d607ead46ac2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Sch=C3=BCrmann?= Date: Thu, 20 Nov 2025 09:39:00 +0100 Subject: [PATCH] amd: replace uses of radeon_info::name with ac_get_family_name() Part-of: --- src/amd/common/ac_gpu_info.c | 17 +++++++++-------- src/amd/common/ac_gpu_info.h | 1 - src/amd/common/ac_null_device.c | 1 - src/amd/common/ac_rgp.c | 2 +- src/amd/vulkan/radv_physical_device.c | 8 +++++--- src/amd/vulkan/radv_rra.c | 3 ++- src/gallium/drivers/radeonsi/si_get.c | 7 ++++--- src/gallium/drivers/radeonsi/si_pipe.c | 4 ++-- .../winsys/radeon/drm/radeon_drm_winsys.c | 1 - 9 files changed, 23 insertions(+), 21 deletions(-) diff --git a/src/amd/common/ac_gpu_info.c b/src/amd/common/ac_gpu_info.c index 9adc9180122..663508c4d09 100644 --- a/src/amd/common/ac_gpu_info.c +++ b/src/amd/common/ac_gpu_info.c @@ -455,10 +455,11 @@ ac_query_gpu_info(int fd, void *dev_p, struct radeon_info *info, info->pci_rev_id = device_info.pci_rev; info->vce_harvest_config = device_info.vce_harvest_config; + info->family = CHIP_UNKNOWN; + #define identify_chip2(asic, chipname) \ if (ASICREV_IS(device_info.external_rev, asic)) { \ info->family = CHIP_##chipname; \ - info->name = #chipname; \ } #define identify_chip(chipname) identify_chip2(chipname, chipname) @@ -552,6 +553,12 @@ ac_query_gpu_info(int fd, void *dev_p, struct radeon_info *info, break; } + if (info->family == CHIP_UNKNOWN) { + fprintf(stderr, "amdgpu: unknown (family_id, chip_external_rev): (%u, %u)\n", + device_info.family, device_info.external_rev); + return AC_QUERY_GPU_INFO_UNIMPLEMENTED_HW; + } + if (info->ip[AMD_IP_GFX].ver_major == 12 && info->ip[AMD_IP_GFX].ver_minor == 0) info->gfx_level = GFX12; else if (info->ip[AMD_IP_GFX].ver_major == 11 && info->ip[AMD_IP_GFX].ver_minor == 5) @@ -585,12 +592,6 @@ ac_query_gpu_info(int fd, void *dev_p, struct radeon_info *info, strstr(info->marketing_name, "Frontier")); } - if (!info->name) { - fprintf(stderr, "amdgpu: unknown (family_id, chip_external_rev): (%u, %u)\n", - device_info.family, device_info.external_rev); - return AC_QUERY_GPU_INFO_UNIMPLEMENTED_HW; - } - #define VCN_IP_VERSION(mj, mn, rv) (((mj) << 16) | ((mn) << 8) | (rv)) for (unsigned i = AMD_IP_VCN_DEC; i <= AMD_IP_VCN_JPEG; ++i) { @@ -1641,7 +1642,7 @@ void ac_compute_device_uuid(const struct radeon_info *info, char *uuid, size_t s void ac_print_gpu_info(FILE *f, const struct radeon_info *info, int fd) { fprintf(f, "Device info:\n"); - fprintf(f, " name = %s\n", info->name); + fprintf(f, " name = %s\n", ac_get_family_name(info->family)); fprintf(f, " marketing_name = %s\n", info->marketing_name); char proc_fd[32]; diff --git a/src/amd/common/ac_gpu_info.h b/src/amd/common/ac_gpu_info.h index 0df3bff1054..4097398fbbb 100644 --- a/src/amd/common/ac_gpu_info.h +++ b/src/amd/common/ac_gpu_info.h @@ -33,7 +33,6 @@ struct amd_ip_info { struct radeon_info { /* Device info. */ - const char *name; const char *marketing_name; uint32_t num_se; /* only enabled SEs */ uint32_t num_rb; /* only enabled RBs */ diff --git a/src/amd/common/ac_null_device.c b/src/amd/common/ac_null_device.c index 0a7290442b6..a02cea69262 100644 --- a/src/amd/common/ac_null_device.c +++ b/src/amd/common/ac_null_device.c @@ -19,7 +19,6 @@ ac_null_device_create(struct radeon_info *gpu_info, const char *family) if (!strcasecmp(family, ac_get_family_name(i))) { /* Override family and gfx_level. */ gpu_info->family = i; - gpu_info->name = ac_get_family_name(i); if (gpu_info->family >= CHIP_GFX1200) gpu_info->gfx_level = GFX12; diff --git a/src/amd/common/ac_rgp.c b/src/amd/common/ac_rgp.c index 107189b0e9c..a3564042309 100644 --- a/src/amd/common/ac_rgp.c +++ b/src/amd/common/ac_rgp.c @@ -463,7 +463,7 @@ static void ac_sqtt_fill_asic_info(const struct radeon_info *rad_info, chunk->l1_cache_size = rad_info->tcp_cache_size; chunk->lds_size = rad_info->lds_size_per_workgroup; - strncpy(chunk->gpu_name, rad_info->name, SQTT_GPU_NAME_MAX_SIZE - 1); + strncpy(chunk->gpu_name, ac_get_family_name(rad_info->family), SQTT_GPU_NAME_MAX_SIZE - 1); chunk->alu_per_clock = 0.0; chunk->texture_per_clock = 0.0; diff --git a/src/amd/vulkan/radv_physical_device.c b/src/amd/vulkan/radv_physical_device.c index d6982133792..1b42a3b456b 100644 --- a/src/amd/vulkan/radv_physical_device.c +++ b/src/amd/vulkan/radv_physical_device.c @@ -2326,7 +2326,8 @@ radv_physical_device_try_create(struct radv_instance *instance, drmDevicePtr drm /* Allow all devices on a virtual winsys, otherwise do a basic support check. */ if (!radv_is_gpu_supported(&pdev->info)) { if (instance->debug_flags & RADV_DEBUG_STARTUP) - fprintf(stderr, "radv: info: device '%s' is not supported by RADV.\n", pdev->info.name); + fprintf(stderr, "radv: info: device '%s' is not supported by RADV.\n", + ac_get_family_name(pdev->info.family)); result = VK_ERROR_INCOMPATIBLE_DRIVER; goto fail_wsi; } @@ -2358,9 +2359,10 @@ radv_physical_device_try_create(struct radv_instance *instance, drmDevicePtr drm pdev->emulate_astc = instance->drirc.features.vk_require_astc; #endif - snprintf(pdev->name, sizeof(pdev->name), "AMD RADV %s%s", pdev->info.name, radv_get_compiler_string(pdev)); + const char *name = ac_get_family_name(pdev->info.family); + snprintf(pdev->name, sizeof(pdev->name), "AMD RADV %s%s", name, radv_get_compiler_string(pdev)); snprintf(pdev->marketing_name, sizeof(pdev->name), "%s (RADV %s%s)", - pdev->info.marketing_name ? pdev->info.marketing_name : "AMD Unknown", pdev->info.name, + pdev->info.marketing_name ? pdev->info.marketing_name : "AMD Unknown", name, radv_get_compiler_string(pdev)); if (pdev->info.gfx_level >= GFX12) diff --git a/src/amd/vulkan/radv_rra.c b/src/amd/vulkan/radv_rra.c index 40803773684..01aa976b763 100644 --- a/src/amd/vulkan/radv_rra.c +++ b/src/amd/vulkan/radv_rra.c @@ -177,7 +177,8 @@ rra_dump_asic_info(const struct radeon_info *gpu_info, FILE *output) .rev_id = gpu_info->pci_rev_id, }; - strncpy(asic_info.device_name, gpu_info->marketing_name ? gpu_info->marketing_name : gpu_info->name, + strncpy(asic_info.device_name, + gpu_info->marketing_name ? gpu_info->marketing_name : ac_get_family_name(gpu_info->family), RRA_FILE_DEVICE_NAME_MAX_SIZE - 1); fwrite(&asic_info, sizeof(struct rra_asic_info), 1, output); diff --git a/src/gallium/drivers/radeonsi/si_get.c b/src/gallium/drivers/radeonsi/si_get.c index 9594eeb9915..35e8924e874 100644 --- a/src/gallium/drivers/radeonsi/si_get.c +++ b/src/gallium/drivers/radeonsi/si_get.c @@ -688,12 +688,13 @@ static void si_init_renderer_string(struct si_screen *sscreen) { char first_name[256], second_name[32] = {}, kernel_version[128] = {}; struct utsname uname_data; + const char *name = ac_get_family_name(sscreen->info.family); snprintf(first_name, sizeof(first_name), "%s", - sscreen->info.marketing_name ? sscreen->info.marketing_name : sscreen->info.name); + sscreen->info.marketing_name ? sscreen->info.marketing_name : name); memset(second_name, 0, sizeof(second_name)); - for (unsigned i = 0; sscreen->info.name[i] && i < ARRAY_SIZE(second_name) - 1; i++) - second_name[i] = tolower(sscreen->info.name[i]); + for (unsigned i = 0; name[i] && i < ARRAY_SIZE(second_name) - 1; i++) + second_name[i] = tolower(name[i]); if (uname(&uname_data) == 0) snprintf(kernel_version, sizeof(kernel_version), ", %s", uname_data.release); diff --git a/src/gallium/drivers/radeonsi/si_pipe.c b/src/gallium/drivers/radeonsi/si_pipe.c index 349623f5178..be7b1c012d9 100644 --- a/src/gallium/drivers/radeonsi/si_pipe.c +++ b/src/gallium/drivers/radeonsi/si_pipe.c @@ -1192,8 +1192,8 @@ static void si_disk_cache_create(struct si_screen *sscreen) _mesa_sha1_final(&ctx, sha1); mesa_bytes_to_hex(cache_id, sha1, 20); - sscreen->disk_shader_cache = disk_cache_create(sscreen->info.name, cache_id, - sscreen->info.address32_hi); + sscreen->disk_shader_cache = disk_cache_create(ac_get_family_name(sscreen->info.family), + cache_id, sscreen->info.address32_hi); } static void si_set_max_shader_compiler_threads(struct pipe_screen *screen, unsigned max_threads) diff --git a/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c b/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c index 5dda8e963fd..05836d43f93 100644 --- a/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c +++ b/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c @@ -244,7 +244,6 @@ static bool do_winsys_init(struct radeon_drm_winsys *ws) #define CHIPSET(pci_id, cfamily) \ case pci_id: \ ws->info.family = CHIP_##cfamily; \ - ws->info.name = #cfamily; \ ws->gen = DRV_SI; \ break; #include "pci_ids/radeonsi_pci_ids.h"