From 1065aa85716c49ee300f87e3b7c358435bde3c49 Mon Sep 17 00:00:00 2001 From: Liao Xuan Date: Thu, 13 Mar 2025 23:16:37 -0400 Subject: [PATCH 1/3] anolis: x86/amd_nb: Get DF ID from F5 device for Hygon family 18h model 7h ANBZ: #19141 The DF ID is get from DF F5 device for Hygon family 18h model 7h processors. Signed-off-by: Liao Xuan --- arch/x86/kernel/amd_nb.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/x86/kernel/amd_nb.c b/arch/x86/kernel/amd_nb.c index 3961ffe9eec0..2a9d10ad1b7a 100644 --- a/arch/x86/kernel/amd_nb.c +++ b/arch/x86/kernel/amd_nb.c @@ -313,7 +313,8 @@ int get_df_id(struct pci_dev *misc, u8 *id) u32 value; int ret; - if (boot_cpu_data.x86_model == 0x6) { + if (boot_cpu_data.x86_model >= 0x6 && + boot_cpu_data.x86_model <= 0x7) { /* F5x180[19:16]: DF ID */ ret = get_df_register(misc, 5, 0x180, &value); *id = (value >> 16) & 0xf; -- Gitee From 77dd4f4c50fdff63d87af1ccc3df58953f71436d Mon Sep 17 00:00:00 2001 From: Liao Xuan Date: Thu, 13 Mar 2025 23:17:55 -0400 Subject: [PATCH 2/3] anolis: x86/amd_nb: Add support for Hygon family 18h model 8h ANBZ: #19141 Add Hygon family 18h model 8h processor support for amd_nb. Signed-off-by: Liao Xuan --- arch/x86/kernel/amd_nb.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/arch/x86/kernel/amd_nb.c b/arch/x86/kernel/amd_nb.c index 2a9d10ad1b7a..238803562870 100644 --- a/arch/x86/kernel/amd_nb.c +++ b/arch/x86/kernel/amd_nb.c @@ -270,8 +270,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: @@ -279,8 +278,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: @@ -314,7 +312,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; -- Gitee From b4d3127904947eb610cc7b0531f27f472184e7a6 Mon Sep 17 00:00:00 2001 From: Liao Xuan Date: Thu, 13 Mar 2025 23:18:40 -0400 Subject: [PATCH 3/3] anolis: EDAC/amd64: Add support for Hygon family 18h model 8h ANBZ: #19141 Add Hygon family 18h model 8h processor support for amd64_edac. Signed-off-by: Liao Xuan --- drivers/edac/amd64_edac.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/edac/amd64_edac.c b/drivers/edac/amd64_edac.c index 03553ceaf12e..f62534e61ee8 100644 --- a/drivers/edac/amd64_edac.c +++ b/drivers/edac/amd64_edac.c @@ -3552,6 +3552,11 @@ static struct amd64_family_type *per_family_init(struct amd64_pvt *pvt) pvt->ops = &family_types[F18_M06H_CPUS].ops; family_types[F18_M06H_CPUS].ctl_name = "F18h_M07h"; break; + } else if (pvt->model == 0x8) { + fam_type = &family_types[F18_M06H_CPUS]; + pvt->ops = &family_types[F18_M06H_CPUS].ops; + family_types[F18_M06H_CPUS].ctl_name = "F18h_M08h"; + break; } else if (pvt->model == 0x10) { fam_type = &family_types[F18_M10H_CPUS]; pvt->ops = &family_types[F18_M10H_CPUS].ops; -- Gitee