Skip to content

Commit

Permalink
Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/…
Browse files Browse the repository at this point in the history
…benh/powerpc

Pull powerpc updates from Benjamin Herrenschmidt:
 "Some highlights in addition to the usual batch of fixes:

   - 64TB address space support for 64-bit processes by Aneesh Kumar

   - Gavin Shan did a major cleanup & re-organization of our EEH support
     code (IBM fancy PCI error handling & recovery infrastructure) which
     paves the way for supporting different platform backends, along
     with some rework of the PCIe code for the PowerNV platform in order
     to remove home made resource allocations and instead use the
     generic code (which is possible after some small improvements to it
     done by Gavin).

   - Uprobes support by Ananth N Mavinakayanahalli

   - A pile of embedded updates from Freescale folks, including new SoC
     and board supports, more KVM stuff including preparing for 64-bit
     BookE KVM support, ePAPR 1.1 updates, etc..."

Fixup trivial conflicts in drivers/scsi/ipr.c

* 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc: (146 commits)
  powerpc/iommu: Fix multiple issues with IOMMU pools code
  powerpc: Fix VMX fix for memcpy case
  driver/mtd:IFC NAND:Initialise internal SRAM before any write
  powerpc/fsl-pci: use 'Header Type' to identify PCIE mode
  powerpc/eeh: Don't release eeh_mutex in eeh_phb_pe_get
  powerpc: Remove tlb batching hack for nighthawk
  powerpc: Set paca->data_offset = 0 for boot cpu
  powerpc/perf: Sample only if SIAR-Valid bit is set in P7+
  powerpc/fsl-pci: fix warning when CONFIG_SWIOTLB is disabled
  powerpc/mpc85xx: Update interrupt handling for IFC controller
  powerpc/85xx: Enable USB support in p1023rds_defconfig
  powerpc/smp: Do not disable IPI interrupts during suspend
  powerpc/eeh: Fix crash on converting OF node to edev
  powerpc/eeh: Lock module while handling EEH event
  powerpc/kprobe: Don't emulate store when kprobe stwu r1
  powerpc/kprobe: Complete kprobe and migrate exception frame
  powerpc/kprobe: Introduce a new thread flag
  powerpc: Remove unused __get_user64() and __put_user64()
  powerpc/eeh: Global mutex to protect PE tree
  powerpc/eeh: Remove EEH PE for normal PCI hotplug
  ...
  • Loading branch information
torvalds committed Oct 5, 2012
2 parents 283dbd8 + d900bd7 commit 5f3d2f2
Show file tree
Hide file tree
Showing 249 changed files with 6,423 additions and 3,240 deletions.
41 changes: 41 additions & 0 deletions Documentation/devicetree/bindings/misc/ifm-csi.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
IFM camera sensor interface on mpc5200 LocalPlus bus

Required properties:
- compatible: "ifm,o2d-csi"
- reg: specifies sensor chip select number and associated address range
- interrupts: external interrupt line number and interrupt sense mode
of the interrupt line signaling frame valid events
- gpios: three gpio-specifiers for "capture", "reset" and "master enable"
GPIOs (strictly in this order).
- ifm,csi-clk-handle: the phandle to a node in the DT describing the sensor
clock generator. This node is usually a general purpose timer controller.
- ifm,csi-addr-bus-width: address bus width (valid values are 16, 24, 25)
- ifm,csi-data-bus-width: data bus width (valid values are 8 and 16)
- ifm,csi-wait-cycles: sensor bus wait cycles

Optional properties:
- ifm,csi-byte-swap: if this property is present, the byte swapping on
the bus will be enabled.

Example:

csi@3,0 {
compatible = "ifm,o2d-csi";
reg = <3 0 0x00100000>; /* CS 3, 1 MiB range */
interrupts = <1 1 2>; /* IRQ1, edge falling */

ifm,csi-clk-handle = <&timer7>;
gpios = <&gpio_simple 23 0 /* image_capture */
&gpio_simple 26 0 /* image_reset */
&gpio_simple 29 0>; /* image_master_en */

ifm,csi-addr-bus-width = <24>;
ifm,csi-data-bus-width = <8>;
ifm,csi-wait-cycles = <0>;
};

The base address of the used chip select is specified in the
ranges property of the parent localbus node, for example:

ranges = <0 0 0xff000000 0x01000000
3 0 0xe3000000 0x00100000>;
9 changes: 6 additions & 3 deletions Documentation/devicetree/bindings/powerpc/fsl/ifc.txt
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,12 @@ Properties:
- #size-cells : Either one or two, depending on how large each chipselect
can be.
- reg : Offset and length of the register set for the device
- interrupts : IFC has two interrupts. The first one is the "common"
interrupt(CM_EVTER_STAT), and second is the NAND interrupt
(NAND_EVTER_STAT).
- interrupts: IFC may have one or two interrupts. If two interrupt
specifiers are present, the first is the "common"
interrupt (CM_EVTER_STAT), and the second is the NAND
interrupt (NAND_EVTER_STAT). If there is only one,
that interrupt reports both types of event.


- ranges : Each range corresponds to a single chipselect, and covers
the entire access window as configured.
Expand Down
17 changes: 15 additions & 2 deletions arch/powerpc/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -215,7 +215,8 @@ config ARCH_HIBERNATION_POSSIBLE
config ARCH_SUSPEND_POSSIBLE
def_bool y
depends on ADB_PMU || PPC_EFIKA || PPC_LITE5200 || PPC_83xx || \
(PPC_85xx && !SMP) || PPC_86xx || PPC_PSERIES || 44x || 40x
(PPC_85xx && !PPC_E500MC) || PPC_86xx || PPC_PSERIES \
|| 44x || 40x

config PPC_DCR_NATIVE
bool
Expand All @@ -239,6 +240,9 @@ config PPC_OF_PLATFORM_PCI
config ARCH_SUPPORTS_DEBUG_PAGEALLOC
def_bool y

config ARCH_SUPPORTS_UPROBES
def_bool y

config PPC_ADV_DEBUG_REGS
bool
depends on 40x || BOOKE
Expand Down Expand Up @@ -325,7 +329,8 @@ config SWIOTLB

config HOTPLUG_CPU
bool "Support for enabling/disabling CPUs"
depends on SMP && HOTPLUG && EXPERIMENTAL && (PPC_PSERIES || PPC_PMAC || PPC_POWERNV)
depends on SMP && HOTPLUG && EXPERIMENTAL && (PPC_PSERIES || \
PPC_PMAC || PPC_POWERNV || (PPC_85xx && !PPC_E500MC))
---help---
Say Y here to be able to disable and re-enable individual
CPUs at runtime on SMP machines.
Expand Down Expand Up @@ -557,6 +562,14 @@ config SCHED_SMT
when dealing with POWER5 cpus at a cost of slightly increased
overhead in some places. If unsure say N here.

config PPC_DENORMALISATION
bool "PowerPC denormalisation exception handling"
depends on PPC_BOOK3S_64
default "n"
---help---
Add support for handling denormalisation of single precision
values. Useful for bare metal only. If unsure say Y here.

config CMDLINE_BOOL
bool "Default bootloader kernel arguments"

Expand Down
1 change: 1 addition & 0 deletions arch/powerpc/boot/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,7 @@ src-boot := $(addprefix $(obj)/, $(src-boot))
obj-boot := $(addsuffix .o, $(basename $(src-boot)))
obj-wlib := $(addsuffix .o, $(basename $(addprefix $(obj)/, $(src-wlib))))
obj-plat := $(addsuffix .o, $(basename $(addprefix $(obj)/, $(src-plat))))
obj-plat: $(libfdt)

quiet_cmd_copy_zlib = COPY $@
cmd_copy_zlib = sed "s@__used@@;s@<linux/\([^>]*\).*@\"\1\"@" $< > $@
Expand Down
58 changes: 58 additions & 0 deletions arch/powerpc/boot/dts/fsl/e500mc_power_isa.dtsi
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
/*
* e500mc Power ISA Device Tree Source (include)
*
* Copyright 2012 Freescale Semiconductor Inc.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of Freescale Semiconductor nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
*
* ALTERNATIVELY, this software may be distributed under the terms of the
* GNU General Public License ("GPL") as published by the Free Software
* Foundation, either version 2 of that License or (at your option) any
* later version.
*
* THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/

/ {
cpus {
power-isa-version = "2.06";
power-isa-b; // Base
power-isa-e; // Embedded
power-isa-atb; // Alternate Time Base
power-isa-cs; // Cache Specification
power-isa-ds; // Decorated Storage
power-isa-e.ed; // Embedded.Enhanced Debug
power-isa-e.pd; // Embedded.External PID
power-isa-e.hv; // Embedded.Hypervisor
power-isa-e.le; // Embedded.Little-Endian
power-isa-e.pm; // Embedded.Performance Monitor
power-isa-e.pc; // Embedded.Processor Control
power-isa-ecl; // Embedded Cache Locking
power-isa-exp; // External Proxy
power-isa-fp; // Floating Point
power-isa-fp.r; // Floating Point.Record
power-isa-mmc; // Memory Coherence
power-isa-scpm; // Store Conditional Page Mobility
power-isa-wt; // Wait
mmu-type = "power-embedded";
};
};
52 changes: 52 additions & 0 deletions arch/powerpc/boot/dts/fsl/e500v2_power_isa.dtsi
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
/*
* e500v2 Power ISA Device Tree Source (include)
*
* Copyright 2012 Freescale Semiconductor Inc.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of Freescale Semiconductor nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
*
* ALTERNATIVELY, this software may be distributed under the terms of the
* GNU General Public License ("GPL") as published by the Free Software
* Foundation, either version 2 of that License or (at your option) any
* later version.
*
* THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/

/ {
cpus {
power-isa-version = "2.03";
power-isa-b; // Base
power-isa-e; // Embedded
power-isa-atb; // Alternate Time Base
power-isa-cs; // Cache Specification
power-isa-e.le; // Embedded.Little-Endian
power-isa-e.pm; // Embedded.Performance Monitor
power-isa-ecl; // Embedded Cache Locking
power-isa-mmc; // Memory Coherence
power-isa-sp; // Signal Processing Engine
power-isa-sp.fd; // SPE.Embedded Float Scalar Double
power-isa-sp.fs; // SPE.Embedded Float Scalar Single
power-isa-sp.fv; // SPE.Embedded Float Vector
mmu-type = "power-embedded";
};
};
59 changes: 59 additions & 0 deletions arch/powerpc/boot/dts/fsl/e5500_power_isa.dtsi
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
/*
* e5500 Power ISA Device Tree Source (include)
*
* Copyright 2012 Freescale Semiconductor Inc.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* * Neither the name of Freescale Semiconductor nor the
* names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission.
*
*
* ALTERNATIVELY, this software may be distributed under the terms of the
* GNU General Public License ("GPL") as published by the Free Software
* Foundation, either version 2 of that License or (at your option) any
* later version.
*
* THIS SOFTWARE IS PROVIDED BY Freescale Semiconductor "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL Freescale Semiconductor BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/

/ {
cpus {
power-isa-version = "2.06";
power-isa-b; // Base
power-isa-e; // Embedded
power-isa-atb; // Alternate Time Base
power-isa-cs; // Cache Specification
power-isa-ds; // Decorated Storage
power-isa-e.ed; // Embedded.Enhanced Debug
power-isa-e.pd; // Embedded.External PID
power-isa-e.hv; // Embedded.Hypervisor
power-isa-e.le; // Embedded.Little-Endian
power-isa-e.pm; // Embedded.Performance Monitor
power-isa-e.pc; // Embedded.Processor Control
power-isa-ecl; // Embedded Cache Locking
power-isa-exp; // External Proxy
power-isa-fp; // Floating Point
power-isa-fp.r; // Floating Point.Record
power-isa-mmc; // Memory Coherence
power-isa-scpm; // Store Conditional Page Mobility
power-isa-wt; // Wait
power-isa-64; // 64-bit
mmu-type = "power-embedded";
};
};
3 changes: 3 additions & 0 deletions arch/powerpc/boot/dts/fsl/mpc8536si-pre.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,9 @@
*/

/dts-v1/;

/include/ "e500v2_power_isa.dtsi"

/ {
compatible = "fsl,MPC8536";
#address-cells = <2>;
Expand Down
3 changes: 3 additions & 0 deletions arch/powerpc/boot/dts/fsl/mpc8544si-pre.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,9 @@
*/

/dts-v1/;

/include/ "e500v2_power_isa.dtsi"

/ {
compatible = "fsl,MPC8544";
#address-cells = <2>;
Expand Down
3 changes: 3 additions & 0 deletions arch/powerpc/boot/dts/fsl/mpc8548si-pre.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,9 @@
*/

/dts-v1/;

/include/ "e500v2_power_isa.dtsi"

/ {
compatible = "fsl,MPC8548";
#address-cells = <2>;
Expand Down
3 changes: 3 additions & 0 deletions arch/powerpc/boot/dts/fsl/mpc8568si-pre.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,9 @@
*/

/dts-v1/;

/include/ "e500v2_power_isa.dtsi"

/ {
compatible = "fsl,MPC8568";
#address-cells = <2>;
Expand Down
3 changes: 3 additions & 0 deletions arch/powerpc/boot/dts/fsl/mpc8569si-pre.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,9 @@
*/

/dts-v1/;

/include/ "e500v2_power_isa.dtsi"

/ {
compatible = "fsl,MPC8569";
#address-cells = <2>;
Expand Down
3 changes: 3 additions & 0 deletions arch/powerpc/boot/dts/fsl/mpc8572si-pre.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,9 @@
*/

/dts-v1/;

/include/ "e500v2_power_isa.dtsi"

/ {
compatible = "fsl,MPC8572";
#address-cells = <2>;
Expand Down
3 changes: 3 additions & 0 deletions arch/powerpc/boot/dts/fsl/p1010si-pre.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,9 @@
*/

/dts-v1/;

/include/ "e500v2_power_isa.dtsi"

/ {
compatible = "fsl,P1010";
#address-cells = <2>;
Expand Down
3 changes: 3 additions & 0 deletions arch/powerpc/boot/dts/fsl/p1020si-pre.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,9 @@
*/

/dts-v1/;

/include/ "e500v2_power_isa.dtsi"

/ {
compatible = "fsl,P1020";
#address-cells = <2>;
Expand Down
3 changes: 3 additions & 0 deletions arch/powerpc/boot/dts/fsl/p1021si-pre.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,9 @@
*/

/dts-v1/;

/include/ "e500v2_power_isa.dtsi"

/ {
compatible = "fsl,P1021";
#address-cells = <2>;
Expand Down
3 changes: 3 additions & 0 deletions arch/powerpc/boot/dts/fsl/p1022si-pre.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,9 @@
*/

/dts-v1/;

/include/ "e500v2_power_isa.dtsi"

/ {
compatible = "fsl,P1022";
#address-cells = <2>;
Expand Down
3 changes: 3 additions & 0 deletions arch/powerpc/boot/dts/fsl/p1023si-pre.dtsi
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,9 @@
*/

/dts-v1/;

/include/ "e500v2_power_isa.dtsi"

/ {
compatible = "fsl,P1023";
#address-cells = <2>;
Expand Down
Loading

0 comments on commit 5f3d2f2

Please sign in to comment.