diff options
| author | Borislav Petkov <borislav.petkov@amd.com> | 2011-08-24 12:44:22 -0400 |
|---|---|---|
| committer | Borislav Petkov <borislav.petkov@amd.com> | 2011-10-06 06:34:04 -0400 |
| commit | b0b07a2bd4fbb6198d4e7142337214eeb77c417a (patch) | |
| tree | 5beb6c94ff556abaa381a55b94f70e74d98c57a7 | |
| parent | 295d8cda2689a74ae88bcece7b4cfe0bf8bf9a91 (diff) | |
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>
| -rw-r--r-- | drivers/edac/amd64_edac.c | 6 | ||||
| -rw-r--r-- | drivers/edac/mce_amd.c | 20 | ||||
| -rw-r--r-- | drivers/edac/mce_amd.h | 6 |
3 files changed, 15 insertions, 17 deletions
diff --git a/drivers/edac/amd64_edac.c b/drivers/edac/amd64_edac.c index 9a8bebcf6b17..9bf0b6228529 100644 --- a/drivers/edac/amd64_edac.c +++ b/drivers/edac/amd64_edac.c | |||
| @@ -1953,11 +1953,9 @@ static inline void __amd64_decode_bus_error(struct mem_ctl_info *mci, | |||
| 1953 | amd64_handle_ue(mci, m); | 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]; | 1958 | __amd64_decode_bus_error(mcis[node_id], m); |
| 1959 | |||
| 1960 | __amd64_decode_bus_error(mci, m); | ||
| 1961 | } | 1959 | } |
| 1962 | 1960 | ||
| 1963 | /* | 1961 | /* |
diff --git a/drivers/edac/mce_amd.c b/drivers/edac/mce_amd.c index b81c5da542c0..d0864d9c38ad 100644 --- a/drivers/edac/mce_amd.c +++ b/drivers/edac/mce_amd.c | |||
| @@ -9,7 +9,7 @@ static u8 xec_mask = 0xf; | |||
| 9 | static u8 nb_err_cpumask = 0xf; | 9 | static u8 nb_err_cpumask = 0xf; |
| 10 | 10 | ||
| 11 | static bool report_gart_errors; | 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 | void amd_report_gart_errors(bool v) | 14 | void amd_report_gart_errors(bool v) |
| 15 | { | 15 | { |
| @@ -17,13 +17,13 @@ void amd_report_gart_errors(bool v) | |||
| 17 | } | 17 | } |
| 18 | EXPORT_SYMBOL_GPL(amd_report_gart_errors); | 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 | nb_bus_decoder = f; | 22 | nb_bus_decoder = f; |
| 23 | } | 23 | } |
| 24 | EXPORT_SYMBOL_GPL(amd_register_ecc_decoder); | 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 | if (nb_bus_decoder) { | 28 | if (nb_bus_decoder) { |
| 29 | WARN_ON(nb_bus_decoder != f); | 29 | WARN_ON(nb_bus_decoder != f); |
| @@ -592,11 +592,12 @@ static bool nb_noop_mce(u16 ec, u8 xec) | |||
| 592 | return false; | 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 | struct cpuinfo_x86 *c = &boot_cpu_data; | 597 | struct cpuinfo_x86 *c = &boot_cpu_data; |
| 598 | u16 ec = EC(m->status); | 598 | int node_id = amd_get_nb_id(m->extcpu); |
| 599 | u8 xec = XEC(m->status, 0x1f); | 599 | u16 ec = EC(m->status); |
| 600 | u8 xec = XEC(m->status, 0x1f); | ||
| 600 | 601 | ||
| 601 | pr_emerg(HW_ERR "Northbridge Error (node %d): ", node_id); | 602 | pr_emerg(HW_ERR "Northbridge Error (node %d): ", node_id); |
| 602 | 603 | ||
| @@ -630,7 +631,7 @@ void amd_decode_nb_mce(int node_id, struct mce *m, u32 nbcfg) | |||
| 630 | 631 | ||
| 631 | if (c->x86 == 0xf || c->x86 == 0x10 || c->x86 == 0x15) | 632 | if (c->x86 == 0xf || c->x86 == 0x10 || c->x86 == 0x15) |
| 632 | if ((xec == 0x8 || xec == 0x0) && nb_bus_decoder) | 633 | if ((xec == 0x8 || xec == 0x0) && nb_bus_decoder) |
| 633 | nb_bus_decoder(node_id, m, nbcfg); | 634 | nb_bus_decoder(node_id, m); |
| 634 | 635 | ||
| 635 | return; | 636 | return; |
| 636 | 637 | ||
| @@ -746,7 +747,7 @@ int amd_decode_mce(struct notifier_block *nb, unsigned long val, void *data) | |||
| 746 | { | 747 | { |
| 747 | struct mce *m = (struct mce *)data; | 748 | struct mce *m = (struct mce *)data; |
| 748 | struct cpuinfo_x86 *c = &boot_cpu_data; | 749 | struct cpuinfo_x86 *c = &boot_cpu_data; |
| 749 | int node, ecc; | 750 | int ecc; |
| 750 | 751 | ||
| 751 | if (amd_filter_mce(m)) | 752 | if (amd_filter_mce(m)) |
| 752 | return NOTIFY_STOP; | 753 | return NOTIFY_STOP; |
| @@ -795,8 +796,7 @@ int amd_decode_mce(struct notifier_block *nb, unsigned long val, void *data) | |||
| 795 | break; | 796 | break; |
| 796 | 797 | ||
| 797 | case 4: | 798 | case 4: |
| 798 | node = amd_get_nb_id(m->extcpu); | 799 | amd_decode_nb_mce(m); |
| 799 | amd_decode_nb_mce(node, m, 0); | ||
| 800 | break; | 800 | break; |
| 801 | 801 | ||
| 802 | case 5: | 802 | case 5: |
diff --git a/drivers/edac/mce_amd.h b/drivers/edac/mce_amd.h index 795a3206acf5..0106747e240c 100644 --- a/drivers/edac/mce_amd.h +++ b/drivers/edac/mce_amd.h | |||
| @@ -86,9 +86,9 @@ struct amd_decoder_ops { | |||
| 86 | }; | 86 | }; |
| 87 | 87 | ||
| 88 | void amd_report_gart_errors(bool); | 88 | void amd_report_gart_errors(bool); |
| 89 | void amd_register_ecc_decoder(void (*f)(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 *, u32)); | 90 | void amd_unregister_ecc_decoder(void (*f)(int, struct mce *)); |
| 91 | void amd_decode_nb_mce(int, struct mce *, u32); | 91 | void amd_decode_nb_mce(struct mce *); |
| 92 | int amd_decode_mce(struct notifier_block *nb, unsigned long val, void *data); | 92 | int amd_decode_mce(struct notifier_block *nb, unsigned long val, void *data); |
| 93 | 93 | ||
| 94 | #endif /* _EDAC_MCE_AMD_H */ | 94 | #endif /* _EDAC_MCE_AMD_H */ |
