Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5f3d2f2e authored by Linus Torvalds's avatar Linus Torvalds
Browse files
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
  ...
parents 283dbd82 d900bd73
Loading
Loading
Loading
Loading
+41 −0
Original line number Diff line number Diff line
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>;
+6 −3
Original line number Diff line number Diff line
@@ -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.
+15 −2
Original line number Diff line number Diff line
@@ -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
@@ -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
@@ -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.
@@ -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"

+1 −0
Original line number Diff line number Diff line
@@ -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\"@" $< > $@
+58 −0
Original line number Diff line number Diff line
/*
 * 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";
	};
};
Loading