diff options
| author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2011-04-05 02:20:22 -0400 |
|---|---|---|
| committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2011-04-05 02:20:22 -0400 |
| commit | 83ebb3e3441d370409072139c4e264101e106417 (patch) | |
| tree | 71e78bbc4eec9e122597ad0d3f9060debb8fb65f | |
| parent | b2a8b4b81966094703088a7bc76a313af841924d (diff) | |
| parent | a94d7b35067ab403485a1ea06b7a3d0172d1a1ba (diff) | |
Merge remote branch 'kumar/merge' into merge
| -rw-r--r-- | arch/powerpc/boot/dts/p1020rdb.dts | 12 | ||||
| -rw-r--r-- | arch/powerpc/boot/dts/p2020rdb.dts | 12 | ||||
| -rw-r--r-- | arch/powerpc/boot/dts/p2020rdb_camp_core0.dts | 4 | ||||
| -rw-r--r-- | arch/powerpc/boot/dts/p2020rdb_camp_core1.dts | 10 | ||||
| -rw-r--r-- | drivers/edac/mpc85xx_edac.c | 27 |
5 files changed, 38 insertions, 27 deletions
diff --git a/arch/powerpc/boot/dts/p1020rdb.dts b/arch/powerpc/boot/dts/p1020rdb.dts index 22f64b62d7f..e0668f87779 100644 --- a/arch/powerpc/boot/dts/p1020rdb.dts +++ b/arch/powerpc/boot/dts/p1020rdb.dts | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * P1020 RDB Device Tree Source | 2 | * P1020 RDB Device Tree Source |
| 3 | * | 3 | * |
| 4 | * Copyright 2009 Freescale Semiconductor Inc. | 4 | * Copyright 2009-2011 Freescale Semiconductor Inc. |
| 5 | * | 5 | * |
| 6 | * This program is free software; you can redistribute it and/or modify it | 6 | * This program is free software; you can redistribute it and/or modify it |
| 7 | * under the terms of the GNU General Public License as published by the | 7 | * under the terms of the GNU General Public License as published by the |
| @@ -553,7 +553,7 @@ | |||
| 553 | reg = <0 0xffe09000 0 0x1000>; | 553 | reg = <0 0xffe09000 0 0x1000>; |
| 554 | bus-range = <0 255>; | 554 | bus-range = <0 255>; |
| 555 | ranges = <0x2000000 0x0 0xa0000000 0 0xa0000000 0x0 0x20000000 | 555 | ranges = <0x2000000 0x0 0xa0000000 0 0xa0000000 0x0 0x20000000 |
| 556 | 0x1000000 0x0 0x00000000 0 0xffc30000 0x0 0x10000>; | 556 | 0x1000000 0x0 0x00000000 0 0xffc10000 0x0 0x10000>; |
| 557 | clock-frequency = <33333333>; | 557 | clock-frequency = <33333333>; |
| 558 | interrupt-parent = <&mpic>; | 558 | interrupt-parent = <&mpic>; |
| 559 | interrupts = <16 2>; | 559 | interrupts = <16 2>; |
| @@ -580,8 +580,8 @@ | |||
| 580 | #address-cells = <3>; | 580 | #address-cells = <3>; |
| 581 | reg = <0 0xffe0a000 0 0x1000>; | 581 | reg = <0 0xffe0a000 0 0x1000>; |
| 582 | bus-range = <0 255>; | 582 | bus-range = <0 255>; |
| 583 | ranges = <0x2000000 0x0 0xc0000000 0 0xc0000000 0x0 0x20000000 | 583 | ranges = <0x2000000 0x0 0x80000000 0 0x80000000 0x0 0x20000000 |
| 584 | 0x1000000 0x0 0x00000000 0 0xffc20000 0x0 0x10000>; | 584 | 0x1000000 0x0 0x00000000 0 0xffc00000 0x0 0x10000>; |
| 585 | clock-frequency = <33333333>; | 585 | clock-frequency = <33333333>; |
| 586 | interrupt-parent = <&mpic>; | 586 | interrupt-parent = <&mpic>; |
| 587 | interrupts = <16 2>; | 587 | interrupts = <16 2>; |
| @@ -590,8 +590,8 @@ | |||
| 590 | #size-cells = <2>; | 590 | #size-cells = <2>; |
| 591 | #address-cells = <3>; | 591 | #address-cells = <3>; |
| 592 | device_type = "pci"; | 592 | device_type = "pci"; |
| 593 | ranges = <0x2000000 0x0 0xc0000000 | 593 | ranges = <0x2000000 0x0 0x80000000 |
| 594 | 0x2000000 0x0 0xc0000000 | 594 | 0x2000000 0x0 0x80000000 |
| 595 | 0x0 0x20000000 | 595 | 0x0 0x20000000 |
| 596 | 596 | ||
| 597 | 0x1000000 0x0 0x0 | 597 | 0x1000000 0x0 0x0 |
diff --git a/arch/powerpc/boot/dts/p2020rdb.dts b/arch/powerpc/boot/dts/p2020rdb.dts index da4cb0d8d21..e2d48fd4416 100644 --- a/arch/powerpc/boot/dts/p2020rdb.dts +++ b/arch/powerpc/boot/dts/p2020rdb.dts | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * P2020 RDB Device Tree Source | 2 | * P2020 RDB Device Tree Source |
| 3 | * | 3 | * |
| 4 | * Copyright 2009 Freescale Semiconductor Inc. | 4 | * Copyright 2009-2011 Freescale Semiconductor Inc. |
| 5 | * | 5 | * |
| 6 | * This program is free software; you can redistribute it and/or modify it | 6 | * This program is free software; you can redistribute it and/or modify it |
| 7 | * under the terms of the GNU General Public License as published by the | 7 | * under the terms of the GNU General Public License as published by the |
| @@ -537,7 +537,7 @@ | |||
| 537 | reg = <0 0xffe09000 0 0x1000>; | 537 | reg = <0 0xffe09000 0 0x1000>; |
| 538 | bus-range = <0 255>; | 538 | bus-range = <0 255>; |
| 539 | ranges = <0x2000000 0x0 0xa0000000 0 0xa0000000 0x0 0x20000000 | 539 | ranges = <0x2000000 0x0 0xa0000000 0 0xa0000000 0x0 0x20000000 |
| 540 | 0x1000000 0x0 0x00000000 0 0xffc30000 0x0 0x10000>; | 540 | 0x1000000 0x0 0x00000000 0 0xffc10000 0x0 0x10000>; |
| 541 | clock-frequency = <33333333>; | 541 | clock-frequency = <33333333>; |
| 542 | interrupt-parent = <&mpic>; | 542 | interrupt-parent = <&mpic>; |
| 543 | interrupts = <25 2>; | 543 | interrupts = <25 2>; |
| @@ -564,8 +564,8 @@ | |||
| 564 | #address-cells = <3>; | 564 | #address-cells = <3>; |
| 565 | reg = <0 0xffe0a000 0 0x1000>; | 565 | reg = <0 0xffe0a000 0 0x1000>; |
| 566 | bus-range = <0 255>; | 566 | bus-range = <0 255>; |
| 567 | ranges = <0x2000000 0x0 0xc0000000 0 0xc0000000 0x0 0x20000000 | 567 | ranges = <0x2000000 0x0 0x80000000 0 0x80000000 0x0 0x20000000 |
| 568 | 0x1000000 0x0 0x00000000 0 0xffc20000 0x0 0x10000>; | 568 | 0x1000000 0x0 0x00000000 0 0xffc00000 0x0 0x10000>; |
| 569 | clock-frequency = <33333333>; | 569 | clock-frequency = <33333333>; |
| 570 | interrupt-parent = <&mpic>; | 570 | interrupt-parent = <&mpic>; |
| 571 | interrupts = <26 2>; | 571 | interrupts = <26 2>; |
| @@ -574,8 +574,8 @@ | |||
| 574 | #size-cells = <2>; | 574 | #size-cells = <2>; |
| 575 | #address-cells = <3>; | 575 | #address-cells = <3>; |
| 576 | device_type = "pci"; | 576 | device_type = "pci"; |
| 577 | ranges = <0x2000000 0x0 0xc0000000 | 577 | ranges = <0x2000000 0x0 0x80000000 |
| 578 | 0x2000000 0x0 0xc0000000 | 578 | 0x2000000 0x0 0x80000000 |
| 579 | 0x0 0x20000000 | 579 | 0x0 0x20000000 |
| 580 | 580 | ||
| 581 | 0x1000000 0x0 0x0 | 581 | 0x1000000 0x0 0x0 |
diff --git a/arch/powerpc/boot/dts/p2020rdb_camp_core0.dts b/arch/powerpc/boot/dts/p2020rdb_camp_core0.dts index 0fe93d0c8b2..b69c3a5dc85 100644 --- a/arch/powerpc/boot/dts/p2020rdb_camp_core0.dts +++ b/arch/powerpc/boot/dts/p2020rdb_camp_core0.dts | |||
| @@ -6,7 +6,7 @@ | |||
| 6 | * This dts file allows core0 to have memory, l2, i2c, spi, gpio, dma1, usb, | 6 | * This dts file allows core0 to have memory, l2, i2c, spi, gpio, dma1, usb, |
| 7 | * eth1, eth2, sdhc, crypto, global-util, pci0. | 7 | * eth1, eth2, sdhc, crypto, global-util, pci0. |
| 8 | * | 8 | * |
| 9 | * Copyright 2009 Freescale Semiconductor Inc. | 9 | * Copyright 2009-2011 Freescale Semiconductor Inc. |
| 10 | * | 10 | * |
| 11 | * This program is free software; you can redistribute it and/or modify it | 11 | * This program is free software; you can redistribute it and/or modify it |
| 12 | * under the terms of the GNU General Public License as published by the | 12 | * under the terms of the GNU General Public License as published by the |
| @@ -342,7 +342,7 @@ | |||
| 342 | reg = <0 0xffe09000 0 0x1000>; | 342 | reg = <0 0xffe09000 0 0x1000>; |
| 343 | bus-range = <0 255>; | 343 | bus-range = <0 255>; |
| 344 | ranges = <0x2000000 0x0 0xa0000000 0 0xa0000000 0x0 0x20000000 | 344 | ranges = <0x2000000 0x0 0xa0000000 0 0xa0000000 0x0 0x20000000 |
| 345 | 0x1000000 0x0 0x00000000 0 0xffc30000 0x0 0x10000>; | 345 | 0x1000000 0x0 0x00000000 0 0xffc10000 0x0 0x10000>; |
| 346 | clock-frequency = <33333333>; | 346 | clock-frequency = <33333333>; |
| 347 | interrupt-parent = <&mpic>; | 347 | interrupt-parent = <&mpic>; |
| 348 | interrupts = <25 2>; | 348 | interrupts = <25 2>; |
diff --git a/arch/powerpc/boot/dts/p2020rdb_camp_core1.dts b/arch/powerpc/boot/dts/p2020rdb_camp_core1.dts index e95a5128532..7a31d46c01b 100644 --- a/arch/powerpc/boot/dts/p2020rdb_camp_core1.dts +++ b/arch/powerpc/boot/dts/p2020rdb_camp_core1.dts | |||
| @@ -7,7 +7,7 @@ | |||
| 7 | * | 7 | * |
| 8 | * Please note to add "-b 1" for core1's dts compiling. | 8 | * Please note to add "-b 1" for core1's dts compiling. |
| 9 | * | 9 | * |
| 10 | * Copyright 2009 Freescale Semiconductor Inc. | 10 | * Copyright 2009-2011 Freescale Semiconductor Inc. |
| 11 | * | 11 | * |
| 12 | * This program is free software; you can redistribute it and/or modify it | 12 | * This program is free software; you can redistribute it and/or modify it |
| 13 | * under the terms of the GNU General Public License as published by the | 13 | * under the terms of the GNU General Public License as published by the |
| @@ -162,8 +162,8 @@ | |||
| 162 | #address-cells = <3>; | 162 | #address-cells = <3>; |
| 163 | reg = <0 0xffe0a000 0 0x1000>; | 163 | reg = <0 0xffe0a000 0 0x1000>; |
| 164 | bus-range = <0 255>; | 164 | bus-range = <0 255>; |
| 165 | ranges = <0x2000000 0x0 0xc0000000 0 0xc0000000 0x0 0x20000000 | 165 | ranges = <0x2000000 0x0 0x80000000 0 0x80000000 0x0 0x20000000 |
| 166 | 0x1000000 0x0 0x00000000 0 0xffc20000 0x0 0x10000>; | 166 | 0x1000000 0x0 0x00000000 0 0xffc00000 0x0 0x10000>; |
| 167 | clock-frequency = <33333333>; | 167 | clock-frequency = <33333333>; |
| 168 | interrupt-parent = <&mpic>; | 168 | interrupt-parent = <&mpic>; |
| 169 | interrupts = <26 2>; | 169 | interrupts = <26 2>; |
| @@ -172,8 +172,8 @@ | |||
| 172 | #size-cells = <2>; | 172 | #size-cells = <2>; |
| 173 | #address-cells = <3>; | 173 | #address-cells = <3>; |
| 174 | device_type = "pci"; | 174 | device_type = "pci"; |
| 175 | ranges = <0x2000000 0x0 0xc0000000 | 175 | ranges = <0x2000000 0x0 0x80000000 |
| 176 | 0x2000000 0x0 0xc0000000 | 176 | 0x2000000 0x0 0x80000000 |
| 177 | 0x0 0x20000000 | 177 | 0x0 0x20000000 |
| 178 | 178 | ||
| 179 | 0x1000000 0x0 0x0 | 179 | 0x1000000 0x0 0x0 |
diff --git a/drivers/edac/mpc85xx_edac.c b/drivers/edac/mpc85xx_edac.c index ffb5ad080be..38ab8e2cd7f 100644 --- a/drivers/edac/mpc85xx_edac.c +++ b/drivers/edac/mpc85xx_edac.c | |||
| @@ -1147,13 +1147,14 @@ static struct platform_driver mpc85xx_mc_err_driver = { | |||
| 1147 | static void __init mpc85xx_mc_clear_rfxe(void *data) | 1147 | static void __init mpc85xx_mc_clear_rfxe(void *data) |
| 1148 | { | 1148 | { |
| 1149 | orig_hid1[smp_processor_id()] = mfspr(SPRN_HID1); | 1149 | orig_hid1[smp_processor_id()] = mfspr(SPRN_HID1); |
| 1150 | mtspr(SPRN_HID1, (orig_hid1[smp_processor_id()] & ~0x20000)); | 1150 | mtspr(SPRN_HID1, (orig_hid1[smp_processor_id()] & ~HID1_RFXE)); |
| 1151 | } | 1151 | } |
| 1152 | #endif | 1152 | #endif |
| 1153 | 1153 | ||
| 1154 | static int __init mpc85xx_mc_init(void) | 1154 | static int __init mpc85xx_mc_init(void) |
| 1155 | { | 1155 | { |
| 1156 | int res = 0; | 1156 | int res = 0; |
| 1157 | u32 pvr = 0; | ||
| 1157 | 1158 | ||
| 1158 | printk(KERN_INFO "Freescale(R) MPC85xx EDAC driver, " | 1159 | printk(KERN_INFO "Freescale(R) MPC85xx EDAC driver, " |
| 1159 | "(C) 2006 Montavista Software\n"); | 1160 | "(C) 2006 Montavista Software\n"); |
| @@ -1183,12 +1184,17 @@ static int __init mpc85xx_mc_init(void) | |||
| 1183 | #endif | 1184 | #endif |
| 1184 | 1185 | ||
| 1185 | #ifdef CONFIG_FSL_SOC_BOOKE | 1186 | #ifdef CONFIG_FSL_SOC_BOOKE |
| 1186 | /* | 1187 | pvr = mfspr(SPRN_PVR); |
| 1187 | * need to clear HID1[RFXE] to disable machine check int | 1188 | |
| 1188 | * so we can catch it | 1189 | if ((PVR_VER(pvr) == PVR_VER_E500V1) || |
| 1189 | */ | 1190 | (PVR_VER(pvr) == PVR_VER_E500V2)) { |
| 1190 | if (edac_op_state == EDAC_OPSTATE_INT) | 1191 | /* |
| 1191 | on_each_cpu(mpc85xx_mc_clear_rfxe, NULL, 0); | 1192 | * need to clear HID1[RFXE] to disable machine check int |
| 1193 | * so we can catch it | ||
| 1194 | */ | ||
| 1195 | if (edac_op_state == EDAC_OPSTATE_INT) | ||
| 1196 | on_each_cpu(mpc85xx_mc_clear_rfxe, NULL, 0); | ||
| 1197 | } | ||
| 1192 | #endif | 1198 | #endif |
| 1193 | 1199 | ||
| 1194 | return 0; | 1200 | return 0; |
| @@ -1206,7 +1212,12 @@ static void __exit mpc85xx_mc_restore_hid1(void *data) | |||
| 1206 | static void __exit mpc85xx_mc_exit(void) | 1212 | static void __exit mpc85xx_mc_exit(void) |
| 1207 | { | 1213 | { |
| 1208 | #ifdef CONFIG_FSL_SOC_BOOKE | 1214 | #ifdef CONFIG_FSL_SOC_BOOKE |
| 1209 | on_each_cpu(mpc85xx_mc_restore_hid1, NULL, 0); | 1215 | u32 pvr = mfspr(SPRN_PVR); |
| 1216 | |||
| 1217 | if ((PVR_VER(pvr) == PVR_VER_E500V1) || | ||
| 1218 | (PVR_VER(pvr) == PVR_VER_E500V2)) { | ||
| 1219 | on_each_cpu(mpc85xx_mc_restore_hid1, NULL, 0); | ||
| 1220 | } | ||
| 1210 | #endif | 1221 | #endif |
| 1211 | #ifdef CONFIG_PCI | 1222 | #ifdef CONFIG_PCI |
| 1212 | platform_driver_unregister(&mpc85xx_pci_err_driver); | 1223 | platform_driver_unregister(&mpc85xx_pci_err_driver); |
