diff options
author | Nicolai Hähnle <nicolai.haehnle@amd.com> | 2017-08-26 00:33:14 +0200 |
---|---|---|
committer | Nicolai Hähnle <nicolai.haehnle@amd.com> | 2017-09-13 18:25:06 +0200 |
commit | b8c6e8884886a8209cbda49b444eca0a9aa5f9bc (patch) | |
tree | 9de7b62d549d7f2358705804efe65bfe8b0e78eb | |
parent | 8d8f1ef573932679145b5aa8e2bafbf4c82701ef (diff) |
amd/common: get ME/PFP/CE firmware feature versions as well
Reviewed-by: Marek Olšák <marek.olsak@amd.com>
-rw-r--r-- | src/amd/common/ac_gpu_info.c | 10 | ||||
-rw-r--r-- | src/amd/common/ac_gpu_info.h | 3 | ||||
-rw-r--r-- | src/gallium/drivers/radeon/r600_pipe_common.c | 3 |
3 files changed, 12 insertions, 4 deletions
diff --git a/src/amd/common/ac_gpu_info.c b/src/amd/common/ac_gpu_info.c index e55d864187..d10b0eb0af 100644 --- a/src/amd/common/ac_gpu_info.c +++ b/src/amd/common/ac_gpu_info.c @@ -100,7 +100,6 @@ bool ac_query_gpu_info(int fd, amdgpu_device_handle dev, struct amdgpu_heap_info vram, vram_vis, gtt; struct drm_amdgpu_info_hw_ip dma = {}, compute = {}, uvd = {}, vce = {}, vcn_dec = {}; uint32_t vce_version = 0, vce_feature = 0, uvd_version = 0, uvd_feature = 0; - uint32_t unused_feature; int r, i, j; drmDevicePtr devinfo; @@ -176,21 +175,24 @@ bool ac_query_gpu_info(int fd, amdgpu_device_handle dev, } r = amdgpu_query_firmware_version(dev, AMDGPU_INFO_FW_GFX_ME, 0, 0, - &info->me_fw_version, &unused_feature); + &info->me_fw_version, + &info->me_fw_feature); if (r) { fprintf(stderr, "amdgpu: amdgpu_query_firmware_version(me) failed.\n"); return false; } r = amdgpu_query_firmware_version(dev, AMDGPU_INFO_FW_GFX_PFP, 0, 0, - &info->pfp_fw_version, &unused_feature); + &info->pfp_fw_version, + &info->pfp_fw_feature); if (r) { fprintf(stderr, "amdgpu: amdgpu_query_firmware_version(pfp) failed.\n"); return false; } r = amdgpu_query_firmware_version(dev, AMDGPU_INFO_FW_GFX_CE, 0, 0, - &info->ce_fw_version, &unused_feature); + &info->ce_fw_version, + &info->ce_fw_feature); if (r) { fprintf(stderr, "amdgpu: amdgpu_query_firmware_version(ce) failed.\n"); return false; diff --git a/src/amd/common/ac_gpu_info.h b/src/amd/common/ac_gpu_info.h index 06b0c77546..5722709d24 100644 --- a/src/amd/common/ac_gpu_info.h +++ b/src/amd/common/ac_gpu_info.h @@ -66,8 +66,11 @@ struct radeon_info { uint32_t uvd_fw_version; uint32_t vce_fw_version; uint32_t me_fw_version; + uint32_t me_fw_feature; uint32_t pfp_fw_version; + uint32_t pfp_fw_feature; uint32_t ce_fw_version; + uint32_t ce_fw_feature; uint32_t vce_harvest_config; uint32_t clock_crystal_freq; uint32_t tcc_cache_line_size; diff --git a/src/gallium/drivers/radeon/r600_pipe_common.c b/src/gallium/drivers/radeon/r600_pipe_common.c index fc27b4c218..b283bc65b5 100644 --- a/src/gallium/drivers/radeon/r600_pipe_common.c +++ b/src/gallium/drivers/radeon/r600_pipe_common.c @@ -1554,8 +1554,11 @@ bool r600_common_screen_init(struct r600_common_screen *rscreen, printf("uvd_fw_version = %u\n", rscreen->info.uvd_fw_version); printf("vce_fw_version = %u\n", rscreen->info.vce_fw_version); printf("me_fw_version = %i\n", rscreen->info.me_fw_version); + printf("me_fw_feature = %i\n", rscreen->info.me_fw_feature); printf("pfp_fw_version = %i\n", rscreen->info.pfp_fw_version); + printf("pfp_fw_feature = %i\n", rscreen->info.pfp_fw_feature); printf("ce_fw_version = %i\n", rscreen->info.ce_fw_version); + printf("ce_fw_feature = %i\n", rscreen->info.ce_fw_feature); printf("vce_harvest_config = %i\n", rscreen->info.vce_harvest_config); printf("clock_crystal_freq = %i\n", rscreen->info.clock_crystal_freq); printf("tcc_cache_line_size = %u\n", rscreen->info.tcc_cache_line_size); |