diff --git a/x86_64/corefreq-api.h b/x86_64/corefreq-api.h index 4a8cf26..636c520 100644 --- a/x86_64/corefreq-api.h +++ b/x86_64/corefreq-api.h @@ -1636,3 +1636,6 @@ typedef struct #define DID_AMD_19H_RAPHAEL_DF_UMC 0x14e0 /* Raphael */ #define DID_AMD_19H_GENOA_DF_UMC 0x14ad /* Genoa */ #define DID_AMD_19H_PHOENIX_DF_UMC 0x14f0 /* Phoenix */ +/* Source: AMD PPR Vol 1 for AMD Family 1Ah Model 02h C1 */ +#define DID_AMD_1AH_ZEN5_TURIN_IOMMU 0x153b /* Turin */ +#define DID_AMD_1AH_TURIN_DF_UMC 0x12c0 /* Turin */ diff --git a/x86_64/corefreqd.c b/x86_64/corefreqd.c index 561b8f6..b540d90 100644 --- a/x86_64/corefreqd.c +++ b/x86_64/corefreqd.c @@ -7711,6 +7711,7 @@ void PCI_AMD(RO(SHM_STRUCT) *RO(Shm), RO(PROC) *RO(Proc), RO(CORE) *RO(Core), case DID_AMD_19H_ZEN4_RPL_NB_IOMMU: case DID_AMD_19H_ZEN4_GNA_NB_IOMMU: case DID_AMD_19H_ZEN4_PHX_NB_IOMMU: + case DID_AMD_1AH_ZEN5_TURIN_IOMMU: AMD_17h_IOMMU(RO(Shm), RO(Proc)); break; case DID_AMD_17H_ZEPPELIN_DF_UMC: @@ -7729,6 +7730,7 @@ void PCI_AMD(RO(SHM_STRUCT) *RO(Shm), RO(PROC) *RO(Proc), RO(CORE) *RO(Core), case DID_AMD_19H_RAPHAEL_DF_UMC: case DID_AMD_19H_GENOA_DF_UMC: case DID_AMD_19H_PHOENIX_DF_UMC: + case DID_AMD_1AH_TURIN_DF_UMC: AMD_17h_UMC(RO(Shm), RO(Proc)); AMD_17h_CAP(RO(Shm), RO(Proc), RO(Core)); SET_CHIPSET(IC_ZEN); diff --git a/x86_64/corefreqk.h b/x86_64/corefreqk.h index e003ee9..6b6acc2 100644 --- a/x86_64/corefreqk.h +++ b/x86_64/corefreqk.h @@ -2071,6 +2071,8 @@ static void InitTimer_AMD_Zen4_RPL(unsigned int cpu) ; [Zen4c/Hawk Point] AF_7Ch 4 nm [HWK] [Zen4c][Bergamo][Siena] AF_A0h Stepping [1][2] 5 nm SVR [Zen4/Storm Peak] AF_18h Stepping 1 5 nm WS/SP6 + + [Family 1Ah] BF_00h [Zen5/5c/Strix Point] BF_24h 4 nm [STX]/FP8 [Zen5/Granite Ridge] BF_44h 4 nm Eldora [Zen5/Turin] BF_02h Stepping 1 4 nm SP5 @@ -2188,6 +2190,7 @@ static PCI_CALLBACK AMD_DataFabric_Rembrandt(struct pci_dev *pdev) ; static PCI_CALLBACK AMD_DataFabric_Raphael(struct pci_dev *pdev) ; static PCI_CALLBACK AMD_DataFabric_Genoa(struct pci_dev *pdev) ; static PCI_CALLBACK AMD_DataFabric_Phoenix(struct pci_dev *pdev) ; +#define AMD_DataFabric_Turin AMD_DataFabric_Genoa static struct pci_device_id PCI_Void_ids[] = { {0, } @@ -3443,7 +3446,19 @@ static struct pci_device_id PCI_AMD_17h_ids[] = { }; #define PCI_AMD_19h_ids PCI_AMD_17h_ids -#define PCI_AMD_1Ah_ids PCI_AMD_19h_ids + +/* AMD Family 1Ah */ +static struct pci_device_id PCI_AMD_1Ah_ids[] = { + { + PCI_VDEVICE(AMD, DID_AMD_1AH_ZEN5_TURIN_IOMMU), + .driver_data = (kernel_ulong_t) AMD_Zen_IOMMU + }, + { + PCI_VDEVICE(AMD, DID_AMD_1AH_TURIN_DF_UMC), + .driver_data = (kernel_ulong_t) AMD_DataFabric_Turin + }, + {0, } +}; /* Left as empty for initialization purpose. */ static char *Arch_Misc_Processor[] = ZLIST(NULL);