[Mesa-dev] [PATCH 1/3] ac: add radeon_info::name

Marek Olšák maraeo at gmail.com
Fri Aug 10 18:32:48 UTC 2018


From: Marek Olšák <marek.olsak at 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



More information about the mesa-dev mailing list