From fd1930b035f9db89d0747f338726663b4e22f8d4 Mon Sep 17 00:00:00 2001 From: Peyton Lee Date: Thu, 5 Jun 2025 17:21:20 +0800 Subject: [PATCH] amd: add vpe_version vpe_version describes which generation of vpe capabilities a chip has. Signed-off-by: Peyton Lee Part-of: --- src/amd/common/ac_gpu_info.c | 6 ++++++ src/amd/common/ac_gpu_info.h | 1 + src/amd/common/amd_family.h | 10 ++++++++++ 3 files changed, 17 insertions(+) diff --git a/src/amd/common/ac_gpu_info.c b/src/amd/common/ac_gpu_info.c index 55f97b03ead..1e308018455 100644 --- a/src/amd/common/ac_gpu_info.c +++ b/src/amd/common/ac_gpu_info.c @@ -963,6 +963,12 @@ ac_query_gpu_info(int fd, void *dev_p, struct radeon_info *info, break; } + if (info->ip[AMD_IP_VPE].num_queues) + info->vpe_ip_version = (enum vpe_version)VPE_VERSION_VALUE( + info->ip[AMD_IP_VPE].ver_major, + info->ip[AMD_IP_VPE].ver_minor, + info->ip[AMD_IP_VPE].ver_rev); + /* Set which chips have dedicated VRAM. */ info->has_dedicated_vram = !(device_info.ids_flags & AMDGPU_IDS_FLAGS_FUSION); diff --git a/src/amd/common/ac_gpu_info.h b/src/amd/common/ac_gpu_info.h index 40a1eb93f91..877b2445d57 100644 --- a/src/amd/common/ac_gpu_info.h +++ b/src/amd/common/ac_gpu_info.h @@ -220,6 +220,7 @@ struct radeon_info { enum vcn_version vcn_ip_version; enum sdma_version sdma_ip_version; enum rt_version rt_ip_version; + enum vpe_version vpe_ip_version; /* Kernel & winsys capabilities. */ uint32_t drm_major; /* version */ diff --git a/src/amd/common/amd_family.h b/src/amd/common/amd_family.h index 767a3b96303..630750654df 100644 --- a/src/amd/common/amd_family.h +++ b/src/amd/common/amd_family.h @@ -218,6 +218,16 @@ enum vcn_version{ VCN_5_0_1, }; +#define VPE_VERSION_VALUE(major, minor, rev) (((major) << 16) | ((minor) << 8) | (rev)) + +enum vpe_version { + VPE_UNKNOWN = 0, + VPE_6_1_0 = VPE_VERSION_VALUE(6, 1, 0), + VPE_6_1_1 = VPE_VERSION_VALUE(6, 1, 1), + VPE_6_1_2 = VPE_VERSION_VALUE(6, 1, 2), + VPE_6_1_3 = VPE_VERSION_VALUE(6, 1, 3), +}; + #define SDMA_VERSION_VALUE(major, minor) (((major) << 8) | (minor)) enum sdma_version {