summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/amd/common/ac_gpu_info.c2
-rw-r--r--src/amd/common/ac_gpu_info.h2
-rw-r--r--src/amd/common/ac_surface.c111
3 files changed, 7 insertions, 108 deletions
diff --git a/src/amd/common/ac_gpu_info.c b/src/amd/common/ac_gpu_info.c
index 4de6882f15e..cd81c5757f3 100644
--- a/src/amd/common/ac_gpu_info.c
+++ b/src/amd/common/ac_gpu_info.c
@@ -335,6 +335,8 @@ bool ac_query_gpu_info(int fd, amdgpu_device_handle dev,
return false;
}
+ info->family_id = amdinfo->family_id;
+ info->chip_external_rev = amdinfo->chip_external_rev;
info->marketing_name = amdgpu_get_marketing_name(dev);
info->is_pro_graphics = info->marketing_name &&
(!strcmp(info->marketing_name, "Pro") ||
diff --git a/src/amd/common/ac_gpu_info.h b/src/amd/common/ac_gpu_info.h
index 2c67cec3ed5..d296c7eb89f 100644
--- a/src/amd/common/ac_gpu_info.h
+++ b/src/amd/common/ac_gpu_info.h
@@ -53,6 +53,8 @@ struct radeon_info {
uint32_t pci_id;
enum radeon_family family;
enum chip_class chip_class;
+ uint32_t family_id;
+ uint32_t chip_external_rev;
uint32_t num_compute_rings;
uint32_t num_sdma_rings;
uint32_t clock_crystal_freq;
diff --git a/src/amd/common/ac_surface.c b/src/amd/common/ac_surface.c
index 7b86cb1e1f2..b336655a913 100644
--- a/src/amd/common/ac_surface.c
+++ b/src/amd/common/ac_surface.c
@@ -49,113 +49,6 @@
#define CIASICIDGFXENGINE_ARCTICISLAND 0x0000000D
#endif
-static unsigned get_first(unsigned x, unsigned y)
-{
- return x;
-}
-
-static void addrlib_family_rev_id(enum radeon_family family,
- unsigned *addrlib_family,
- unsigned *addrlib_revid)
-{
- switch (family) {
- case CHIP_TAHITI:
- *addrlib_family = FAMILY_SI;
- *addrlib_revid = get_first(AMDGPU_TAHITI_RANGE);
- break;
- case CHIP_PITCAIRN:
- *addrlib_family = FAMILY_SI;
- *addrlib_revid = get_first(AMDGPU_PITCAIRN_RANGE);
- break;
- case CHIP_VERDE:
- *addrlib_family = FAMILY_SI;
- *addrlib_revid = get_first(AMDGPU_CAPEVERDE_RANGE);
- break;
- case CHIP_OLAND:
- *addrlib_family = FAMILY_SI;
- *addrlib_revid = get_first(AMDGPU_OLAND_RANGE);
- break;
- case CHIP_HAINAN:
- *addrlib_family = FAMILY_SI;
- *addrlib_revid = get_first(AMDGPU_HAINAN_RANGE);
- break;
- case CHIP_BONAIRE:
- *addrlib_family = FAMILY_CI;
- *addrlib_revid = get_first(AMDGPU_BONAIRE_RANGE);
- break;
- case CHIP_KAVERI:
- *addrlib_family = FAMILY_KV;
- *addrlib_revid = get_first(AMDGPU_SPECTRE_RANGE);
- break;
- case CHIP_KABINI:
- *addrlib_family = FAMILY_KV;
- *addrlib_revid = get_first(AMDGPU_KALINDI_RANGE);
- break;
- case CHIP_HAWAII:
- *addrlib_family = FAMILY_CI;
- *addrlib_revid = get_first(AMDGPU_HAWAII_RANGE);
- break;
- case CHIP_TONGA:
- *addrlib_family = FAMILY_VI;
- *addrlib_revid = get_first(AMDGPU_TONGA_RANGE);
- break;
- case CHIP_ICELAND:
- *addrlib_family = FAMILY_VI;
- *addrlib_revid = get_first(AMDGPU_ICELAND_RANGE);
- break;
- case CHIP_CARRIZO:
- *addrlib_family = FAMILY_CZ;
- *addrlib_revid = get_first(AMDGPU_CARRIZO_RANGE);
- break;
- case CHIP_STONEY:
- *addrlib_family = FAMILY_CZ;
- *addrlib_revid = get_first(AMDGPU_STONEY_RANGE);
- break;
- case CHIP_FIJI:
- *addrlib_family = FAMILY_VI;
- *addrlib_revid = get_first(AMDGPU_FIJI_RANGE);
- break;
- case CHIP_POLARIS10:
- *addrlib_family = FAMILY_VI;
- *addrlib_revid = get_first(AMDGPU_POLARIS10_RANGE);
- break;
- case CHIP_POLARIS11:
- *addrlib_family = FAMILY_VI;
- *addrlib_revid = get_first(AMDGPU_POLARIS11_RANGE);
- break;
- case CHIP_POLARIS12:
- *addrlib_family = FAMILY_VI;
- *addrlib_revid = get_first(AMDGPU_POLARIS12_RANGE);
- break;
- case CHIP_VEGAM:
- *addrlib_family = FAMILY_VI;
- *addrlib_revid = get_first(AMDGPU_VEGAM_RANGE);
- break;
- case CHIP_VEGA10:
- *addrlib_family = FAMILY_AI;
- *addrlib_revid = get_first(AMDGPU_VEGA10_RANGE);
- break;
- case CHIP_VEGA12:
- *addrlib_family = FAMILY_AI;
- *addrlib_revid = get_first(AMDGPU_VEGA12_RANGE);
- break;
- case CHIP_VEGA20:
- *addrlib_family = FAMILY_AI;
- *addrlib_revid = get_first(AMDGPU_VEGA20_RANGE);
- break;
- case CHIP_RAVEN:
- *addrlib_family = FAMILY_RV;
- *addrlib_revid = get_first(AMDGPU_RAVEN_RANGE);
- break;
- case CHIP_RAVEN2:
- *addrlib_family = FAMILY_RV;
- *addrlib_revid = get_first(AMDGPU_RAVEN2_RANGE);
- break;
- default:
- fprintf(stderr, "amdgpu: Unknown family.\n");
- }
-}
-
static void *ADDR_API allocSysMem(const ADDR_ALLOCSYSMEM_INPUT * pInput)
{
return malloc(pInput->sizeInBytes);
@@ -184,7 +77,9 @@ ADDR_HANDLE amdgpu_addr_create(const struct radeon_info *info,
regValue.gbAddrConfig = amdinfo->gb_addr_cfg;
createFlags.value = 0;
- addrlib_family_rev_id(info->family, &addrCreateInput.chipFamily, &addrCreateInput.chipRevision);
+ addrCreateInput.chipFamily = info->family_id;
+ addrCreateInput.chipRevision = info->chip_external_rev;
+
if (addrCreateInput.chipFamily == FAMILY_UNKNOWN)
return NULL;