Loading drivers/edac/amd64_edac.c +2 −4 Original line number Original line Diff line number Diff line Loading @@ -1953,11 +1953,9 @@ static inline void __amd64_decode_bus_error(struct mem_ctl_info *mci, amd64_handle_ue(mci, m); amd64_handle_ue(mci, m); } } void amd64_decode_bus_error(int node_id, struct mce *m, u32 nbcfg) void amd64_decode_bus_error(int node_id, struct mce *m) { { struct mem_ctl_info *mci = mcis[node_id]; __amd64_decode_bus_error(mcis[node_id], m); __amd64_decode_bus_error(mci, m); } } /* /* Loading drivers/edac/mce_amd.c +10 −10 Original line number Original line Diff line number Diff line Loading @@ -9,7 +9,7 @@ static u8 xec_mask = 0xf; static u8 nb_err_cpumask = 0xf; static u8 nb_err_cpumask = 0xf; static bool report_gart_errors; static bool report_gart_errors; static void (*nb_bus_decoder)(int node_id, struct mce *m, u32 nbcfg); static void (*nb_bus_decoder)(int node_id, struct mce *m); void amd_report_gart_errors(bool v) void amd_report_gart_errors(bool v) { { Loading @@ -17,13 +17,13 @@ void amd_report_gart_errors(bool v) } } EXPORT_SYMBOL_GPL(amd_report_gart_errors); EXPORT_SYMBOL_GPL(amd_report_gart_errors); void amd_register_ecc_decoder(void (*f)(int, struct mce *, u32)) void amd_register_ecc_decoder(void (*f)(int, struct mce *)) { { nb_bus_decoder = f; nb_bus_decoder = f; } } EXPORT_SYMBOL_GPL(amd_register_ecc_decoder); EXPORT_SYMBOL_GPL(amd_register_ecc_decoder); void amd_unregister_ecc_decoder(void (*f)(int, struct mce *, u32)) void amd_unregister_ecc_decoder(void (*f)(int, struct mce *)) { { if (nb_bus_decoder) { if (nb_bus_decoder) { WARN_ON(nb_bus_decoder != f); WARN_ON(nb_bus_decoder != f); Loading Loading @@ -592,9 +592,10 @@ static bool nb_noop_mce(u16 ec, u8 xec) return false; return false; } } void amd_decode_nb_mce(int node_id, struct mce *m, u32 nbcfg) void amd_decode_nb_mce(struct mce *m) { { struct cpuinfo_x86 *c = &boot_cpu_data; struct cpuinfo_x86 *c = &boot_cpu_data; int node_id = amd_get_nb_id(m->extcpu); u16 ec = EC(m->status); u16 ec = EC(m->status); u8 xec = XEC(m->status, 0x1f); u8 xec = XEC(m->status, 0x1f); Loading Loading @@ -630,7 +631,7 @@ void amd_decode_nb_mce(int node_id, struct mce *m, u32 nbcfg) if (c->x86 == 0xf || c->x86 == 0x10 || c->x86 == 0x15) if (c->x86 == 0xf || c->x86 == 0x10 || c->x86 == 0x15) if ((xec == 0x8 || xec == 0x0) && nb_bus_decoder) if ((xec == 0x8 || xec == 0x0) && nb_bus_decoder) nb_bus_decoder(node_id, m, nbcfg); nb_bus_decoder(node_id, m); return; return; Loading Loading @@ -746,7 +747,7 @@ int amd_decode_mce(struct notifier_block *nb, unsigned long val, void *data) { { struct mce *m = (struct mce *)data; struct mce *m = (struct mce *)data; struct cpuinfo_x86 *c = &boot_cpu_data; struct cpuinfo_x86 *c = &boot_cpu_data; int node, ecc; int ecc; if (amd_filter_mce(m)) if (amd_filter_mce(m)) return NOTIFY_STOP; return NOTIFY_STOP; Loading Loading @@ -795,8 +796,7 @@ int amd_decode_mce(struct notifier_block *nb, unsigned long val, void *data) break; break; case 4: case 4: node = amd_get_nb_id(m->extcpu); amd_decode_nb_mce(m); amd_decode_nb_mce(node, m, 0); break; break; case 5: case 5: Loading drivers/edac/mce_amd.h +3 −3 Original line number Original line Diff line number Diff line Loading @@ -86,9 +86,9 @@ struct amd_decoder_ops { }; }; void amd_report_gart_errors(bool); void amd_report_gart_errors(bool); void amd_register_ecc_decoder(void (*f)(int, struct mce *, u32)); void amd_register_ecc_decoder(void (*f)(int, struct mce *)); void amd_unregister_ecc_decoder(void (*f)(int, struct mce *, u32)); void amd_unregister_ecc_decoder(void (*f)(int, struct mce *)); void amd_decode_nb_mce(int, struct mce *, u32); void amd_decode_nb_mce(struct mce *); int amd_decode_mce(struct notifier_block *nb, unsigned long val, void *data); int amd_decode_mce(struct notifier_block *nb, unsigned long val, void *data); #endif /* _EDAC_MCE_AMD_H */ #endif /* _EDAC_MCE_AMD_H */ Loading
drivers/edac/amd64_edac.c +2 −4 Original line number Original line Diff line number Diff line Loading @@ -1953,11 +1953,9 @@ static inline void __amd64_decode_bus_error(struct mem_ctl_info *mci, amd64_handle_ue(mci, m); amd64_handle_ue(mci, m); } } void amd64_decode_bus_error(int node_id, struct mce *m, u32 nbcfg) void amd64_decode_bus_error(int node_id, struct mce *m) { { struct mem_ctl_info *mci = mcis[node_id]; __amd64_decode_bus_error(mcis[node_id], m); __amd64_decode_bus_error(mci, m); } } /* /* Loading
drivers/edac/mce_amd.c +10 −10 Original line number Original line Diff line number Diff line Loading @@ -9,7 +9,7 @@ static u8 xec_mask = 0xf; static u8 nb_err_cpumask = 0xf; static u8 nb_err_cpumask = 0xf; static bool report_gart_errors; static bool report_gart_errors; static void (*nb_bus_decoder)(int node_id, struct mce *m, u32 nbcfg); static void (*nb_bus_decoder)(int node_id, struct mce *m); void amd_report_gart_errors(bool v) void amd_report_gart_errors(bool v) { { Loading @@ -17,13 +17,13 @@ void amd_report_gart_errors(bool v) } } EXPORT_SYMBOL_GPL(amd_report_gart_errors); EXPORT_SYMBOL_GPL(amd_report_gart_errors); void amd_register_ecc_decoder(void (*f)(int, struct mce *, u32)) void amd_register_ecc_decoder(void (*f)(int, struct mce *)) { { nb_bus_decoder = f; nb_bus_decoder = f; } } EXPORT_SYMBOL_GPL(amd_register_ecc_decoder); EXPORT_SYMBOL_GPL(amd_register_ecc_decoder); void amd_unregister_ecc_decoder(void (*f)(int, struct mce *, u32)) void amd_unregister_ecc_decoder(void (*f)(int, struct mce *)) { { if (nb_bus_decoder) { if (nb_bus_decoder) { WARN_ON(nb_bus_decoder != f); WARN_ON(nb_bus_decoder != f); Loading Loading @@ -592,9 +592,10 @@ static bool nb_noop_mce(u16 ec, u8 xec) return false; return false; } } void amd_decode_nb_mce(int node_id, struct mce *m, u32 nbcfg) void amd_decode_nb_mce(struct mce *m) { { struct cpuinfo_x86 *c = &boot_cpu_data; struct cpuinfo_x86 *c = &boot_cpu_data; int node_id = amd_get_nb_id(m->extcpu); u16 ec = EC(m->status); u16 ec = EC(m->status); u8 xec = XEC(m->status, 0x1f); u8 xec = XEC(m->status, 0x1f); Loading Loading @@ -630,7 +631,7 @@ void amd_decode_nb_mce(int node_id, struct mce *m, u32 nbcfg) if (c->x86 == 0xf || c->x86 == 0x10 || c->x86 == 0x15) if (c->x86 == 0xf || c->x86 == 0x10 || c->x86 == 0x15) if ((xec == 0x8 || xec == 0x0) && nb_bus_decoder) if ((xec == 0x8 || xec == 0x0) && nb_bus_decoder) nb_bus_decoder(node_id, m, nbcfg); nb_bus_decoder(node_id, m); return; return; Loading Loading @@ -746,7 +747,7 @@ int amd_decode_mce(struct notifier_block *nb, unsigned long val, void *data) { { struct mce *m = (struct mce *)data; struct mce *m = (struct mce *)data; struct cpuinfo_x86 *c = &boot_cpu_data; struct cpuinfo_x86 *c = &boot_cpu_data; int node, ecc; int ecc; if (amd_filter_mce(m)) if (amd_filter_mce(m)) return NOTIFY_STOP; return NOTIFY_STOP; Loading Loading @@ -795,8 +796,7 @@ int amd_decode_mce(struct notifier_block *nb, unsigned long val, void *data) break; break; case 4: case 4: node = amd_get_nb_id(m->extcpu); amd_decode_nb_mce(m); amd_decode_nb_mce(node, m, 0); break; break; case 5: case 5: Loading
drivers/edac/mce_amd.h +3 −3 Original line number Original line Diff line number Diff line Loading @@ -86,9 +86,9 @@ struct amd_decoder_ops { }; }; void amd_report_gart_errors(bool); void amd_report_gart_errors(bool); void amd_register_ecc_decoder(void (*f)(int, struct mce *, u32)); void amd_register_ecc_decoder(void (*f)(int, struct mce *)); void amd_unregister_ecc_decoder(void (*f)(int, struct mce *, u32)); void amd_unregister_ecc_decoder(void (*f)(int, struct mce *)); void amd_decode_nb_mce(int, struct mce *, u32); void amd_decode_nb_mce(struct mce *); int amd_decode_mce(struct notifier_block *nb, unsigned long val, void *data); int amd_decode_mce(struct notifier_block *nb, unsigned long val, void *data); #endif /* _EDAC_MCE_AMD_H */ #endif /* _EDAC_MCE_AMD_H */