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

Reply via email to