ac/surface: remove addrlib_family_rev_id
authorMarek Olšák <marek.olsak@amd.com>
Thu, 20 Jun 2019 01:47:46 +0000 (21:47 -0400)
committerMarek Olšák <marek.olsak@amd.com>
Tue, 25 Jun 2019 01:04:10 +0000 (21:04 -0400)
Tested-by: Dieter Nützel <Dieter@nuetzel-hh.de>
Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl>
src/amd/common/ac_gpu_info.c
src/amd/common/ac_gpu_info.h
src/amd/common/ac_surface.c

index 4de6882f15e72d3de542b649f0af76c4f93f5962..cd81c5757f3dfefb685f21bcd6fa07df2f874aea 100644 (file)
@@ -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") ||
index 2c67cec3ed5692f4610c11ecd979f3f8f833c5a2..d296c7eb89f33e6ac7782bffae26dcb0ef52537f 100644 (file)
@@ -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;
index 7b86cb1e1f2148b93af6e2ca9079fa4b5f3ea365..b336655a913f61938188bfdd3924ecd089504941 100644 (file)
 #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;