diff --git a/arch/x86/kernel/amd_nb.c b/arch/x86/kernel/amd_nb.c index f2830067e174102ef6e9d16debb988012e1c0415..95fc11b374b7f0ffc97d8730409ebda69ab1b467 100644 --- a/arch/x86/kernel/amd_nb.c +++ b/arch/x86/kernel/amd_nb.c @@ -299,8 +299,7 @@ static int get_df_register(struct pci_dev *misc, u8 func, int offset, u32 *value else device = PCI_DEVICE_ID_HYGON_18H_M04H_DF_F1; break; - case 0x6: - case 0x7: + case 0x6 ... 0x8: device = PCI_DEVICE_ID_HYGON_18H_M05H_DF_F1; break; default: @@ -308,8 +307,7 @@ static int get_df_register(struct pci_dev *misc, u8 func, int offset, u32 *value } } else if (func == 5) { switch (boot_cpu_data.x86_model) { - case 0x6: - case 0x7: + case 0x6 ... 0x8: device = PCI_DEVICE_ID_HYGON_18H_M06H_DF_F5; break; default: @@ -343,7 +341,7 @@ int get_df_id(struct pci_dev *misc, u8 *id) int ret; if (boot_cpu_data.x86_model >= 0x6 && - boot_cpu_data.x86_model <= 0x7) { + boot_cpu_data.x86_model <= 0xf) { /* F5x180[19:16]: DF ID */ ret = get_df_register(misc, 5, 0x180, &value); *id = (value >> 16) & 0xf; diff --git a/drivers/edac/amd64_edac.c b/drivers/edac/amd64_edac.c index 2286146e0ac7e43254e8589630d54d7e7f19fe4b..d23488f2586454fa43d79bdc0e54698678921356 100644 --- a/drivers/edac/amd64_edac.c +++ b/drivers/edac/amd64_edac.c @@ -4209,6 +4209,9 @@ static int per_family_init(struct amd64_pvt *pvt) } else if (pvt->model == 0x7) { pvt->ctl_name = "F18h_M07h"; break; + } else if (pvt->model == 0x8) { + pvt->ctl_name = "F18h_M08h"; + break; } else if (pvt->model == 0x10) { pvt->ctl_name = "F18h_M10h"; break;