Subject: [git pull] Please pull powerpc.git next branch

From: Benjamin Herrenschmidt <[email-masked]>
Date: Mon, 23 Jul 2012 14:46:51 +1000

Hi Linus !

Here's the powerpc batch for 3.6 merge window. Notable highlights:

 - iommu improvements from Anton removing the per-iommu global lock
in favor of dividing the DMA space into pools, each with its own lock,
and hashed on the CPU number. Along with making the locking more fine
grained, this gives significant improvements in multiqueue networking
scalability.

 - Still from Anton, we know provide a vdso based variant of getcpu
which makes sched_getcpu with the appropriate glibc patch something
like 18 times faster.

 - More anton goodness (he's been busy !) in other areas such as a
faster __clear_user and copy_page on P7, various perf fixes to improve
sampling quality, etc...

 - One more step toward removing legacy i2c interfaces by using
new device-tree based probing of platform devices for the AOA audio
drivers

 - A nice series of patches from Michael Neuling that helps avoiding
confusion between register numbers and litterals in assembly code,
trying to enforce the use of "%rN" register names in gas rather than
plain numbers.

 - A pile of FSL updates

 - The usual bunch of small fixes, cleanups etc...

You may spot a change to drivers/char/mem. The patch got no comment or
ack from outside, it's a trivial patch to allow the architecture to
skip creating /dev/port, which we use to disable it on ppc64 that don't
have a legacy brige. On those, IO ports 0...64K are not mapped in kernel
space at all, so accesses to /dev/port cause oopses (and yes, distros
-still- ship userspace that bangs hard coded ports such as kbdrate).

Cheers,
Ben.

The following changes since commit 50fb31cfed9218b439360caf7c0399b00042da15:

  tty/hvc_opal: Fix debug function name (2012-07-10 19:16:25 +1000)

are available in the git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc.git next

for you to fetch changes up to 574ce79cea9d3fda109ffcc82f81733de4740e5c:

  powerpc/mpic: Create a revmap with enough entries for IPIs and timers (2012-07-23 14:20:42 +1000)

----------------------------------------------------------------
Andreas Schwab (1):
      sound/aoa: Adapt to new i2c probing scheme

Anton Blanchard (24):
      powerpc: Enable jump label support
      powerpc: tracing: Avoid tracepoint duplication with DECLARE_EVENT_CLASS
      powerpc: 64bit optimised __clear_user
      powerpc: Use enhanced touch instructions in POWER7 copy_to_user/copy_from_user
      powerpc: Clear RI and EE at the same time in system call exit
      powerpc: Rename copyuser_power7_vmx.c to vmx-helper.c
      powerpc: POWER7 optimised copy_page using VMX and enhanced prefetch
      powerpc: Use enhanced touch instructions in POWER7 copy_to_user/copy_from_user
      powerpc: POWER7 optimised memcpy using VMX and enhanced prefetch
      powerpc/pseries: Disable interrupts around IOMMU percpu data accesses
      powerpc/iommu: Reduce spinlock coverage in iommu_alloc and iommu_free
      powerpc/iommu: Reduce spinlock coverage in iommu_free
      powerpc/iommu: Push spinlock into iommu_range_alloc and __iommu_free
      powerpc/iommu: Implement IOMMU pools to improve multiqueue adapter performance
      powerpc: Optimise the 64bit optimised __clear_user
      powerpc/perf: Create mmcra_sihv/mmcra_sipv helpers
      powerpc/perf: Move code to select SIAR or pt_regs into perf_read_regs
      powerpc/perf: Always use pt_regs for userspace samples
      powerpc/perf: Use perf_instruction_pointer in callchains
      powerpc/vio: Remove dma not supported warnings
      powerpc/vio: Separate vio bus probe and device probe
      powerpc: Call dma_debug_add_bus for PCI and VIO buses
      powerpc: IOMMU fault injection
      powerpc: Add VDSO version of getcpu

Benjamin Herrenschmidt (8):
      Merge branch 'merge' into next
      powerpc: Move and fix MTMSR_EERI definition
      powerpc: Fixup oddity in entry_32.S
      i2c/powermac: Improve detection of devices from device-tree
      Merge remote-tracking branch 'kumar/next' into next
      powerpc/iommu: Fix iommu pool initialization
      Remove stale .rej file
      powerpc/mpic: Create a revmap with enough entries for IPIs and timers

Bharat Bhushan (1):
      powerpc: Fix assmption of end_of_DRAM() returns end address

Christian Herzig (1):
      powerpc/83xx: fix RGMII AC values workaround for km83xx

Deepthi Dharwar (2):
      powerpc/pseries/cpuidle: Replace pseries_notify_cpuidle_add call with notifier
      powerpc/cpuidle: Fixes for pseries_idle hotplug notifier

Dong Aisheng (1):
      of: Improve prom_update_property() function

Gavin Shan (2):
      powerpc/numa: Fix OF node refcounting bug
      powerpc/pci: cleanup on duplicate assignment

Gustavo Zacarias (1):
      powerpc/p1010rdb: add EEPROMs to device tree

Haren Myneni (1):
      powerpc: Disable /dev/port interface on systems without an ISA bridge

Holger Brunck (3):
      powerpc/83xx: use for_each_node_by_name for km83xx.c
      powerpc/83xx: update defconfig for kmeter1
      powerpc/82xx: add SPI support for mgcoge

Jerry Huang (1):
      powerpc/p1022ds: Add RTC support

Jia Hongtao (3):
      powerpc/85xx: MPC8572DS - Fix eTSEC is not available on core1 of AMP boot
      powerpc/85xx: MPC8572DS - Update the MSI interrupts into 4-cell format
      powerpc/85xx: Add phy nodes in SGMII mode for MPC8536/44/72DS & P2020DS

Kim Phillips (1):
      powerpc/fsl: Distribute interrupts on all CPUs by default

Kleber Sacilotto de Souza (1):
      powerpc/eeh: Check handle_eeh_events() return value

Kokoris, Ioannis (1):
      powerpc/qe: set IReady in QE Microcode Upload

Liu Yu (1):
      powerpc/e500: make load_up_spe a normal fuction

Matias Garcia (1):
      powerpc/fsl/pci: Fix when quirk_fsl_pcie_header is freed up

Michael Ellerman (2):
      powerpc: Turn on BPF_JIT in ppc64_defconfig
      powerpc: Add a symbol for hypervisor trampolines

Michael Neuling (18):
      powerpc: Add defines for R0-R31
      powerpc: Modify macro ready for %r0 register change
      powerpc: Fix usage of register macros getting ready for %r0 change
      powerpc: Convert to %r for all GPR usage
      powerpc/pasemi: Move lbz/stbciz to ppc-opcode.h
      powerpc: Merge STK_REG/PARAM/FRAMESIZE
      powerpc: Merge VCPU_GPR
      powerpc: Change mtcrf to use real register names
      powerpc: Change LOAD_REG_ADDR to use real register names
      powerpc: Fixes for instructions not using correct register naming
      powerpc: Fix VSX macros so register names aren't wrapped
      powerpc: Introduce new ___PPC_RA/B/S/T macros
      powerpc: Start using ___PPC_RA/B/S/T where necessary
      powerpc: Introduce new __REG_R macros
      powerpc: Enforce usage of R0-R31 where possible
      powerpc: Add defines for RA 0-R31
      powerpc: Enforce usage of RA 0-R31 where possible
      powerpc/pseries: Fix whitespace in eeh

Naveen N. Rao (1):
      powerpc/hw_breakpoints: Fix incorrect pointer access

Nishanth Aravamudan (1):
      powerpc/pseries/iommu: remove default window before attempting DDW manipulation

Paul Bolle (1):
      powerpc: Kill flatdevtree_env.h too

Paul Gortmaker (1):
      powerpc: remove Wind River SBC8560 support

Prabhakar Kushwaha (1):
      powerpc/85xx: Add BSC9131 RDB Support

Scott Wood (4):
      powerpc/mm: remove obsolete comment about page size name array
      powerpc/fsl-pci: get PCI init out of board files
      powerpc/mpc85xx_ds: convert to unified PCI init
      powerpc/e500: add paravirt QEMU platform

Sebastian Andrzej Siewior (1):
      Revert "powerpc/85xx: p2020rdb - move the NAND address."

Shaohui Xie (3):
      powerpc/p2041rdb: add NAND node in device tree
      powerpc/watchdog: replace CONFIG_FSL_BOOKE with CONFIG_PPC_FSL_BOOK3E
      powerpc/watchdog: move booke watchdog param related code to setup-common.c

Shawn Guo (1):
      powerpc: select PPC_CLOCK unconditionally for FSL_SOC

Shengzhou Liu (3):
      powerpc/85xx: Enable MTD/NOR/NAND options by default in defconfig
      powerpc/85xx: Update corenet32_smp_defconfig
      powerpc/85xx: Update corenet64_smp_defconfig

Stephen Rothwell (1):
      powerpc: Put the gpr save/restore functions in their own section

Steven Rostedt (3):
      powerpc/ftrace: Have PPC skip updating with stop_machine()
      powerpc: Have patch_instruction detect faults
      powerpc/ftrace: Use patch_instruction instead of probe_kernel_write()

Stuart Yoder (1):
      powerpc: Use CURRENT_THREAD_INFO instead of open coded assembly

Tang Yuantian (2):
      powerpc/85xx: Add P1024rdb board support
      powerpc/85xx: Add P1024rdb dts support

Tiejun Chen (1):
      powerpc: Add "memory" attribute for mfmsr()

Timur Tabi (2):
      powerpc/85xx: use the BRx registers to enable indirect mode on the P1022DS
      Revert "powerpc/p3060qds: Add support for P3060QDS board"

Tony Breeds (1):
      powerpc/boot: Only build board support files when required.

Varun Sethi (1):
      powerpc/mpic: Use the MPIC_LARGE_VECTORS flag for FSL MPIC.

Wanpeng Li (1):
      powerpc: Fix kernel-doc warning

Xu Jiucheng (1):
      powerpc/85xx: Rename P1021RDB-PC device trees to be consistent

Yong Zhang (1):
      powerpc/smp: remove call to ipi_call_lock()/ipi_call_unlock()

Zhicheng Fan (1):
      powerpc/85xx: Add ucc uart support for p1025rdb

roger blofeld (1):
      powerpc/ftrace: Fix assembly trampoline register usage

 arch/powerpc/Kconfig                               |    2 +-
 arch/powerpc/Kconfig.debug                         |    9 +
 arch/powerpc/boot/Makefile                         |   57 +-
 arch/powerpc/boot/dts/bsc9131rdb.dts               |   34 +
 arch/powerpc/boot/dts/bsc9131rdb.dtsi              |  142 +++++
 arch/powerpc/boot/dts/fsl/bsc9131si-post.dtsi      |  193 ++++++
 .../fsl/{p3060si-pre.dtsi => bsc9131si-pre.dtsi}   |   84 +--
 arch/powerpc/boot/dts/fsl/p1021si-post.dtsi        |   16 +-
 arch/powerpc/boot/dts/fsl/p3060si-post.dtsi        |  302 ---------
 arch/powerpc/boot/dts/mgcoge.dts                   |   23 +
 arch/powerpc/boot/dts/mpc8536ds.dtsi               |    8 +
 arch/powerpc/boot/dts/mpc8544ds.dtsi               |    9 +
 arch/powerpc/boot/dts/mpc8572ds.dtsi               |   17 +
 arch/powerpc/boot/dts/mpc8572ds_camp_core0.dts     |    8 +-
 arch/powerpc/boot/dts/mpc8572ds_camp_core1.dts     |   11 +-
 arch/powerpc/boot/dts/p1010rdb.dtsi                |   12 +
 .../boot/dts/{p1021rdb.dtsi => p1021rdb-pc.dtsi}   |    2 +-
 .../boot/dts/{p1021rdb.dts => p1021rdb-pc_32b.dts} |    4 +-
 .../dts/{p1021rdb_36b.dts => p1021rdb-pc_36b.dts}  |    4 +-
 arch/powerpc/boot/dts/p1022ds.dtsi                 |   20 +-
 arch/powerpc/boot/dts/p1024rdb.dtsi                |  228 +++++++
 arch/powerpc/boot/dts/p1024rdb_32b.dts             |   87 +++
 arch/powerpc/boot/dts/p1024rdb_36b.dts             |   87 +++
 arch/powerpc/boot/dts/p1025rdb.dtsi                |   40 ++
 arch/powerpc/boot/dts/p2020ds.dtsi                 |   10 +
 arch/powerpc/boot/dts/p2020rdb.dts                 |    2 +-
 arch/powerpc/boot/dts/p2041rdb.dts                 |   41 +-
 arch/powerpc/boot/dts/p3060qds.dts                 |  242 --------
 arch/powerpc/boot/dts/sbc8560.dts                  |  406 ------------
 arch/powerpc/boot/flatdevtree_env.h                |   27 -
 arch/powerpc/configs/83xx/kmeter1_defconfig        |   22 +-
 arch/powerpc/configs/85xx/sbc8560_defconfig        |   65 --
 arch/powerpc/configs/corenet32_smp_defconfig       |   10 +-
 arch/powerpc/configs/corenet64_smp_defconfig       |   66 +-
 arch/powerpc/configs/mgcoge_defconfig              |   12 +-
 arch/powerpc/configs/mpc85xx_defconfig             |   24 +
 arch/powerpc/configs/mpc85xx_smp_defconfig         |   25 +
 arch/powerpc/configs/ppc64_defconfig               |    2 +
 arch/powerpc/configs/pseries_defconfig             |    1 +
 arch/powerpc/include/asm/asm-compat.h              |    2 +-
 arch/powerpc/include/asm/code-patching.h           |    4 +-
 arch/powerpc/include/asm/device.h                  |    3 +
 arch/powerpc/include/asm/exception-64s.h           |    4 +-
 arch/powerpc/include/asm/immap_qe.h                |    4 +-
 arch/powerpc/include/asm/io.h                      |    8 +
 arch/powerpc/include/asm/iommu.h                   |   18 +-
 arch/powerpc/include/asm/kvm_book3s_asm.h          |    1 +
 arch/powerpc/include/asm/mmu.h                     |    7 +-
 arch/powerpc/include/asm/perf_event.h              |    5 +
 arch/powerpc/include/asm/ppc-opcode.h              |  118 +++-
 arch/powerpc/include/asm/ppc_asm.h                 |  121 ++--
 arch/powerpc/include/asm/processor.h               |    2 -
 arch/powerpc/include/asm/qe.h                      |    1 +
 arch/powerpc/include/asm/reg.h                     |    8 +-
 arch/powerpc/include/asm/thread_info.h             |    6 +
 arch/powerpc/include/asm/trace.h                   |   45 +-
 arch/powerpc/include/asm/vdso.h                    |    2 +
 arch/powerpc/include/asm/vio.h                     |    2 +
 arch/powerpc/kernel/asm-offsets.c                  |    1 +
 arch/powerpc/kernel/cpu_setup_a2.S                 |    6 +-
 arch/powerpc/kernel/dma.c                          |   10 +-
 arch/powerpc/kernel/entry_32.S                     |   30 +-
 arch/powerpc/kernel/entry_64.S                     |   37 +-
 arch/powerpc/kernel/exceptions-64e.S               |   10 +-
 arch/powerpc/kernel/exceptions-64s.S               |    3 +-
 arch/powerpc/kernel/fpu.S                          |   16 +-
 arch/powerpc/kernel/ftrace.c                       |   81 ++-
 arch/powerpc/kernel/head_fsl_booke.S               |   25 +-
 arch/powerpc/kernel/hw_breakpoint.c                |    2 +-
 arch/powerpc/kernel/idle_6xx.S                     |    4 +-
 arch/powerpc/kernel/idle_book3e.S                  |    2 +-
 arch/powerpc/kernel/idle_e500.S                    |    4 +-
 arch/powerpc/kernel/idle_power4.S                  |    2 +-
 arch/powerpc/kernel/iommu.c                        |  291 +++++++--
 arch/powerpc/kernel/kvm.c                          |    2 +-
 arch/powerpc/kernel/misc_32.S                      |    4 +-
 arch/powerpc/kernel/misc_64.S                      |    9 +-
 arch/powerpc/kernel/pci-common.c                   |    1 -
 arch/powerpc/kernel/pci_of_scan.c                  |    1 -
 arch/powerpc/kernel/setup-common.c                 |   27 +
 arch/powerpc/kernel/setup_32.c                     |   24 -
 arch/powerpc/kernel/smp.c                          |    5 +-
 arch/powerpc/kernel/vdso.c                         |   28 +
 arch/powerpc/kernel/vdso32/Makefile                |    4 +-
 arch/powerpc/kernel/vdso32/getcpu.S                |   45 ++
 arch/powerpc/kernel/vdso32/vdso32.lds.S            |    3 +
 arch/powerpc/kernel/vdso64/Makefile                |    2 +-
 arch/powerpc/kernel/vdso64/getcpu.S                |   45 ++
 arch/powerpc/kernel/vdso64/vdso64.lds.S            |    1 +
 arch/powerpc/kernel/vio.c                          |   42 +-
 arch/powerpc/kvm/book3s_hv_rmhandlers.S            |  227 +++----
 arch/powerpc/kvm/book3s_interrupts.S               |   80 ++-
 arch/powerpc/kvm/book3s_rmhandlers.S               |    1 -
 arch/powerpc/kvm/book3s_segment.S                  |    2 -
 arch/powerpc/kvm/booke_interrupts.S                |  277 +++++----
 arch/powerpc/kvm/bookehv_interrupts.S              |  229 ++++---
 arch/powerpc/lib/Makefile                          |    5 +-
 arch/powerpc/lib/checksum_64.S                     |   27 +-
 arch/powerpc/lib/code-patching.c                   |   14 +-
 arch/powerpc/lib/copypage_64.S                     |    4 +
 arch/powerpc/lib/copypage_power7.S                 |  165 +++++
 arch/powerpc/lib/copyuser_power7.S                 |  157 +++--
 arch/powerpc/lib/crtsavres.S                       |    5 +-
 arch/powerpc/lib/hweight_64.S                      |   14 +-
 arch/powerpc/lib/ldstfp.S                          |   12 +-
 arch/powerpc/lib/memcpy_64.S                       |    4 +
 arch/powerpc/lib/memcpy_power7.S                   |  647 ++++++++++++++++++++
 arch/powerpc/lib/string.S                          |    2 +
 arch/powerpc/lib/string_64.S                       |  202 ++++++
 .../lib/{copyuser_power7_vmx.c => vmx-helper.c}    |   27 +-
 arch/powerpc/mm/hash_low_32.S                      |    8 +-
 arch/powerpc/mm/hash_low_64.S                      |  156 +++--
 arch/powerpc/mm/numa.c                             |    2 +
 arch/powerpc/mm/tlb_low_64e.S                      |   10 +-
 arch/powerpc/mm/tlb_nohash_low.S                   |   16 +-
 arch/powerpc/net/bpf_jit.h                         |  106 ++--
 arch/powerpc/net/bpf_jit_comp.c                    |    4 +-
 arch/powerpc/perf/callchain.c                      |    6 +-
 arch/powerpc/perf/core-book3s.c                    |   99 ++-
 arch/powerpc/platforms/44x/currituck.c             |    2 +-
 arch/powerpc/platforms/82xx/km82xx.c               |    5 +
 arch/powerpc/platforms/83xx/km83xx.c               |  100 ++-
 arch/powerpc/platforms/85xx/Kconfig                |   43 +-
 arch/powerpc/platforms/85xx/Makefile               |    4 +-
 arch/powerpc/platforms/85xx/bsc913x_rdb.c          |   67 ++
 arch/powerpc/platforms/85xx/corenet_ds.c           |    2 +-
 arch/powerpc/platforms/85xx/ge_imp3a.c             |    2 +-
 arch/powerpc/platforms/85xx/mpc8536_ds.c           |    2 +-
 arch/powerpc/platforms/85xx/mpc85xx_ds.c           |   97 +--
 arch/powerpc/platforms/85xx/mpc85xx_mds.c          |    2 +-
 arch/powerpc/platforms/85xx/mpc85xx_rdb.c          |   22 +
 arch/powerpc/platforms/85xx/p1022_ds.c             |  116 +++-
 arch/powerpc/platforms/85xx/p3060_qds.c            |   77 ---
 arch/powerpc/platforms/85xx/qemu_e500.c            |   72 +++
 arch/powerpc/platforms/85xx/sbc8560.c              |  254 --------
 arch/powerpc/platforms/86xx/mpc86xx_hpcn.c         |    2 +-
 arch/powerpc/platforms/Kconfig.cputype             |    4 +
 arch/powerpc/platforms/cell/beat_hvCall.S          |   28 +-
 arch/powerpc/platforms/cell/iommu.c                |    1 -
 arch/powerpc/platforms/powernv/opal-takeover.S     |   10 +-
 arch/powerpc/platforms/pseries/eeh_event.c         |    6 +-
 arch/powerpc/platforms/pseries/eeh_pseries.c       |    4 +-
 arch/powerpc/platforms/pseries/hvCall.S            |   78 ++-
 arch/powerpc/platforms/pseries/iommu.c             |  113 +++-
 arch/powerpc/platforms/pseries/mobility.c          |    8 +-
 arch/powerpc/platforms/pseries/processor_idle.c    |   36 +-
 arch/powerpc/platforms/pseries/reconfig.c          |   16 +-
 arch/powerpc/platforms/pseries/smp.c               |    1 -
 arch/powerpc/sysdev/6xx-suspend.S                  |    2 +-
 arch/powerpc/sysdev/fsl_pci.c                      |   73 ++-
 arch/powerpc/sysdev/fsl_pci.h                      |    8 +
 arch/powerpc/sysdev/mpic.c                         |    4 +-
 arch/powerpc/sysdev/qe_lib/qe.c                    |    3 +
 drivers/char/mem.c                                 |   11 +-
 drivers/i2c/busses/i2c-powermac.c                  |  157 ++++-
 drivers/of/base.c                                  |   15 +-
 drivers/watchdog/Kconfig                           |    8 +-
 drivers/watchdog/booke_wdt.c                       |    4 +-
 fs/proc/proc_devtree.c                             |    5 +
 include/linux/io.h                                 |    9 +
 include/linux/of.h                                 |    3 +-
 sound/aoa/codecs/onyx.c                            |   75 +--
 sound/aoa/codecs/tas.c                             |   80 +--
 163 files changed, 4611 insertions(+), 3010 deletions(-)
 create mode 100644 arch/powerpc/boot/dts/bsc9131rdb.dts
 create mode 100644 arch/powerpc/boot/dts/bsc9131rdb.dtsi
 create mode 100644 arch/powerpc/boot/dts/fsl/bsc9131si-post.dtsi
 rename arch/powerpc/boot/dts/fsl/{p3060si-pre.dtsi => bsc9131si-pre.dtsi} (56%)
 delete mode 100644 arch/powerpc/boot/dts/fsl/p3060si-post.dtsi
 rename arch/powerpc/boot/dts/{p1021rdb.dtsi => p1021rdb-pc.dtsi} (99%)
 rename arch/powerpc/boot/dts/{p1021rdb.dts => p1021rdb-pc_32b.dts} (97%)
 rename arch/powerpc/boot/dts/{p1021rdb_36b.dts => p1021rdb-pc_36b.dts} (97%)
 create mode 100644 arch/powerpc/boot/dts/p1024rdb.dtsi
 create mode 100644 arch/powerpc/boot/dts/p1024rdb_32b.dts
 create mode 100644 arch/powerpc/boot/dts/p1024rdb_36b.dts
 delete mode 100644 arch/powerpc/boot/dts/p3060qds.dts
 delete mode 100644 arch/powerpc/boot/dts/sbc8560.dts
 delete mode 100644 arch/powerpc/boot/flatdevtree_env.h
 delete mode 100644 arch/powerpc/configs/85xx/sbc8560_defconfig
 create mode 100644 arch/powerpc/kernel/vdso32/getcpu.S
 create mode 100644 arch/powerpc/kernel/vdso64/getcpu.S
 create mode 100644 arch/powerpc/lib/copypage_power7.S
 create mode 100644 arch/powerpc/lib/memcpy_power7.S
 create mode 100644 arch/powerpc/lib/string_64.S
 rename arch/powerpc/lib/{copyuser_power7_vmx.c => vmx-helper.c} (79%)
 create mode 100644 arch/powerpc/platforms/85xx/bsc913x_rdb.c
 delete mode 100644 arch/powerpc/platforms/85xx/p3060_qds.c
 create mode 100644 arch/powerpc/platforms/85xx/qemu_e500.c
 delete mode 100644 arch/powerpc/platforms/85xx/sbc8560.c