From: Nicolai Hähnle Date: Fri, 25 Aug 2017 22:33:14 +0000 (+0200) Subject: amd/common: get ME/PFP/CE firmware feature versions as well X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b8c6e8884886a8209cbda49b444eca0a9aa5f9bc;p=mesa.git amd/common: get ME/PFP/CE firmware feature versions as well Reviewed-by: Marek Olšák --- diff --git a/src/amd/common/ac_gpu_info.c b/src/amd/common/ac_gpu_info.c index e55d864187d..d10b0eb0af9 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 06b0c775466..5722709d24f 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 fc27b4c218b..b283bc65b5b 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);