diff options
Diffstat (limited to 'src/amd/common')
-rw-r--r-- | src/amd/common/ac_gpu_info.c | 55 | ||||
-rw-r--r-- | src/amd/common/ac_gpu_info.h | 1 |
2 files changed, 56 insertions, 0 deletions
diff --git a/src/amd/common/ac_gpu_info.c b/src/amd/common/ac_gpu_info.c index 6e34a070132..0576dd369cf 100644 --- a/src/amd/common/ac_gpu_info.c +++ b/src/amd/common/ac_gpu_info.c @@ -353,3 +353,58 @@ void ac_compute_device_uuid(struct radeon_info *info, char *uuid, size_t size) uint_uuid[2] = info->pci_dev; uint_uuid[3] = info->pci_func; } + +void ac_print_gpu_info(struct radeon_info *info) +{ + printf("pci (domain:bus:dev.func): %04x:%02x:%02x.%x\n", + info->pci_domain, info->pci_bus, + info->pci_dev, info->pci_func); + printf("pci_id = 0x%x\n", info->pci_id); + printf("family = %i\n", info->family); + printf("chip_class = %i\n", info->chip_class); + printf("pte_fragment_size = %u\n", info->pte_fragment_size); + printf("gart_page_size = %u\n", info->gart_page_size); + printf("gart_size = %i MB\n", (int)DIV_ROUND_UP(info->gart_size, 1024*1024)); + printf("vram_size = %i MB\n", (int)DIV_ROUND_UP(info->vram_size, 1024*1024)); + printf("vram_vis_size = %i MB\n", (int)DIV_ROUND_UP(info->vram_vis_size, 1024*1024)); + printf("max_alloc_size = %i MB\n", + (int)DIV_ROUND_UP(info->max_alloc_size, 1024*1024)); + printf("min_alloc_size = %u\n", info->min_alloc_size); + printf("has_dedicated_vram = %u\n", info->has_dedicated_vram); + printf("has_virtual_memory = %i\n", info->has_virtual_memory); + printf("gfx_ib_pad_with_type2 = %i\n", info->gfx_ib_pad_with_type2); + printf("has_hw_decode = %u\n", info->has_hw_decode); + printf("num_sdma_rings = %i\n", info->num_sdma_rings); + printf("num_compute_rings = %u\n", info->num_compute_rings); + printf("uvd_fw_version = %u\n", info->uvd_fw_version); + printf("vce_fw_version = %u\n", info->vce_fw_version); + printf("me_fw_version = %i\n", info->me_fw_version); + printf("me_fw_feature = %i\n", info->me_fw_feature); + printf("pfp_fw_version = %i\n", info->pfp_fw_version); + printf("pfp_fw_feature = %i\n", info->pfp_fw_feature); + printf("ce_fw_version = %i\n", info->ce_fw_version); + printf("ce_fw_feature = %i\n", info->ce_fw_feature); + printf("vce_harvest_config = %i\n", info->vce_harvest_config); + printf("clock_crystal_freq = %i\n", info->clock_crystal_freq); + printf("tcc_cache_line_size = %u\n", info->tcc_cache_line_size); + printf("drm = %i.%i.%i\n", info->drm_major, + info->drm_minor, info->drm_patchlevel); + printf("has_userptr = %i\n", info->has_userptr); + printf("has_syncobj = %u\n", info->has_syncobj); + printf("has_sync_file = %u\n", info->has_sync_file); + + printf("r600_max_quad_pipes = %i\n", info->r600_max_quad_pipes); + printf("max_shader_clock = %i\n", info->max_shader_clock); + printf("num_good_compute_units = %i\n", info->num_good_compute_units); + printf("max_se = %i\n", info->max_se); + printf("max_sh_per_se = %i\n", info->max_sh_per_se); + + printf("r600_gb_backend_map = %i\n", info->r600_gb_backend_map); + printf("r600_gb_backend_map_valid = %i\n", info->r600_gb_backend_map_valid); + printf("r600_num_banks = %i\n", info->r600_num_banks); + printf("num_render_backends = %i\n", info->num_render_backends); + printf("num_tile_pipes = %i\n", info->num_tile_pipes); + printf("pipe_interleave_bytes = %i\n", info->pipe_interleave_bytes); + printf("enabled_rb_mask = 0x%x\n", info->enabled_rb_mask); + printf("max_alignment = %u\n", (unsigned)info->max_alignment); +} diff --git a/src/amd/common/ac_gpu_info.h b/src/amd/common/ac_gpu_info.h index 92c94f046b5..5b9e51658b0 100644 --- a/src/amd/common/ac_gpu_info.h +++ b/src/amd/common/ac_gpu_info.h @@ -115,6 +115,7 @@ bool ac_query_gpu_info(int fd, amdgpu_device_handle dev, void ac_compute_driver_uuid(char *uuid, size_t size); void ac_compute_device_uuid(struct radeon_info *info, char *uuid, size_t size); +void ac_print_gpu_info(struct radeon_info *info); #ifdef __cplusplus } |