summaryrefslogtreecommitdiffstats
path: root/src/amd
diff options
context:
space:
mode:
Diffstat (limited to 'src/amd')
-rw-r--r--src/amd/common/ac_gpu_info.c55
-rw-r--r--src/amd/common/ac_gpu_info.h1
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
}