Created
August 9, 2019 14:52
-
-
Save nvsofts/f35d519b3c958280afbc686bda5d0b37 to your computer and use it in GitHub Desktop.
EDAC, k10temp: Support AMD Ryzen 3000 "Matisse" CPU
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/arch/x86/kernel/amd_nb.c b/arch/x86/kernel/amd_nb.c | |
index 002aedc69393..d210d3c0c518 100644 | |
--- a/arch/x86/kernel/amd_nb.c | |
+++ b/arch/x86/kernel/amd_nb.c | |
@@ -21,6 +21,7 @@ | |
#define PCI_DEVICE_ID_AMD_17H_DF_F4 0x1464 | |
#define PCI_DEVICE_ID_AMD_17H_M10H_DF_F4 0x15ec | |
#define PCI_DEVICE_ID_AMD_17H_M30H_DF_F4 0x1494 | |
+#define PCI_DEVICE_ID_AMD_17H_M70H_DF_F4 0x1444 | |
/* Protect the PCI config register pairs used for SMN and DF indirect access. */ | |
static DEFINE_MUTEX(smn_mutex); | |
@@ -49,6 +50,7 @@ const struct pci_device_id amd_nb_misc_ids[] = { | |
{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_17H_DF_F3) }, | |
{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_17H_M10H_DF_F3) }, | |
{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_17H_M30H_DF_F3) }, | |
+ { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_17H_M70H_DF_F3) }, | |
{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_CNB17H_F3) }, | |
{} | |
}; | |
@@ -63,6 +65,7 @@ static const struct pci_device_id amd_nb_link_ids[] = { | |
{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_17H_DF_F4) }, | |
{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_17H_M10H_DF_F4) }, | |
{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_17H_M30H_DF_F4) }, | |
+ { PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_17H_M70H_DF_F4) }, | |
{ PCI_DEVICE(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_CNB17H_F4) }, | |
{} | |
}; | |
diff --git a/drivers/edac/amd64_edac.c b/drivers/edac/amd64_edac.c | |
index 873437be86d9..a35c97f9100a 100644 | |
--- a/drivers/edac/amd64_edac.c | |
+++ b/drivers/edac/amd64_edac.c | |
@@ -2253,6 +2253,15 @@ static struct amd64_family_type family_types[] = { | |
.dbam_to_cs = f17_base_addr_to_cs_size, | |
} | |
}, | |
+ [F17_M70H_CPUS] = { | |
+ .ctl_name = "F17h_M70h", | |
+ .f0_id = PCI_DEVICE_ID_AMD_17H_M70H_DF_F0, | |
+ .f6_id = PCI_DEVICE_ID_AMD_17H_M70H_DF_F6, | |
+ .ops = { | |
+ .early_channel_count = f17_early_channel_count, | |
+ .dbam_to_cs = f17_base_addr_to_cs_size, | |
+ } | |
+ }, | |
}; | |
/* | |
@@ -3241,6 +3250,10 @@ static struct amd64_family_type *per_family_init(struct amd64_pvt *pvt) | |
fam_type = &family_types[F17_M30H_CPUS]; | |
pvt->ops = &family_types[F17_M30H_CPUS].ops; | |
break; | |
+ } else if (pvt->model >= 0x70 && pvt->model <= 0x7f) { | |
+ fam_type = &family_types[F17_M70H_CPUS]; | |
+ pvt->ops = &family_types[F17_M70H_CPUS].ops; | |
+ break; | |
} | |
/* fall through */ | |
case 0x18: | |
diff --git a/drivers/edac/amd64_edac.h b/drivers/edac/amd64_edac.h | |
index 8f66472f7adc..982358bd7fe0 100644 | |
--- a/drivers/edac/amd64_edac.h | |
+++ b/drivers/edac/amd64_edac.h | |
@@ -119,6 +119,9 @@ | |
#define PCI_DEVICE_ID_AMD_17H_M10H_DF_F6 0x15ee | |
#define PCI_DEVICE_ID_AMD_17H_M30H_DF_F0 0x1490 | |
#define PCI_DEVICE_ID_AMD_17H_M30H_DF_F6 0x1496 | |
+#define PCI_DEVICE_ID_AMD_17H_M70H_DF_F0 0x1440 | |
+#define PCI_DEVICE_ID_AMD_17H_M70H_DF_F6 0x1446 | |
+ | |
/* | |
* Function 1 - Address Map | |
@@ -285,6 +288,7 @@ enum amd_families { | |
F17_CPUS, | |
F17_M10H_CPUS, | |
F17_M30H_CPUS, | |
+ F17_M70H_CPUS, | |
NUM_FAMILIES, | |
}; | |
diff --git a/drivers/hwmon/k10temp.c b/drivers/hwmon/k10temp.c | |
index c77e89239dcd..5c1dddde193c 100644 | |
--- a/drivers/hwmon/k10temp.c | |
+++ b/drivers/hwmon/k10temp.c | |
@@ -349,6 +349,7 @@ static const struct pci_device_id k10temp_id_table[] = { | |
{ PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_17H_DF_F3) }, | |
{ PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_17H_M10H_DF_F3) }, | |
{ PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_17H_M30H_DF_F3) }, | |
+ { PCI_VDEVICE(AMD, PCI_DEVICE_ID_AMD_17H_M70H_DF_F3) }, | |
{ PCI_VDEVICE(HYGON, PCI_DEVICE_ID_AMD_17H_DF_F3) }, | |
{} | |
}; | |
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h | |
index 70e86148cb1e..862556761bbf 100644 | |
--- a/include/linux/pci_ids.h | |
+++ b/include/linux/pci_ids.h | |
@@ -548,6 +548,7 @@ | |
#define PCI_DEVICE_ID_AMD_17H_DF_F3 0x1463 | |
#define PCI_DEVICE_ID_AMD_17H_M10H_DF_F3 0x15eb | |
#define PCI_DEVICE_ID_AMD_17H_M30H_DF_F3 0x1493 | |
+#define PCI_DEVICE_ID_AMD_17H_M70H_DF_F3 0x1443 | |
#define PCI_DEVICE_ID_AMD_CNB17H_F3 0x1703 | |
#define PCI_DEVICE_ID_AMD_LANCE 0x2000 | |
#define PCI_DEVICE_ID_AMD_LANCE_HOME 0x2001 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment