From 75a783ea73e8c0ae61a0b0680a27f993ac2e740d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timur=20Krist=C3=B3f?= Date: Tue, 8 Mar 2022 17:00:31 +0100 Subject: [PATCH] ac: Query the amdgpu MEC firmware version. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit MEC (Micro Engine Compute) is the firmware which is responsible for the compute-only queues on AMD GPUs. It is present on GFX7 and newer. This patch will query the version of this firmware and print it among the others. Signed-off-by: Timur Kristóf Reviewed-by: Marek Olšák Reviewed-by: Bas Nieuwenhuizen Part-of: --- src/amd/common/ac_gpu_info.c | 9 +++++++++ src/amd/common/ac_gpu_info.h | 2 ++ 2 files changed, 11 insertions(+) diff --git a/src/amd/common/ac_gpu_info.c b/src/amd/common/ac_gpu_info.c index 48c599b5984..6084dc82075 100644 --- a/src/amd/common/ac_gpu_info.c +++ b/src/amd/common/ac_gpu_info.c @@ -591,6 +591,13 @@ bool ac_query_gpu_info(int fd, void *dev_p, struct radeon_info *info, return false; } + r = amdgpu_query_firmware_version(dev, AMDGPU_INFO_FW_GFX_MEC, 0, 0, &info->mec_fw_version, + &info->mec_fw_feature); + if (r) { + fprintf(stderr, "amdgpu: amdgpu_query_firmware_version(mec) failed.\n"); + return false; + } + r = amdgpu_query_firmware_version(dev, AMDGPU_INFO_FW_GFX_PFP, 0, 0, &info->pfp_fw_version, &info->pfp_fw_feature); if (r) { @@ -1390,6 +1397,8 @@ void ac_print_gpu_info(struct radeon_info *info, FILE *f) fprintf(f, " ib_alignment = %u\n", info->ib_alignment); fprintf(f, " me_fw_version = %i\n", info->me_fw_version); fprintf(f, " me_fw_feature = %i\n", info->me_fw_feature); + fprintf(f, " mec_fw_version = %i\n", info->mec_fw_version); + fprintf(f, " mec_fw_feature = %i\n", info->mec_fw_feature); fprintf(f, " pfp_fw_version = %i\n", info->pfp_fw_version); fprintf(f, " pfp_fw_feature = %i\n", info->pfp_fw_feature); fprintf(f, " ce_fw_version = %i\n", info->ce_fw_version); diff --git a/src/amd/common/ac_gpu_info.h b/src/amd/common/ac_gpu_info.h index 97453b4f530..ea6a80a4d41 100644 --- a/src/amd/common/ac_gpu_info.h +++ b/src/amd/common/ac_gpu_info.h @@ -134,6 +134,8 @@ struct radeon_info { unsigned ib_alignment; /* both start and size alignment */ uint32_t me_fw_version; uint32_t me_fw_feature; + uint32_t mec_fw_version; + uint32_t mec_fw_feature; uint32_t pfp_fw_version; uint32_t pfp_fw_feature; uint32_t ce_fw_version;