Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

EDAC, MCE, AMD: Simplify NB MCE decoder interface

Drop third nbcfg argument which is old remains and not required anymore.

No functionality change.

Signed-off-by: Borislav Petkov <borislav.petkov@amd.com>

+15 -17
+2 -4
drivers/edac/amd64_edac.c
··· 1953 1953 amd64_handle_ue(mci, m); 1954 1954 } 1955 1955 1956 - void amd64_decode_bus_error(int node_id, struct mce *m, u32 nbcfg) 1956 + void amd64_decode_bus_error(int node_id, struct mce *m) 1957 1957 { 1958 - struct mem_ctl_info *mci = mcis[node_id]; 1959 - 1960 - __amd64_decode_bus_error(mci, m); 1958 + __amd64_decode_bus_error(mcis[node_id], m); 1961 1959 } 1962 1960 1963 1961 /*
+10 -10
drivers/edac/mce_amd.c
··· 9 9 static u8 nb_err_cpumask = 0xf; 10 10 11 11 static bool report_gart_errors; 12 - static void (*nb_bus_decoder)(int node_id, struct mce *m, u32 nbcfg); 12 + static void (*nb_bus_decoder)(int node_id, struct mce *m); 13 13 14 14 void amd_report_gart_errors(bool v) 15 15 { ··· 17 17 } 18 18 EXPORT_SYMBOL_GPL(amd_report_gart_errors); 19 19 20 - void amd_register_ecc_decoder(void (*f)(int, struct mce *, u32)) 20 + void amd_register_ecc_decoder(void (*f)(int, struct mce *)) 21 21 { 22 22 nb_bus_decoder = f; 23 23 } 24 24 EXPORT_SYMBOL_GPL(amd_register_ecc_decoder); 25 25 26 - void amd_unregister_ecc_decoder(void (*f)(int, struct mce *, u32)) 26 + void amd_unregister_ecc_decoder(void (*f)(int, struct mce *)) 27 27 { 28 28 if (nb_bus_decoder) { 29 29 WARN_ON(nb_bus_decoder != f); ··· 592 592 return false; 593 593 } 594 594 595 - void amd_decode_nb_mce(int node_id, struct mce *m, u32 nbcfg) 595 + void amd_decode_nb_mce(struct mce *m) 596 596 { 597 597 struct cpuinfo_x86 *c = &boot_cpu_data; 598 - u16 ec = EC(m->status); 599 - u8 xec = XEC(m->status, 0x1f); 598 + int node_id = amd_get_nb_id(m->extcpu); 599 + u16 ec = EC(m->status); 600 + u8 xec = XEC(m->status, 0x1f); 600 601 601 602 pr_emerg(HW_ERR "Northbridge Error (node %d): ", node_id); 602 603 ··· 631 630 632 631 if (c->x86 == 0xf || c->x86 == 0x10 || c->x86 == 0x15) 633 632 if ((xec == 0x8 || xec == 0x0) && nb_bus_decoder) 634 - nb_bus_decoder(node_id, m, nbcfg); 633 + nb_bus_decoder(node_id, m); 635 634 636 635 return; 637 636 ··· 747 746 { 748 747 struct mce *m = (struct mce *)data; 749 748 struct cpuinfo_x86 *c = &boot_cpu_data; 750 - int node, ecc; 749 + int ecc; 751 750 752 751 if (amd_filter_mce(m)) 753 752 return NOTIFY_STOP; ··· 796 795 break; 797 796 798 797 case 4: 799 - node = amd_get_nb_id(m->extcpu); 800 - amd_decode_nb_mce(node, m, 0); 798 + amd_decode_nb_mce(m); 801 799 break; 802 800 803 801 case 5:
+3 -3
drivers/edac/mce_amd.h
··· 86 86 }; 87 87 88 88 void amd_report_gart_errors(bool); 89 - void amd_register_ecc_decoder(void (*f)(int, struct mce *, u32)); 90 - void amd_unregister_ecc_decoder(void (*f)(int, struct mce *, u32)); 91 - void amd_decode_nb_mce(int, struct mce *, u32); 89 + void amd_register_ecc_decoder(void (*f)(int, struct mce *)); 90 + void amd_unregister_ecc_decoder(void (*f)(int, struct mce *)); 91 + void amd_decode_nb_mce(struct mce *); 92 92 int amd_decode_mce(struct notifier_block *nb, unsigned long val, void *data); 93 93 94 94 #endif /* _EDAC_MCE_AMD_H */