libhsakmt: Remove asic_family vars/helpers

Signed-off-by: Graham Sider <Graham.Sider@amd.com>
Change-Id: I1bd054d8f9ffc56e2c48a5df4899966918f26e1b


[ROCm/ROCR-Runtime commit: 1ad1a2a817]
This commit is contained in:
Graham Sider
2021-07-16 17:52:37 -04:00
parent 875e9b9994
commit 2dff9494db
3 changed files with 157 additions and 243 deletions
-37
View File
@@ -41,10 +41,6 @@ extern bool is_dgpu;
extern HsaVersionInfo kfd_version_info;
extern int force_asic;
extern char force_asic_name[HSA_PUBLIC_NAME_SIZE];
extern struct hsa_gfxip_table force_asic_entry;
#undef HSAKMTAPI
#define HSAKMTAPI __attribute__((visibility ("default")))
@@ -155,43 +151,12 @@ enum full_gfx_versions {
GFX_VERSION_YELLOW_CARP = 0x100305,
};
enum asic_family_type {
CHIP_KAVERI = 0,
CHIP_HAWAII, /* 1 */
CHIP_CARRIZO, /* 2 */
CHIP_TONGA, /* 3 */
CHIP_FIJI, /* 4 */
CHIP_POLARIS10, /* 5 */
CHIP_POLARIS11, /* 6 */
CHIP_POLARIS12, /* 7 */
CHIP_VEGAM, /* 8 */
CHIP_VEGA10, /* 9 */
CHIP_VEGA12, /* 10 */
CHIP_VEGA20, /* 11 */
CHIP_RAVEN, /* 12 */
CHIP_RENOIR, /* 13 */
CHIP_ARCTURUS, /* 14 */
CHIP_ALDEBARAN, /* 15 */
CHIP_NAVI10, /* 16 */
CHIP_CYAN_SKILLFISH, /* 17 */
CHIP_NAVI12, /* 18 */
CHIP_NAVI14, /* 19 */
CHIP_SIENNA_CICHLID, /* 20 */
CHIP_NAVY_FLOUNDER, /* 21 */
CHIP_DIMGREY_CAVEFISH, /* 22 */
CHIP_VANGOGH, /* 23 */
CHIP_BEIGE_GOBY, /* 24 */
CHIP_YELLOW_CARP, /* 25 */
CHIP_LAST
};
struct hsa_gfxip_table {
uint16_t device_id; // Device ID
unsigned char major; // GFXIP Major engine version
unsigned char minor; // GFXIP Minor engine version
unsigned char stepping; // GFXIP Stepping info
const char *amd_name; // CALName of the device
enum asic_family_type asic_family; // Device family id
};
HSAKMT_STATUS init_kfd_version(void);
@@ -215,8 +180,6 @@ HSAKMT_STATUS topology_sysfs_get_node_props(uint32_t node_id, HsaNodeProperties
HSAKMT_STATUS topology_sysfs_get_system_props(HsaSystemProperties *props);
void topology_setup_is_dgpu_param(HsaNodeProperties *props);
bool topology_is_svm_needed(uint32_t node_id);
HSAKMT_STATUS topology_get_asic_family(uint16_t device_id,
enum asic_family_type *asic);
HSAuint32 PageSizeFromFlags(unsigned int pageSizeFlags);
-25
View File
@@ -135,31 +135,6 @@ static HSAKMT_STATUS init_vars_from_env(void)
if (envvar)
zfb_support = atoi(envvar);
/* Force all the GPUs to a certain type, use the below command:
* export HSA_FORCE_ASIC_TYPE="10.1.0 Navi10 14"
* meaning major.minor.step asic_name asic_id
*/
envvar = getenv("HSA_FORCE_ASIC_TYPE");
if (envvar) {
uint32_t major, minor, step, asic_family;
if ((sscanf(envvar, "%u.%u.%u %63s %u", &major, &minor, &step,
force_asic_name, &asic_family) != 5)
|| (major > 63 || minor > 255 || step > 255)
|| asic_family >= CHIP_LAST) {
pr_err("HSA_FORCE_ASIC_TYPE %s is invalid\n", envvar);
return HSAKMT_STATUS_ERROR;
}
force_asic_entry.major = major;
force_asic_entry.minor = minor;
force_asic_entry.stepping = step;
force_asic_entry.asic_family = asic_family;
force_asic = 1;
}
return HSAKMT_STATUS_SUCCESS;
}
+157 -181
View File
@@ -84,195 +84,188 @@ static const char *supported_processor_vendor_name[] = {
static HSAKMT_STATUS topology_take_snapshot(void);
static HSAKMT_STATUS topology_drop_snapshot(void);
int force_asic;
char force_asic_name[HSA_PUBLIC_NAME_SIZE];
struct hsa_gfxip_table force_asic_entry = {
.amd_name = force_asic_name,
};
static const struct hsa_gfxip_table gfxip_lookup_table[] = {
/* Kaveri Family */
{ 0x1304, 7, 0, 0, "Spectre", CHIP_KAVERI },
{ 0x1305, 7, 0, 0, "Spectre", CHIP_KAVERI },
{ 0x1306, 7, 0, 0, "Spectre", CHIP_KAVERI },
{ 0x1307, 7, 0, 0, "Spectre", CHIP_KAVERI },
{ 0x1309, 7, 0, 0, "Spectre", CHIP_KAVERI },
{ 0x130A, 7, 0, 0, "Spectre", CHIP_KAVERI },
{ 0x130B, 7, 0, 0, "Spectre", CHIP_KAVERI },
{ 0x130C, 7, 0, 0, "Spectre", CHIP_KAVERI },
{ 0x130D, 7, 0, 0, "Spectre", CHIP_KAVERI },
{ 0x130E, 7, 0, 0, "Spectre", CHIP_KAVERI },
{ 0x130F, 7, 0, 0, "Spectre", CHIP_KAVERI },
{ 0x1310, 7, 0, 0, "Spectre", CHIP_KAVERI },
{ 0x1311, 7, 0, 0, "Spectre", CHIP_KAVERI },
{ 0x1312, 7, 0, 0, "Spooky", CHIP_KAVERI },
{ 0x1313, 7, 0, 0, "Spectre", CHIP_KAVERI },
{ 0x1315, 7, 0, 0, "Spectre", CHIP_KAVERI },
{ 0x1316, 7, 0, 0, "Spooky", CHIP_KAVERI },
{ 0x1317, 7, 0, 0, "Spooky", CHIP_KAVERI },
{ 0x1318, 7, 0, 0, "Spectre", CHIP_KAVERI },
{ 0x131B, 7, 0, 0, "Spectre", CHIP_KAVERI },
{ 0x131C, 7, 0, 0, "Spectre", CHIP_KAVERI },
{ 0x131D, 7, 0, 0, "Spectre", CHIP_KAVERI },
{ 0x1304, 7, 0, 0, "Spectre" },
{ 0x1305, 7, 0, 0, "Spectre" },
{ 0x1306, 7, 0, 0, "Spectre" },
{ 0x1307, 7, 0, 0, "Spectre" },
{ 0x1309, 7, 0, 0, "Spectre" },
{ 0x130A, 7, 0, 0, "Spectre" },
{ 0x130B, 7, 0, 0, "Spectre" },
{ 0x130C, 7, 0, 0, "Spectre" },
{ 0x130D, 7, 0, 0, "Spectre" },
{ 0x130E, 7, 0, 0, "Spectre" },
{ 0x130F, 7, 0, 0, "Spectre" },
{ 0x1310, 7, 0, 0, "Spectre" },
{ 0x1311, 7, 0, 0, "Spectre" },
{ 0x1312, 7, 0, 0, "Spooky" },
{ 0x1313, 7, 0, 0, "Spectre" },
{ 0x1315, 7, 0, 0, "Spectre" },
{ 0x1316, 7, 0, 0, "Spooky" },
{ 0x1317, 7, 0, 0, "Spooky" },
{ 0x1318, 7, 0, 0, "Spectre" },
{ 0x131B, 7, 0, 0, "Spectre" },
{ 0x131C, 7, 0, 0, "Spectre" },
{ 0x131D, 7, 0, 0, "Spectre" },
/* Hawaii Family */
{ 0x67A0, 7, 0, 1, "Hawaii", CHIP_HAWAII },
{ 0x67A1, 7, 0, 1, "Hawaii", CHIP_HAWAII },
{ 0x67A2, 7, 0, 1, "Hawaii", CHIP_HAWAII },
{ 0x67A8, 7, 0, 1, "Hawaii", CHIP_HAWAII },
{ 0x67A9, 7, 0, 1, "Hawaii", CHIP_HAWAII },
{ 0x67AA, 7, 0, 1, "Hawaii", CHIP_HAWAII },
{ 0x67B0, 7, 0, 1, "Hawaii", CHIP_HAWAII },
{ 0x67B1, 7, 0, 1, "Hawaii", CHIP_HAWAII },
{ 0x67B8, 7, 0, 1, "Hawaii", CHIP_HAWAII },
{ 0x67B9, 7, 0, 1, "Hawaii", CHIP_HAWAII },
{ 0x67BA, 7, 0, 1, "Hawaii", CHIP_HAWAII },
{ 0x67BE, 7, 0, 1, "Hawaii", CHIP_HAWAII },
{ 0x67A0, 7, 0, 1, "Hawaii" },
{ 0x67A1, 7, 0, 1, "Hawaii" },
{ 0x67A2, 7, 0, 1, "Hawaii" },
{ 0x67A8, 7, 0, 1, "Hawaii" },
{ 0x67A9, 7, 0, 1, "Hawaii" },
{ 0x67AA, 7, 0, 1, "Hawaii" },
{ 0x67B0, 7, 0, 1, "Hawaii" },
{ 0x67B1, 7, 0, 1, "Hawaii" },
{ 0x67B8, 7, 0, 1, "Hawaii" },
{ 0x67B9, 7, 0, 1, "Hawaii" },
{ 0x67BA, 7, 0, 1, "Hawaii" },
{ 0x67BE, 7, 0, 1, "Hawaii" },
/* Carrizo Family */
{ 0x9870, 8, 0, 1, "Carrizo", CHIP_CARRIZO },
{ 0x9874, 8, 0, 1, "Carrizo", CHIP_CARRIZO },
{ 0x9875, 8, 0, 1, "Carrizo", CHIP_CARRIZO },
{ 0x9876, 8, 0, 1, "Carrizo", CHIP_CARRIZO },
{ 0x9877, 8, 0, 1, "Carrizo", CHIP_CARRIZO },
{ 0x9870, 8, 0, 1, "Carrizo" },
{ 0x9874, 8, 0, 1, "Carrizo" },
{ 0x9875, 8, 0, 1, "Carrizo" },
{ 0x9876, 8, 0, 1, "Carrizo" },
{ 0x9877, 8, 0, 1, "Carrizo" },
/* Tonga Family */
{ 0x6920, 8, 0, 2, "Tonga", CHIP_TONGA },
{ 0x6921, 8, 0, 2, "Tonga", CHIP_TONGA },
{ 0x6928, 8, 0, 2, "Tonga", CHIP_TONGA },
{ 0x6929, 8, 0, 2, "Tonga", CHIP_TONGA },
{ 0x692B, 8, 0, 2, "Tonga", CHIP_TONGA },
{ 0x692F, 8, 0, 2, "Tonga", CHIP_TONGA },
{ 0x6930, 8, 0, 2, "Tonga", CHIP_TONGA },
{ 0x6938, 8, 0, 2, "Tonga", CHIP_TONGA },
{ 0x6939, 8, 0, 2, "Tonga", CHIP_TONGA },
{ 0x6920, 8, 0, 2, "Tonga" },
{ 0x6921, 8, 0, 2, "Tonga" },
{ 0x6928, 8, 0, 2, "Tonga" },
{ 0x6929, 8, 0, 2, "Tonga" },
{ 0x692B, 8, 0, 2, "Tonga" },
{ 0x692F, 8, 0, 2, "Tonga" },
{ 0x6930, 8, 0, 2, "Tonga" },
{ 0x6938, 8, 0, 2, "Tonga" },
{ 0x6939, 8, 0, 2, "Tonga" },
/* Fiji */
{ 0x7300, 8, 0, 3, "Fiji", CHIP_FIJI },
{ 0x730F, 8, 0, 3, "Fiji", CHIP_FIJI },
{ 0x7300, 8, 0, 3, "Fiji" },
{ 0x730F, 8, 0, 3, "Fiji" },
/* Polaris10 */
{ 0x67C0, 8, 0, 3, "Polaris10", CHIP_POLARIS10 },
{ 0x67C1, 8, 0, 3, "Polaris10", CHIP_POLARIS10 },
{ 0x67C2, 8, 0, 3, "Polaris10", CHIP_POLARIS10 },
{ 0x67C4, 8, 0, 3, "Polaris10", CHIP_POLARIS10 },
{ 0x67C7, 8, 0, 3, "Polaris10", CHIP_POLARIS10 },
{ 0x67C8, 8, 0, 3, "Polaris10", CHIP_POLARIS10 },
{ 0x67C9, 8, 0, 3, "Polaris10", CHIP_POLARIS10 },
{ 0x67CA, 8, 0, 3, "Polaris10", CHIP_POLARIS10 },
{ 0x67CC, 8, 0, 3, "Polaris10", CHIP_POLARIS10 },
{ 0x67CF, 8, 0, 3, "Polaris10", CHIP_POLARIS10 },
{ 0x67D0, 8, 0, 3, "Polaris10", CHIP_POLARIS10 },
{ 0x67DF, 8, 0, 3, "Polaris10", CHIP_POLARIS10 },
{ 0x6FDF, 8, 0, 3, "Polaris10", CHIP_POLARIS10 },
{ 0x67C0, 8, 0, 3, "Polaris10" },
{ 0x67C1, 8, 0, 3, "Polaris10" },
{ 0x67C2, 8, 0, 3, "Polaris10" },
{ 0x67C4, 8, 0, 3, "Polaris10" },
{ 0x67C7, 8, 0, 3, "Polaris10" },
{ 0x67C8, 8, 0, 3, "Polaris10" },
{ 0x67C9, 8, 0, 3, "Polaris10" },
{ 0x67CA, 8, 0, 3, "Polaris10" },
{ 0x67CC, 8, 0, 3, "Polaris10" },
{ 0x67CF, 8, 0, 3, "Polaris10" },
{ 0x67D0, 8, 0, 3, "Polaris10" },
{ 0x67DF, 8, 0, 3, "Polaris10" },
{ 0x6FDF, 8, 0, 3, "Polaris10" },
/* Polaris11 */
{ 0x67E0, 8, 0, 3, "Polaris11", CHIP_POLARIS11 },
{ 0x67E1, 8, 0, 3, "Polaris11", CHIP_POLARIS11 },
{ 0x67E3, 8, 0, 3, "Polaris11", CHIP_POLARIS11 },
{ 0x67E7, 8, 0, 3, "Polaris11", CHIP_POLARIS11 },
{ 0x67E8, 8, 0, 3, "Polaris11", CHIP_POLARIS11 },
{ 0x67E9, 8, 0, 3, "Polaris11", CHIP_POLARIS11 },
{ 0x67EB, 8, 0, 3, "Polaris11", CHIP_POLARIS11 },
{ 0x67EF, 8, 0, 3, "Polaris11", CHIP_POLARIS11 },
{ 0x67FF, 8, 0, 3, "Polaris11", CHIP_POLARIS11 },
{ 0x67E0, 8, 0, 3, "Polaris11" },
{ 0x67E1, 8, 0, 3, "Polaris11" },
{ 0x67E3, 8, 0, 3, "Polaris11" },
{ 0x67E7, 8, 0, 3, "Polaris11" },
{ 0x67E8, 8, 0, 3, "Polaris11" },
{ 0x67E9, 8, 0, 3, "Polaris11" },
{ 0x67EB, 8, 0, 3, "Polaris11" },
{ 0x67EF, 8, 0, 3, "Polaris11" },
{ 0x67FF, 8, 0, 3, "Polaris11" },
/* Polaris12 */
{ 0x6980, 8, 0, 3, "Polaris12", CHIP_POLARIS12 },
{ 0x6981, 8, 0, 3, "Polaris12", CHIP_POLARIS12 },
{ 0x6985, 8, 0, 3, "Polaris12", CHIP_POLARIS12 },
{ 0x6986, 8, 0, 3, "Polaris12", CHIP_POLARIS12 },
{ 0x6987, 8, 0, 3, "Polaris12", CHIP_POLARIS12 },
{ 0x6995, 8, 0, 3, "Polaris12", CHIP_POLARIS12 },
{ 0x6997, 8, 0, 3, "Polaris12", CHIP_POLARIS12 },
{ 0x699F, 8, 0, 3, "Polaris12", CHIP_POLARIS12 },
{ 0x6980, 8, 0, 3, "Polaris12" },
{ 0x6981, 8, 0, 3, "Polaris12" },
{ 0x6985, 8, 0, 3, "Polaris12" },
{ 0x6986, 8, 0, 3, "Polaris12" },
{ 0x6987, 8, 0, 3, "Polaris12" },
{ 0x6995, 8, 0, 3, "Polaris12" },
{ 0x6997, 8, 0, 3, "Polaris12" },
{ 0x699F, 8, 0, 3, "Polaris12" },
/* VegaM */
{ 0x694C, 8, 0, 3, "VegaM", CHIP_VEGAM },
{ 0x694E, 8, 0, 3, "VegaM", CHIP_VEGAM },
{ 0x694F, 8, 0, 3, "VegaM", CHIP_VEGAM },
{ 0x694C, 8, 0, 3, "VegaM" },
{ 0x694E, 8, 0, 3, "VegaM" },
{ 0x694F, 8, 0, 3, "VegaM" },
/* Vega10 */
{ 0x6860, 9, 0, 0, "Vega10", CHIP_VEGA10 },
{ 0x6861, 9, 0, 0, "Vega10", CHIP_VEGA10 },
{ 0x6862, 9, 0, 0, "Vega10", CHIP_VEGA10 },
{ 0x6863, 9, 0, 0, "Vega10", CHIP_VEGA10 },
{ 0x6864, 9, 0, 0, "Vega10", CHIP_VEGA10 },
{ 0x6867, 9, 0, 0, "Vega10", CHIP_VEGA10 },
{ 0x6868, 9, 0, 0, "Vega10", CHIP_VEGA10 },
{ 0x6869, 9, 0, 0, "Vega10", CHIP_VEGA10 },
{ 0x686A, 9, 0, 0, "Vega10", CHIP_VEGA10 },
{ 0x686B, 9, 0, 0, "Vega10", CHIP_VEGA10 },
{ 0x686C, 9, 0, 0, "Vega10", CHIP_VEGA10 },
{ 0x686D, 9, 0, 0, "Vega10", CHIP_VEGA10 },
{ 0x686E, 9, 0, 0, "Vega10", CHIP_VEGA10 },
{ 0x687F, 9, 0, 0, "Vega10", CHIP_VEGA10 },
{ 0x6860, 9, 0, 0, "Vega10" },
{ 0x6861, 9, 0, 0, "Vega10" },
{ 0x6862, 9, 0, 0, "Vega10" },
{ 0x6863, 9, 0, 0, "Vega10" },
{ 0x6864, 9, 0, 0, "Vega10" },
{ 0x6867, 9, 0, 0, "Vega10" },
{ 0x6868, 9, 0, 0, "Vega10" },
{ 0x6869, 9, 0, 0, "Vega10" },
{ 0x686A, 9, 0, 0, "Vega10" },
{ 0x686B, 9, 0, 0, "Vega10" },
{ 0x686C, 9, 0, 0, "Vega10" },
{ 0x686D, 9, 0, 0, "Vega10" },
{ 0x686E, 9, 0, 0, "Vega10" },
{ 0x687F, 9, 0, 0, "Vega10" },
/* Vega12 */
{ 0x69A0, 9, 0, 4, "Vega12", CHIP_VEGA12 },
{ 0x69A1, 9, 0, 4, "Vega12", CHIP_VEGA12 },
{ 0x69A2, 9, 0, 4, "Vega12", CHIP_VEGA12 },
{ 0x69A3, 9, 0, 4, "Vega12", CHIP_VEGA12 },
{ 0x69Af, 9, 0, 4, "Vega12", CHIP_VEGA12 },
{ 0x69A0, 9, 0, 4, "Vega12" },
{ 0x69A1, 9, 0, 4, "Vega12" },
{ 0x69A2, 9, 0, 4, "Vega12" },
{ 0x69A3, 9, 0, 4, "Vega12" },
{ 0x69Af, 9, 0, 4, "Vega12" },
/* Raven */
{ 0x15DD, 9, 0, 2, "Raven", CHIP_RAVEN },
{ 0x15D8, 9, 0, 2, "Raven", CHIP_RAVEN },
{ 0x15DD, 9, 0, 2, "Raven" },
{ 0x15D8, 9, 0, 2, "Raven" },
/* Renoir */
{ 0x1636, 9, 0, 2, "Renoir", CHIP_RENOIR },
{ 0x1638, 9, 0, 2, "Renoir", CHIP_RENOIR },
{ 0x164C, 9, 0, 2, "Renoir", CHIP_RENOIR },
{ 0x1636, 9, 0, 2, "Renoir" },
{ 0x1638, 9, 0, 2, "Renoir" },
{ 0x164C, 9, 0, 2, "Renoir" },
/* Vega20 */
{ 0x66A0, 9, 0, 6, "Vega20", CHIP_VEGA20 },
{ 0x66A1, 9, 0, 6, "Vega20", CHIP_VEGA20 },
{ 0x66A2, 9, 0, 6, "Vega20", CHIP_VEGA20 },
{ 0x66A3, 9, 0, 6, "Vega20", CHIP_VEGA20 },
{ 0x66A4, 9, 0, 6, "Vega20", CHIP_VEGA20 },
{ 0x66A7, 9, 0, 6, "Vega20", CHIP_VEGA20 },
{ 0x66AF, 9, 0, 6, "Vega20", CHIP_VEGA20 },
{ 0x66A0, 9, 0, 6, "Vega20" },
{ 0x66A1, 9, 0, 6, "Vega20" },
{ 0x66A2, 9, 0, 6, "Vega20" },
{ 0x66A3, 9, 0, 6, "Vega20" },
{ 0x66A4, 9, 0, 6, "Vega20" },
{ 0x66A7, 9, 0, 6, "Vega20" },
{ 0x66AF, 9, 0, 6, "Vega20" },
/* Arcturus */
{ 0x7388, 9, 0, 8, "Arcturus", CHIP_ARCTURUS },
{ 0x738C, 9, 0, 8, "Arcturus", CHIP_ARCTURUS },
{ 0x738E, 9, 0, 8, "Arcturus", CHIP_ARCTURUS },
{ 0x7390, 9, 0, 8, "Arcturus", CHIP_ARCTURUS },
{ 0x7388, 9, 0, 8, "Arcturus" },
{ 0x738C, 9, 0, 8, "Arcturus" },
{ 0x738E, 9, 0, 8, "Arcturus" },
{ 0x7390, 9, 0, 8, "Arcturus" },
/* Aldebaran */
{ 0x7408, 9, 0, 10, "Aldebaran", CHIP_ALDEBARAN },
{ 0x740C, 9, 0, 10, "Aldebaran", CHIP_ALDEBARAN },
{ 0x740F, 9, 0, 10, "Aldebaran", CHIP_ALDEBARAN },
{ 0x7410, 9, 0, 10, "Aldebaran", CHIP_ALDEBARAN },
{ 0x7408, 9, 0, 10, "Aldebaran" },
{ 0x740C, 9, 0, 10, "Aldebaran" },
{ 0x740F, 9, 0, 10, "Aldebaran" },
{ 0x7410, 9, 0, 10, "Aldebaran" },
/* Navi10 */
{ 0x7310, 10, 1, 0, "Navi10", CHIP_NAVI10 },
{ 0x7312, 10, 1, 0, "Navi10", CHIP_NAVI10 },
{ 0x7318, 10, 1, 0, "Navi10", CHIP_NAVI10 },
{ 0x731A, 10, 1, 0, "Navi10", CHIP_NAVI10 },
{ 0x731E, 10, 1, 0, "Navi10", CHIP_NAVI10 },
{ 0x731F, 10, 1, 0, "Navi10", CHIP_NAVI10 },
{ 0x7310, 10, 1, 0, "Navi10" },
{ 0x7312, 10, 1, 0, "Navi10" },
{ 0x7318, 10, 1, 0, "Navi10" },
{ 0x731A, 10, 1, 0, "Navi10" },
{ 0x731E, 10, 1, 0, "Navi10" },
{ 0x731F, 10, 1, 0, "Navi10" },
/* cyan_skillfish */
{ 0x13F9, 10, 1, 3, "cyan_skillfish", CHIP_CYAN_SKILLFISH },
{ 0x13FA, 10, 1, 3, "cyan_skillfish", CHIP_CYAN_SKILLFISH },
{ 0x13FB, 10, 1, 3, "cyan_skillfish", CHIP_CYAN_SKILLFISH },
{ 0x13FC, 10, 1, 3, "cyan_skillfish", CHIP_CYAN_SKILLFISH },
{ 0x13FE, 10, 1, 3, "cyan_skillfish", CHIP_CYAN_SKILLFISH },
{ 0x13F9, 10, 1, 3, "cyan_skillfish" },
{ 0x13FA, 10, 1, 3, "cyan_skillfish" },
{ 0x13FB, 10, 1, 3, "cyan_skillfish" },
{ 0x13FC, 10, 1, 3, "cyan_skillfish" },
{ 0x13FE, 10, 1, 3, "cyan_skillfish" },
/* Navi14 */
{ 0x7340, 10, 1, 2, "Navi14", CHIP_NAVI14 },
{ 0x7341, 10, 1, 2, "Navi14", CHIP_NAVI14 },
{ 0x7347, 10, 1, 2, "Navi14", CHIP_NAVI14 },
{ 0x7340, 10, 1, 2, "Navi14" },
{ 0x7341, 10, 1, 2, "Navi14" },
{ 0x7347, 10, 1, 2, "Navi14" },
/* Navi12 */
{ 0x7360, 10, 1, 1, "Navi12", CHIP_NAVI12 },
{ 0x7362, 10, 1, 1, "Navi12", CHIP_NAVI12 },
{ 0x7360, 10, 1, 1, "Navi12" },
{ 0x7362, 10, 1, 1, "Navi12" },
/* SIENNA_CICHLID */
{ 0x73A0, 10, 3, 0, "SIENNA_CICHLID", CHIP_SIENNA_CICHLID },
{ 0x73A1, 10, 3, 0, "SIENNA_CICHLID", CHIP_SIENNA_CICHLID },
{ 0x73A2, 10, 3, 0, "SIENNA_CICHLID", CHIP_SIENNA_CICHLID },
{ 0x73A3, 10, 3, 0, "SIENNA_CICHLID", CHIP_SIENNA_CICHLID },
{ 0x73AB, 10, 3, 0, "SIENNA_CICHLID", CHIP_SIENNA_CICHLID },
{ 0x73AE, 10, 3, 0, "SIENNA_CICHLID", CHIP_SIENNA_CICHLID },
{ 0x73BF, 10, 3, 0, "SIENNA_CICHLID", CHIP_SIENNA_CICHLID },
{ 0x73A0, 10, 3, 0, "SIENNA_CICHLID" },
{ 0x73A1, 10, 3, 0, "SIENNA_CICHLID" },
{ 0x73A2, 10, 3, 0, "SIENNA_CICHLID" },
{ 0x73A3, 10, 3, 0, "SIENNA_CICHLID" },
{ 0x73AB, 10, 3, 0, "SIENNA_CICHLID" },
{ 0x73AE, 10, 3, 0, "SIENNA_CICHLID" },
{ 0x73BF, 10, 3, 0, "SIENNA_CICHLID" },
/* NAVY_FLOUNDER */
{ 0x73C0, 10, 3, 1, "NAVY_FLOUNDER", CHIP_NAVY_FLOUNDER },
{ 0x73C1, 10, 3, 1, "NAVY_FLOUNDER", CHIP_NAVY_FLOUNDER },
{ 0x73C3, 10, 3, 1, "NAVY_FLOUNDER", CHIP_NAVY_FLOUNDER },
{ 0x73DF, 10, 3, 1, "NAVY_FLOUNDER", CHIP_NAVY_FLOUNDER },
{ 0x73C0, 10, 3, 1, "NAVY_FLOUNDER" },
{ 0x73C1, 10, 3, 1, "NAVY_FLOUNDER" },
{ 0x73C3, 10, 3, 1, "NAVY_FLOUNDER" },
{ 0x73DF, 10, 3, 1, "NAVY_FLOUNDER" },
/* DIMGREY_CAVEFISH */
{ 0x73E0, 10, 3, 2, "DIMGREY_CAVEFISH", CHIP_DIMGREY_CAVEFISH },
{ 0x73E1, 10, 3, 2, "DIMGREY_CAVEFISH", CHIP_DIMGREY_CAVEFISH },
{ 0x73E2, 10, 3, 2, "DIMGREY_CAVEFISH", CHIP_DIMGREY_CAVEFISH },
{ 0x73E3, 10, 3, 2, "DIMGREY_CAVEFISH", CHIP_DIMGREY_CAVEFISH },
{ 0x73FF, 10, 3, 2, "DIMGREY_CAVEFISH", CHIP_DIMGREY_CAVEFISH },
{ 0x73E0, 10, 3, 2, "DIMGREY_CAVEFISH" },
{ 0x73E1, 10, 3, 2, "DIMGREY_CAVEFISH" },
{ 0x73E2, 10, 3, 2, "DIMGREY_CAVEFISH" },
{ 0x73FF, 10, 3, 2, "DIMGREY_CAVEFISH" },
/* VanGogh */
{ 0x163F, 10, 3, 3, "VanGogh", CHIP_VANGOGH },
{ 0x163F, 10, 3, 3, "VanGogh" },
/* Yellow_Carp */
{ 0x164D, 10, 3, 5, "YELLOW_CARP", CHIP_YELLOW_CARP },
{ 0x1681, 10, 3, 5, "YELLOW_CARP", CHIP_YELLOW_CARP },
{ 0x164D, 10, 3, 5, "YELLOW_CARP" },
{ 0x1681, 10, 3, 5, "YELLOW_CARP" },
};
/* information from /proc/cpuinfo */
@@ -766,9 +759,6 @@ static const struct hsa_gfxip_table *find_hsa_gfxip_device(uint16_t device_id)
{
uint32_t i, table_size;
if (force_asic)
return &force_asic_entry;
table_size = sizeof(gfxip_lookup_table)/sizeof(struct hsa_gfxip_table);
for (i = 0; i < table_size; i++) {
if (gfxip_lookup_table[i].device_id == device_id)
@@ -777,20 +767,6 @@ static const struct hsa_gfxip_table *find_hsa_gfxip_device(uint16_t device_id)
return NULL;
}
HSAKMT_STATUS topology_get_asic_family(uint16_t device_id,
enum asic_family_type *asic)
{
const struct hsa_gfxip_table *hsa_gfxip =
find_hsa_gfxip_device(device_id);
if (!hsa_gfxip)
return HSAKMT_STATUS_INVALID_PARAMETER;
*asic = hsa_gfxip->asic_family;
return HSAKMT_STATUS_SUCCESS;
}
void topology_setup_is_dgpu_param(HsaNodeProperties *props)
{
/* if we found a dGPU node, then treat the whole system as dGPU */
@@ -1120,7 +1096,7 @@ HSAKMT_STATUS topology_sysfs_get_node_props(uint32_t node_id,
props->DeviceId);
if (props->NumFComputeCores)
assert(props->EngineId.ui32.Major && "HSA_FORCE_ASIC_TYPE may be needed");
assert(props->EngineId.ui32.Major && "HSA_OVERRIDE_GFX_VERSION may be needed");
err:
free(read_buf);