From 2267c148031702c8f8d3afff22f696d6cca7217e Mon Sep 17 00:00:00 2001 From: Pierre-Eric Pelloux-Prayer Date: Wed, 29 Apr 2026 15:01:56 +0200 Subject: [PATCH] ac/info: add gfx12.1 identification MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Not the full support yet, just the id part so the family/gfx_level fields are set to the proper values. Reviewed-by: Marek Olšák Part-of: --- src/amd/common/ac_gpu_info.c | 12 +++++++++--- src/amd/common/amd_family.c | 3 +++ src/amd/common/amd_family.h | 2 ++ 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/amd/common/ac_gpu_info.c b/src/amd/common/ac_gpu_info.c index 8e532322e96..2e1792a85f8 100644 --- a/src/amd/common/ac_gpu_info.c +++ b/src/amd/common/ac_gpu_info.c @@ -724,8 +724,12 @@ ac_identify_chip(struct radeon_info *info, const struct drm_amdgpu_info_device * identify_chip(GFX1170); break; case FAMILY_NV4: - identify_chip(GFX1200); - identify_chip(GFX1201); + if (info->ip[AMD_IP_GFX].ver_minor == 0) { + identify_chip(GFX1200); + identify_chip(GFX1201); + } else if (info->ip[AMD_IP_GFX].ver_minor == 1) { + info->family = CHIP_GFX1210; + } break; } @@ -735,7 +739,9 @@ ac_identify_chip(struct radeon_info *info, const struct drm_amdgpu_info_device * return false; } - if (info->ip[AMD_IP_GFX].ver_major == 12 && info->ip[AMD_IP_GFX].ver_minor == 0) + if (info->ip[AMD_IP_GFX].ver_major == 12 && info->ip[AMD_IP_GFX].ver_minor == 1) + info->gfx_level = GFX12_1; + else 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 == 7) info->gfx_level = GFX11_7; diff --git a/src/amd/common/amd_family.c b/src/amd/common/amd_family.c index 6337f1404c0..de86a22161b 100644 --- a/src/amd/common/amd_family.c +++ b/src/amd/common/amd_family.c @@ -62,6 +62,7 @@ const char *ac_get_family_name(enum radeon_family family) CASE(GFX1170); CASE(GFX1200); CASE(GFX1201); + CASE(GFX1210); #undef CASE default: UNREACHABLE("Unknown GPU family"); @@ -70,6 +71,8 @@ const char *ac_get_family_name(enum radeon_family family) enum amd_gfx_level ac_get_gfx_level(enum radeon_family family) { + if (family >= CHIP_GFX1210) + return GFX12_1; if (family >= CHIP_GFX1200) return GFX12; if (family >= CHIP_GFX1170) diff --git a/src/amd/common/amd_family.h b/src/amd/common/amd_family.h index 01856b1386a..f8f7ae9fc76 100644 --- a/src/amd/common/amd_family.h +++ b/src/amd/common/amd_family.h @@ -132,6 +132,7 @@ enum radeon_family /* GFX12 (RDNA 4) */ CHIP_GFX1200, /* Radeon 9060 */ CHIP_GFX1201, /* Radeon 9070 */ + CHIP_GFX1210, CHIP_LAST, }; @@ -155,6 +156,7 @@ enum amd_gfx_level GFX11_5, GFX11_7, GFX12, + GFX12_1, NUM_GFX_VERSIONS, };