From patchwork Mon Jul 23 04:46:51 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Benjamin Herrenschmidt X-Patchwork-Id: 172541 Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from ozlabs.org (localhost [IPv6:::1]) by ozlabs.org (Postfix) with ESMTP id 3A7E12C04BE for ; Mon, 23 Jul 2012 14:47:25 +1000 (EST) Received: by ozlabs.org (Postfix) id 29E072C007C; Mon, 23 Jul 2012 14:47:01 +1000 (EST) Delivered-To: linuxppc-dev@ozlabs.org Received: from gate.crashing.org (gate.crashing.org [63.228.1.57]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id 8846E2C032A for ; Mon, 23 Jul 2012 14:46:59 +1000 (EST) Received: from [127.0.0.1] (localhost.localdomain [127.0.0.1]) by gate.crashing.org (8.14.1/8.13.8) with ESMTP id q6N4koXT021341; Sun, 22 Jul 2012 23:46:51 -0500 Message-ID: <1343018811.2957.16.camel@pasglop> Subject: [git pull] Please pull powerpc.git next branch From: Benjamin Herrenschmidt To: Linus Torvalds Date: Mon, 23 Jul 2012 14:46:51 +1000 X-Mailer: Evolution 3.2.3-0ubuntu6 Mime-Version: 1.0 Cc: linuxppc-dev list , Andrew Morton , Linux Kernel list X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: linuxppc-dev-bounces+patchwork-incoming=ozlabs.org@lists.ozlabs.org Sender: "Linuxppc-dev" 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