Skip to content

Commit 1b17366

Browse files
committed
Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc
Pull powerpc updates from Ben Herrenschmidt: "So here's my next branch for powerpc. A bit late as I was on vacation last week. It's mostly the same stuff that was in next already, I just added two patches today which are the wiring up of lockref for powerpc, which for some reason fell through the cracks last time and is trivial. The highlights are, in addition to a bunch of bug fixes: - Reworked Machine Check handling on kernels running without a hypervisor (or acting as a hypervisor). Provides hooks to handle some errors in real mode such as TLB errors, handle SLB errors, etc... - Support for retrieving memory error information from the service processor on IBM servers running without a hypervisor and routing them to the memory poison infrastructure. - _PAGE_NUMA support on server processors - 32-bit BookE relocatable kernel support - FSL e6500 hardware tablewalk support - A bunch of new/revived board support - FSL e6500 deeper idle states and altivec powerdown support You'll notice a generic mm change here, it has been acked by the relevant authorities and is a pre-req for our _PAGE_NUMA support" * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (121 commits) powerpc: Implement arch_spin_is_locked() using arch_spin_value_unlocked() powerpc: Add support for the optimised lockref implementation powerpc/powernv: Call OPAL sync before kexec'ing powerpc/eeh: Escalate error on non-existing PE powerpc/eeh: Handle multiple EEH errors powerpc: Fix transactional FP/VMX/VSX unavailable handlers powerpc: Don't corrupt transactional state when using FP/VMX in kernel powerpc: Reclaim two unused thread_info flag bits powerpc: Fix races with irq_work Move precessing of MCE queued event out from syscall exit path. pseries/cpuidle: Remove redundant call to ppc64_runlatch_off() in cpu idle routines powerpc: Make add_system_ram_resources() __init powerpc: add SATA_MV to ppc64_defconfig powerpc/powernv: Increase candidate fw image size powerpc: Add debug checks to catch invalid cpu-to-node mappings powerpc: Fix the setup of CPU-to-Node mappings during CPU online powerpc/iommu: Don't detach device without IOMMU group powerpc/eeh: Hotplug improvement powerpc/eeh: Call opal_pci_reinit() on powernv for restoring config space powerpc/eeh: Add restore_config operation ...
2 parents d12de1e + 7179ba5 commit 1b17366

214 files changed

Lines changed: 6171 additions & 1649 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
* Solomon SSD1289 Framebuffer Driver
2+
3+
Required properties:
4+
- compatible: Should be "solomon,ssd1289fb". The only supported bus for
5+
now is lbc.
6+
- reg: Should contain address of the controller on the LBC bus. The detail
7+
was described in Documentation/devicetree/bindings/powerpc/fsl/lbc.txt
8+
9+
Examples:
10+
display@2,0 {
11+
compatible = "solomon,ssd1289fb";
12+
reg = <0x2 0x0000 0x0004>;
13+
};

arch/powerpc/Kconfig

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,7 @@ config PPC
140140
select OLD_SIGACTION if PPC32
141141
select HAVE_DEBUG_STACKOVERFLOW
142142
select HAVE_IRQ_EXIT_ON_IRQ_STACK
143+
select ARCH_USE_CMPXCHG_LOCKREF if PPC64
143144

144145
config GENERIC_CSUM
145146
def_bool CPU_LITTLE_ENDIAN
@@ -214,9 +215,6 @@ config DEFAULT_UIMAGE
214215
Used to allow a board to specify it wants a uImage built by default
215216
default n
216217

217-
config REDBOOT
218-
bool
219-
220218
config ARCH_HIBERNATION_POSSIBLE
221219
bool
222220
default y
@@ -384,6 +382,12 @@ config ARCH_HAS_WALK_MEMORY
384382
config ARCH_ENABLE_MEMORY_HOTREMOVE
385383
def_bool y
386384

385+
config PPC64_SUPPORTS_MEMORY_FAILURE
386+
bool "Add support for memory hwpoison"
387+
depends on PPC_BOOK3S_64
388+
default "y" if PPC_POWERNV
389+
select ARCH_SUPPORTS_MEMORY_FAILURE
390+
387391
config KEXEC
388392
bool "kexec system call"
389393
depends on (PPC_BOOK3S || FSL_BOOKE || (44x && !SMP))
@@ -404,8 +408,7 @@ config KEXEC
404408
config CRASH_DUMP
405409
bool "Build a kdump crash kernel"
406410
depends on PPC64 || 6xx || FSL_BOOKE || (44x && !SMP)
407-
select RELOCATABLE if PPC64 || 44x
408-
select DYNAMIC_MEMSTART if FSL_BOOKE
411+
select RELOCATABLE if PPC64 || 44x || FSL_BOOKE
409412
help
410413
Build a kernel suitable for use as a kdump capture kernel.
411414
The same kernel binary can be used as production kernel and dump
@@ -886,7 +889,7 @@ config DYNAMIC_MEMSTART
886889

887890
config RELOCATABLE
888891
bool "Build a relocatable kernel"
889-
depends on ADVANCED_OPTIONS && FLATMEM && 44x
892+
depends on ADVANCED_OPTIONS && FLATMEM && (44x || FSL_BOOKE)
890893
select NONSTATIC_KERNEL
891894
help
892895
This builds a kernel image that is capable of running at the

arch/powerpc/boot/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ mktree
1616
uImage
1717
cuImage.*
1818
dtbImage.*
19+
*.dtb
1920
treeImage.*
2021
zImage
2122
zImage.initrd

arch/powerpc/boot/Makefile

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -71,9 +71,9 @@ src-wlib-y := string.S crt0.S crtsavres.S stdio.c main.c \
7171
uartlite.c mpc52xx-psc.c
7272
src-wlib-$(CONFIG_40x) += 4xx.c planetcore.c
7373
src-wlib-$(CONFIG_44x) += 4xx.c ebony.c bamboo.c
74-
src-wlib-$(CONFIG_8xx) += mpc8xx.c planetcore.c
74+
src-wlib-$(CONFIG_8xx) += mpc8xx.c planetcore.c fsl-soc.c
7575
src-wlib-$(CONFIG_PPC_82xx) += pq2.c fsl-soc.c planetcore.c
76-
src-wlib-$(CONFIG_EMBEDDED6xx) += mv64x60.c mv64x60_i2c.c ugecon.c
76+
src-wlib-$(CONFIG_EMBEDDED6xx) += mv64x60.c mv64x60_i2c.c ugecon.c fsl-soc.c
7777

7878
src-plat-y := of.c epapr.c
7979
src-plat-$(CONFIG_40x) += fixed-head.S ep405.c cuboot-hotfoot.c \
@@ -95,7 +95,7 @@ src-plat-$(CONFIG_FSL_SOC_BOOKE) += cuboot-85xx.c cuboot-85xx-cpm2.c
9595
src-plat-$(CONFIG_EMBEDDED6xx) += cuboot-pq2.c cuboot-mpc7448hpc2.c \
9696
cuboot-c2k.c gamecube-head.S \
9797
gamecube.c wii-head.S wii.c holly.c \
98-
prpmc2800.c
98+
prpmc2800.c fixed-head.S mvme5100.c
9999
src-plat-$(CONFIG_AMIGAONE) += cuboot-amigaone.c
100100
src-plat-$(CONFIG_PPC_PS3) += ps3-head.S ps3-hvcall.S ps3.c
101101
src-plat-$(CONFIG_EPAPR_BOOT) += epapr.c epapr-wrapper.c
@@ -286,6 +286,7 @@ image-$(CONFIG_MPC7448HPC2) += cuImage.mpc7448hpc2
286286
image-$(CONFIG_PPC_C2K) += cuImage.c2k
287287
image-$(CONFIG_GAMECUBE) += dtbImage.gamecube
288288
image-$(CONFIG_WII) += dtbImage.wii
289+
image-$(CONFIG_MVME5100) += dtbImage.mvme5100
289290

290291
# Board port in arch/powerpc/platform/amigaone/Kconfig
291292
image-$(CONFIG_AMIGAONE) += cuImage.amigaone
Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
/*
2+
* QorIQ Elo3 DMA device tree stub [ controller @ offset 0x102300 ]
3+
*
4+
* Copyright 2013 Freescale Semiconductor Inc.
5+
*
6+
* Redistribution and use in source and binary forms, with or without
7+
* modification, are permitted provided that the following conditions are met:
8+
* * Redistributions of source code must retain the above copyright
9+
* notice, this list of conditions and the following disclaimer.
10+
* * Redistributions in binary form must reproduce the above copyright
11+
* notice, this list of conditions and the following disclaimer in the
12+
* documentation and/or other materials provided with the distribution.
13+
* * Neither the name of Freescale Semiconductor nor the
14+
* names of its contributors may be used to endorse or promote products
15+
* derived from this software without specific prior written permission.
16+
*
17+
*
18+
* ALTERNATIVELY, this software may be distributed under the terms of the
19+
* GNU General Public License ("GPL") as published by the Free Software
20+
* Foundation, either version 2 of that License or (at your option) any
21+
* later version.
22+
*
23+
* THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor ``AS IS'' AND ANY
24+
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
25+
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
26+
* DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY
27+
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
28+
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
29+
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
30+
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
31+
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
32+
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33+
*/
34+
35+
dma2: dma@102300 {
36+
#address-cells = <1>;
37+
#size-cells = <1>;
38+
compatible = "fsl,elo3-dma";
39+
reg = <0x102300 0x4>,
40+
<0x102600 0x4>;
41+
ranges = <0x0 0x102100 0x500>;
42+
dma-channel@0 {
43+
compatible = "fsl,eloplus-dma-channel";
44+
reg = <0x0 0x80>;
45+
interrupts = <464 2 0 0>;
46+
};
47+
dma-channel@80 {
48+
compatible = "fsl,eloplus-dma-channel";
49+
reg = <0x80 0x80>;
50+
interrupts = <465 2 0 0>;
51+
};
52+
dma-channel@100 {
53+
compatible = "fsl,eloplus-dma-channel";
54+
reg = <0x100 0x80>;
55+
interrupts = <466 2 0 0>;
56+
};
57+
dma-channel@180 {
58+
compatible = "fsl,eloplus-dma-channel";
59+
reg = <0x180 0x80>;
60+
interrupts = <467 2 0 0>;
61+
};
62+
dma-channel@300 {
63+
compatible = "fsl,eloplus-dma-channel";
64+
reg = <0x300 0x80>;
65+
interrupts = <468 2 0 0>;
66+
};
67+
dma-channel@380 {
68+
compatible = "fsl,eloplus-dma-channel";
69+
reg = <0x380 0x80>;
70+
interrupts = <469 2 0 0>;
71+
};
72+
dma-channel@400 {
73+
compatible = "fsl,eloplus-dma-channel";
74+
reg = <0x400 0x80>;
75+
interrupts = <470 2 0 0>;
76+
};
77+
dma-channel@480 {
78+
compatible = "fsl,eloplus-dma-channel";
79+
reg = <0x480 0x80>;
80+
interrupts = <471 2 0 0>;
81+
};
82+
};

arch/powerpc/boot/dts/fsl/p1020si-post.dtsi

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,8 @@
3636
#address-cells = <2>;
3737
#size-cells = <1>;
3838
compatible = "fsl,p1020-elbc", "fsl,elbc", "simple-bus";
39-
interrupts = <19 2 0 0>;
39+
interrupts = <19 2 0 0>,
40+
<16 2 0 0>;
4041
};
4142

4243
/* controller at 0x9000 */

arch/powerpc/boot/dts/fsl/p1021si-post.dtsi

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,8 @@
3636
#address-cells = <2>;
3737
#size-cells = <1>;
3838
compatible = "fsl,p1021-elbc", "fsl,elbc", "simple-bus";
39-
interrupts = <19 2 0 0>;
39+
interrupts = <19 2 0 0>,
40+
<16 2 0 0>;
4041
};
4142

4243
/* controller at 0x9000 */

arch/powerpc/boot/dts/fsl/p1022si-post.dtsi

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,8 @@
4040
* pin muxing when the DIU is enabled.
4141
*/
4242
compatible = "fsl,p1022-elbc", "fsl,elbc";
43-
interrupts = <19 2 0 0>;
43+
interrupts = <19 2 0 0>,
44+
<16 2 0 0>;
4445
};
4546

4647
/* controller at 0x9000 */

arch/powerpc/boot/dts/fsl/p1023si-post.dtsi

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,8 @@
3636
#address-cells = <2>;
3737
#size-cells = <1>;
3838
compatible = "fsl,p1023-elbc", "fsl,elbc", "simple-bus";
39-
interrupts = <19 2 0 0>;
39+
interrupts = <19 2 0 0>,
40+
<16 2 0 0>;
4041
};
4142

4243
/* controller at 0xa000 */

arch/powerpc/boot/dts/kilauea.dts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -406,7 +406,7 @@
406406

407407
MSI: ppc4xx-msi@C10000000 {
408408
compatible = "amcc,ppc4xx-msi", "ppc4xx-msi";
409-
reg = < 0x0 0xEF620000 0x100>;
409+
reg = <0xEF620000 0x100>;
410410
sdr-base = <0x4B0>;
411411
msi-data = <0x00000000>;
412412
msi-mask = <0x44440000>;

0 commit comments

Comments
 (0)