mirror of
https://github.com/cyring/CoreFreq.git
synced 2025-07-23 12:13:07 +02:00
[AMD] Attempt to decode Phoenix' UMC and IOMMU controllers
This commit is contained in:
@@ -1484,6 +1484,7 @@ typedef struct
|
||||
/* Source: AMD Ryzen 9 7950X [ Zen4/Raphael ] */
|
||||
#define DID_AMD_19H_ZEN4_RPL_NB_IOMMU 0x14d9 /* Raphael */
|
||||
#define DID_AMD_19H_ZEN4_GNA_NB_IOMMU 0x149e /* Genoa */
|
||||
#define DID_AMD_19H_ZEN4_PHX_NB_IOMMU 0x14e9 /* Phoenix */
|
||||
/* Source: /include/linux/pci_ids.h */
|
||||
#define DID_AMD_17H_ZEPPELIN_DF_UMC 0x1460 /* Zeppelin */
|
||||
#define DID_AMD_17H_RAVEN_DF_UMC 0x15e8 /* Raven */
|
||||
@@ -1499,3 +1500,4 @@ typedef struct
|
||||
#define DID_AMD_19H_REMBRANDT_DF_UMC 0x1679 /* Rembrandt */
|
||||
#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 */
|
||||
|
@@ -7023,6 +7023,7 @@ void PCI_AMD(RO(SHM_STRUCT) *RO(Shm), RO(PROC) *RO(Proc), RO(CORE) *RO(Core),
|
||||
case DID_AMD_19H_ZEN3_RMB_NB_IOMMU:
|
||||
case DID_AMD_19H_ZEN4_RPL_NB_IOMMU:
|
||||
case DID_AMD_19H_ZEN4_GNA_NB_IOMMU:
|
||||
case DID_AMD_19H_ZEN4_PHX_NB_IOMMU:
|
||||
AMD_17h_IOMMU(RO(Shm), RO(Proc));
|
||||
break;
|
||||
case DID_AMD_17H_ZEPPELIN_DF_UMC:
|
||||
@@ -7039,6 +7040,7 @@ void PCI_AMD(RO(SHM_STRUCT) *RO(Shm), RO(PROC) *RO(Proc), RO(CORE) *RO(Core),
|
||||
case DID_AMD_19H_REMBRANDT_DF_UMC:
|
||||
case DID_AMD_19H_RAPHAEL_DF_UMC:
|
||||
case DID_AMD_19H_GENOA_DF_UMC:
|
||||
case DID_AMD_19H_PHOENIX_DF_UMC:
|
||||
AMD_17h_UMC(RO(Shm), RO(Proc));
|
||||
AMD_17h_CAP(RO(Shm), RO(Proc), RO(Core));
|
||||
SET_CHIPSET(IC_ZEN);
|
||||
|
12
corefreqk.c
12
corefreqk.c
@@ -6843,6 +6843,18 @@ static PCI_CALLBACK AMD_DataFabric_Genoa(struct pci_dev *pdev)
|
||||
(const unsigned int[]) {PCI_DEVFN(0x18, 0x0)} );
|
||||
}
|
||||
|
||||
static PCI_CALLBACK AMD_DataFabric_Phoenix(struct pci_dev *pdev)
|
||||
{
|
||||
return AMD_17h_DataFabric( pdev,
|
||||
(const unsigned int[2][2]) {
|
||||
{ 0x0, 0x20},
|
||||
{0x10, 0x30}
|
||||
},
|
||||
0x44, 0x90,
|
||||
1, MC_MAX_CHA,
|
||||
(const unsigned int[]) {PCI_DEVFN(0x18, 0x0)} );
|
||||
}
|
||||
|
||||
static void CoreFreqK_ResetChip(struct pci_dev *dev)
|
||||
{
|
||||
UNUSED(dev);
|
||||
|
@@ -2109,6 +2109,7 @@ static PCI_CALLBACK AMD_DataFabric_Cezanne(struct pci_dev *pdev) ;
|
||||
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) ;
|
||||
|
||||
static struct pci_device_id PCI_Void_ids[] = {
|
||||
{0, }
|
||||
@@ -3082,6 +3083,10 @@ static struct pci_device_id PCI_AMD_17h_ids[] = {
|
||||
PCI_VDEVICE(AMD, DID_AMD_19H_ZEN4_GNA_NB_IOMMU),
|
||||
.driver_data = (kernel_ulong_t) AMD_Zen_IOMMU
|
||||
},
|
||||
{
|
||||
PCI_VDEVICE(AMD, DID_AMD_19H_ZEN4_PHX_NB_IOMMU),
|
||||
.driver_data = (kernel_ulong_t) AMD_Zen_IOMMU
|
||||
},
|
||||
/* Source: HYGON: PCI list */
|
||||
{
|
||||
PCI_VDEVICE(HYGON, DID_AMD_17H_ZEN_PLUS_NB_IOMMU),
|
||||
@@ -3146,6 +3151,10 @@ static struct pci_device_id PCI_AMD_17h_ids[] = {
|
||||
PCI_VDEVICE(AMD, DID_AMD_19H_GENOA_DF_UMC),
|
||||
.driver_data = (kernel_ulong_t) AMD_DataFabric_Genoa
|
||||
},
|
||||
{
|
||||
PCI_VDEVICE(AMD, DID_AMD_19H_PHOENIX_DF_UMC),
|
||||
.driver_data = (kernel_ulong_t) AMD_DataFabric_Phoenix
|
||||
},
|
||||
{0, }
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user