From: Marek Olšák <marek.ol...@amd.com> --- src/amd/common/ac_gpu_info.c | 6 +++++- src/amd/common/ac_gpu_info.h | 1 + src/gallium/winsys/radeon/drm/radeon_drm_winsys.c | 7 ++++++- 3 files changed, 12 insertions(+), 2 deletions(-)
diff --git a/src/amd/common/ac_gpu_info.c b/src/amd/common/ac_gpu_info.c index 40441ec0c67..8705d878f9a 100644 --- a/src/amd/common/ac_gpu_info.c +++ b/src/amd/common/ac_gpu_info.c @@ -294,21 +294,25 @@ bool ac_query_gpu_info(int fd, amdgpu_device_handle dev, * allocations can fail or cause buffer movement failures in the kernel. */ info->max_alloc_size = MAX2(info->vram_size * 0.9, info->gart_size * 0.7); } /* Set chip identification. */ info->pci_id = amdinfo->asic_id; /* TODO: is this correct? */ info->vce_harvest_config = amdinfo->vce_harvest_config; switch (info->pci_id) { -#define CHIPSET(pci_id, cfamily) case pci_id: info->family = CHIP_##cfamily; break; +#define CHIPSET(pci_id, cfamily) \ + case pci_id: \ + info->family = CHIP_##cfamily; \ + info->name = #cfamily; \ + break; #include "pci_ids/radeonsi_pci_ids.h" #undef CHIPSET default: fprintf(stderr, "amdgpu: Invalid PCI ID.\n"); return false; } if (info->family >= CHIP_VEGA10) info->chip_class = GFX9; diff --git a/src/amd/common/ac_gpu_info.h b/src/amd/common/ac_gpu_info.h index f6e09d2e13c..a897496da48 100644 --- a/src/amd/common/ac_gpu_info.h +++ b/src/amd/common/ac_gpu_info.h @@ -40,20 +40,21 @@ typedef struct amdgpu_device *amdgpu_device_handle; struct amdgpu_gpu_info; struct radeon_info { /* PCI info: domain:bus:dev:func */ uint32_t pci_domain; uint32_t pci_bus; uint32_t pci_dev; uint32_t pci_func; /* Device info. */ + const char *name; uint32_t pci_id; enum radeon_family family; enum chip_class chip_class; uint32_t num_compute_rings; uint32_t num_sdma_rings; uint32_t clock_crystal_freq; uint32_t tcc_cache_line_size; /* Memory info. */ uint32_t pte_fragment_size; diff --git a/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c b/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c index 491e8e159f4..f8702e7c601 100644 --- a/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c +++ b/src/gallium/winsys/radeon/drm/radeon_drm_winsys.c @@ -175,21 +175,26 @@ static bool do_winsys_init(struct radeon_drm_winsys *ws) /* Check PCI ID. */ switch (ws->info.pci_id) { #define CHIPSET(pci_id, name, cfamily) case pci_id: ws->info.family = CHIP_##cfamily; ws->gen = DRV_R300; break; #include "pci_ids/r300_pci_ids.h" #undef CHIPSET #define CHIPSET(pci_id, name, cfamily) case pci_id: ws->info.family = CHIP_##cfamily; ws->gen = DRV_R600; break; #include "pci_ids/r600_pci_ids.h" #undef CHIPSET -#define CHIPSET(pci_id, cfamily) case pci_id: ws->info.family = CHIP_##cfamily; ws->gen = DRV_SI; break; +#define CHIPSET(pci_id, cfamily) \ + case pci_id: \ + ws->info.family = CHIP_##cfamily; \ + ws->info.name = #cfamily; \ + ws->gen = DRV_SI; \ + break; #include "pci_ids/radeonsi_pci_ids.h" #undef CHIPSET default: fprintf(stderr, "radeon: Invalid PCI ID.\n"); return false; } switch (ws->info.family) { default: -- 2.17.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev