RAS/AMD/ATL: Add MI300 support
authorMuralidhara M K <muralidhara.mk@amd.com>
Sun, 28 Jan 2024 15:59:50 +0000 (09:59 -0600)
committerBorislav Petkov (AMD) <bp@alien8.de>
Mon, 29 Jan 2024 09:22:41 +0000 (10:22 +0100)
commit453f0ae797328e675840466c80e5b268d7feb9ba
tree4cf5c7f7f23d7252ecf12d7d3932f970733201f9
parent1289c431641f8beacc47db506210154dcea2492a
RAS/AMD/ATL: Add MI300 support

AMD MI300 systems include on-die HBM3 memory and a unique topology. And
they fall under Data Fabric version 4.5 in overall design.

Generally, topology information (IDs, etc.) is gathered from Data Fabric
registers. However, the unique topology for MI300 means that some
topology information is fixed in hardware and follows arbitrary
mappings. Furthermore, not all hardware instances are software-visible,
so register accesses must be adjusted.

Recognize and add helper functions for the new MI300 interleave modes.
Add lookup tables for fixed values where appropriate. Adjust how Die and
Node IDs are found and used.

Also, fix some register bitmasks that were mislabeled.

Signed-off-by: Muralidhara M K <muralidhara.mk@amd.com>
Co-developed-by: Yazen Ghannam <yazen.ghannam@amd.com>
Signed-off-by: Yazen Ghannam <yazen.ghannam@amd.com>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Link: https://lore.kernel.org/r/20240128155950.1434067-1-yazen.ghannam@amd.com
drivers/ras/amd/atl/access.c
drivers/ras/amd/atl/dehash.c
drivers/ras/amd/atl/denormalize.c
drivers/ras/amd/atl/internal.h
drivers/ras/amd/atl/map.c
drivers/ras/amd/atl/reg_fields.h
drivers/ras/amd/atl/system.c
drivers/ras/amd/atl/umc.c