Squash merge of cfreehil/amd-temp-gfx90a onto amd-staging.

Includes some workarounds and HMM.
Conflicts:
	opensrc/hsa-runtime/core/runtime/amd_topology.cpp
	opensrc/hsa-runtime/core/util/flag.h

Change-Id: I22976f07964a43dbb228a6231777dbd599112b8d
This commit is contained in:
Sean Keely
2021-04-01 20:51:51 -05:00
parent 4197461b7f
commit 7333c77e22
30 changed files with 1102 additions and 154 deletions
+8 -10
View File
@@ -50,17 +50,11 @@
namespace rocr {
namespace image {
uint32_t MajorVerFromDevID(uint32_t dev_id) {
return dev_id/100;
}
uint32_t MajorVerFromDevID(uint32_t dev_id) { return dev_id >> 8; }
uint32_t MinorVerFromDevID(uint32_t dev_id) {
return (dev_id % 100)/10;
}
uint32_t MinorVerFromDevID(uint32_t dev_id) { return (dev_id >> 4) & 0xF; }
uint32_t StepFromDevID(uint32_t dev_id) {
return (dev_id%100)%10;
}
uint32_t StepFromDevID(uint32_t dev_id) { return dev_id & 0xF; }
hsa_status_t GetGPUAsicID(hsa_agent_t agent, uint32_t *chip_id) {
char asic_name[64];
@@ -78,7 +72,10 @@ hsa_status_t GetGPUAsicID(hsa_agent_t agent, uint32_t *chip_id) {
assert(a_str.compare(0, 3, "gfx", 3) == 0);
a_str.erase(0,3);
*chip_id = std::stoi(a_str);
// Load chip_id accounting for stepping and minor in hex and major in dec.
*chip_id = std::stoi(a_str.substr(a_str.length() - 2), nullptr, 16);
*chip_id += (std::stoi(a_str.substr(0, a_str.length() - 2)) << 8);
return HSA_STATUS_SUCCESS;
}
@@ -163,6 +160,7 @@ uint32_t DevIDToAddrLibFamily(uint32_t dev_id) {
case 4: // Vega12
case 6: // Vega20
case 8: // Arcturus
case 10: // Aldebaran
return FAMILY_AI;
case 2: