summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)Author
2016-03-02Merge tag 'imx-dt64-4.6' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/dt64 Merge "NXP/Freescale arm64 dts update for 4.6" from Shawn Guo: - Add "snps,quirk-frame-length-adjustment" property to USB3 node for erratum A009116, which affects NXP/Freescale arm64 SoCs LS1043A and LS2080A. * tag 'imx-dt64-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: arm64: dts: ls1043a: Add quirk for Erratum A009116 arm64: dts: ls2080a: Add quirk for Erratum A009116
2016-03-02Merge tag 'qcom-arm64-for-4.6' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux into next/dt64 Merge "Qualcomm ARM64 Updates for v4.6" from Andy Gross: * Add MSM8996 support * Cleanups for MSM8916 * Updates for APQ8016 SBC * Fixup pmic reg properties * Add RPMCC node for 8916 * Add LPASS audio nodes * Add USB support on MSM8916 * tag 'qcom-arm64-for-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux: (24 commits) arm64: dts: qcom: Fix MPP's function used for LED control arm64: dts: qcom: fix usb digital voltage levels arm64: dts: qcom: apq8016-sbc: enable lpass on DB410c arm64: dts: qcom: add lpass node arm64: dts: qcom: add audio pinctrls arm64: dts: qcom: apq8016-sbc: add usb support arm64: dts: qcom: add manual pullup setting to otg. arm64: dts: qcom: msm8916: Add RPMCC DT node ARM64: dts: qcom: Remove size elements from pmic reg properties arm64: dts: msm8996: Add #power-domain-cells property arm64: dts: apq8016-sbc: Add real regulators and pinctrl for sdhc arm64: dts: apq8016-sbc: move sdhci node under soc node arm64: dts: apq8016-sbc: make 1.8v available on LS expansion arm64: dts: apq8016-sbc: add regulators support arm64: dts: qcom: add lable for smd rpm regulators arm64: dts: remove s2 regulator from smd regulators. arm64: dts: qcom: add correct drive strenght on cs pins arm64: dts: qcom: remove redundant spi cs pins from pinconf arm64: dts: apq8016-sbc: Add aliases to spi device. arm64: dts: Add L2 cache node to msm8916 ...
2016-03-02Merge tag 'at91-dt2' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91 into next/dt Merge "at91: dt for 4.6 #2" from Nicolas Ferre: Second 4.6 DT series, all patches for sama5d2 and its Xplained board: - addition of the NAND flash node - addition of the dma properties for UART/USART nodes - one update of the sama5d2 Xplained phy node - addition of USB pinmux, button and leds * tag 'at91-dt2' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91: ARM: dts: at91: sama5d2 Xplained: add leds node ARM: dts: at91: sama5d2 Xplained: add user push button ARM: dts: at91: sama5d2 Xplained: set pin muxing for usb gadget and usb host ARM: dts: at91: sama5d2: add nand0 and nfc0 nodes ARM: dts: at91: sama5d2: add dma properties to UART nodes ARM: dts: at91: sama5d2 Xplained: Correct the macb irq pinctrl node
2016-03-02Merge tag 'stm32-dt-for-v4.6-2' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/mcoquelin/stm32 into next/dt Merge "STM32 DT updates for v4.6 #2" from Maxime Coquelin: Highlights: ----------- - Fix clock references in GPIO nodes - Add early support to stm32f469 MCU - Add USB HS support in host mdoe to stm32429-eval board - Add Ethernet support to stm32429-eval board * tag 'stm32-dt-for-v4.6-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mcoquelin/stm32: ARM: dts: stm32f429: Enable Ethernet on Eval board ARM: dts: stm32f429: Add Ethernet support ARM: dts: stm32f429: Add system config bank node ARM: dts: stm32429i-eval: Add USB HS host mode support ARM: dts: stm32f429: Fix clocks referenced by GPIO banks ARM: stm32: Supply a DTS file for the STM32F469 Discovery board
2016-03-02Merge tag 'omap-for-v4.6/dt-pt2' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt Pull "Part 2 of device tree changes for omaps for v4.6 merge window" from Tony Lindgren: - A series of GPMC related interrupt changes from Rogeq Quadros <rogerq@ti.com> to prepare adding interrupt support to the NAND driver - Add RTC support for ti81xx - Correct LogicPD Torpedo mode description - Add basic support for LG Optimus Black phone in several patches by Paul Kocialkowski <contact@paulk.fr> - Change address-cells for dra7 for LPAE - Add TBCLK for PWMSS on dra7 * tag 'omap-for-v4.6/dt-pt2' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (21 commits) ARM: dts: omap3-sniper: TWL4030 keypad support Revert "ARM: dts: DRA7: Add dt nodes for PWMSS" ARM: dts: dm814x: dra62x: Disable wait pin monitoring for NAND ARM: dts: dm814x: dra62x: Fix NAND device nodes ARM: dts: DRA7: Add dt nodes for PWMSS ARM: dts: DRA7: Add TBCLK for PWMSS ARM: dts: DRA7: change address-cells and size-cells ARM: dts: omap3-sniper: USB OTG support ARM: dts: LG Optimus Black codename sniper basic support ARM: dts: dm3730-torpedo-devkit: Add "Wireless" to model ARM: dts: Add RTC entry for dm816x ARM: dts: Add RTC entry for dm814x and dra62x ARM: dts: omap3: Fix NAND device nodes ARM: dts: dm8168-evm: ARM: dts: Disable wait pin monitoring for NAND ARM: dts: dm816x: Fix NAND device nodes ARM: dts: am335x: Disable wait pin monitoring for NAND ARM: dts: am335x: Fix NAND device nodes ARM: dts: am437x: Disable wait pin monitoring for NAND ARM: dts: am437x: Fix NAND device nodes ARM: dts: dra7: Remove redundant nand property ...
2016-03-02Merge tag 'imx-dt-4.6' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/dt2 Merge "i.MX device tree updates for 4.6" from Shawn Guo: - New i.MX6 board support: NXP/Freescale imx6qp boards, Advantech/GE, Uniwest evi, Engicam IMX6 Q7, Toradex Apalis SoM and Ixora carrier boards - Relicense vf610 dts files under GPLv2/X11 - A patch series from Stefan updating Vybrid Colibri board support with PMU, regulators and other devices enabled - Correct PWM pinmux for Ventana boards and add more pinmux for GW54xx - Clean up imx6q-tbs2910 dts file and add SATA PHY configuration - A series from Russell cleaning up hummingboard dts files - A series from Lothar updating Ka-Ro i.MX28, i.MX53 and i.MX6 boards to use better audio codec frequency and display configurations - Clean up whitespaces in i.MX6UL pinctrl header and add more devices support for the SoC - Other random dts updates to enable various devices * tag 'imx-dt-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (75 commits) ARM: dts: imx53-qsb: Fix gpio button polarity ARM: dts: vfxxx: Add DAC node for Vybrid SoC ARM: dts: imx6q: add missing links between ipu2 and mipi dsi ARM: dts: imx: Add support for Advantech/GE B850v3 ARM: dts: imx: Add support for Advantech/GE B650v3 ARM: dts: imx: Add support for Advantech/GE B450v3 ARM: dts: imx: Add support for Advantech/GE Bx50v3 ARM: dts: imx: Add Advantech BA-16 Qseven module of: Add vendor prefix for General Electric Company of: Add vendor prefix for Advantech Corporation ARM: dts: imx35.dtsi: change the clock information for usb ARM: dts: imx25.dtsi: change the clock information for usb ARM: dts: imx6ul: add kpp support ARM: dts: imx6ul: add gpmi support ARM: dts: imx6ul: add lcdif support ARM: dts: imx6ul: add sai support ARM: dts: imx6ul: add flexcan support ARM: dts: imx6ul: add sdma support ARM: dts: imx6ul: add pwm[1-4] nodes ARM: dts: imx6ul: disable PWMs by default ...
2016-03-02tile kgdb: fix bug in copy to gdb regs, and optimize memsetChris Metcalf
David Binderman pointed out that we were doing a full memset() of the gdb register buffer and then doing a memcpy() to it that was almost as big. This commit optimizes that by only doing a memset() of the registers that are intended to be zero. While making this change I noticed that we were not copying the link register (LR, number 55) due to a fencepost error in commit f419e6f63c5a ("arch: tile: kernel: kgdb.c: Use memcpy() instead of pointer copy one by one"), and I've corrected that as well. Reported-by: David Binderman <dcb314@hotmail.com> Signed-off-by: Chris Metcalf <cmetcalf@ezchip.com>
2016-03-02Merge tag 'samsung-dt-4.6-2' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into next/dt Merge "ARM: EXYNOS: dts for 4.6, 2nd pull" from Krzysztof Kozlowski: Samsung DeviceTree updates and improvements for v4.6, second round: 1. Split common reboot/poweroff node to separate DTSI. 2. Don't overheat Odroid XU3 by cooling CPU with cpufreq. * tag 'samsung-dt-4.6-2' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux: ARM: dts: exynos: Don't overheat the Odroid XU3-Lite on high load ARM: dts: exynos: Add cooling levels for Exynos5422/5800 CPUs ARM: dts: exynos: Add cooling levels for Exynos5420 CPUs ARM: dts: exynos: Move syscon reboot/poweroff to common dtsi
2016-03-02Merge tag 'qcom-dt-for-4.6' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux into next/dt Merge "Qualcomm ARM Based Device Tree Updates for v4.6" from Andy Gross: * Add documentation for Kryo * Add RPMCC node for APQ8064 * Updates for MSM8974 * Add board clocks * Add support for Nexus7 device * Fixup pmic reg properties * Various updates/cleanups for APQ8064 based boards * tag 'qcom-dt-for-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/agross/linux: (23 commits) ARM: dts: ifc6410: add correct aliases to the i2c and spi bus ARM: dts: apq8064: add i2c6 device node. ARM: dts: ifc6410: enable cam i2c device ARM: dts: apq8064: add gsbi4 with i2c node. ARM: dts: apq8064: add missing i2c2 pinctrl info ARM: dts: ifc6410: enable spi device on expansion ARM: dts: apq8064: add spi5 device node. ARM: dts: apq8064: add i2c sleep pinctrl states. ARM: dts: apq8064: add pci support in CM QS600 ARM: dts: apq8064: move pinctrls to dedicated dtsi ARM: dts: qcom: fix i2c lables to be inline with others dts: msm8974: Add dma channels for blsp2_i2c1 node dts: msm8974: Add blsp2_bam dma node ARM: dts: qcom: Remove size elements from pmic reg properties devicetree: bindings: Document qcom board compatible format devicetree: Add DTS file to support the Nexus7 2013 (flo) device. devicetree: qcom-apq8064.dtsi: Add i2c3 address-cells and size-cells values arm: dts: qcom: Add more board clocks ARM: dts: qcom: msm8974: Add WCNSS SMP2P node ARM: dts: qcom: msm8974: Add smsm node ...
2016-03-02CNS3xxx: remove unused *_VIRT definitionsKrzysztof Hałasa
All PCI mmio ranges are dynamically mapped now, so we can remove the fixed virtual address definitions. Signed-off-by: Krzysztof Hałasa <khalasa@piap.pl> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2016-03-02Input: rotary_encoder - convert to use gpiod APIDmitry Torokhov
Instead of using old GPIO API, let's switch to GPIOD API, which automatically handles polarity. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2016-03-02ARM: at91: avoid defining CONFIG_* symbols in source codeArnd Bergmann
In an invalid randconfig build (fixed by another patch), I ran across this warning: arch/arm/include/debug/at91.S:18:0: error: "CONFIG_DEBUG_UART_VIRT" redefined [-Werror] #define CONFIG_DEBUG_UART_VIRT AT91_IO_P2V(CONFIG_DEBUG_UART_PHYS) As Russell pointed out, we should never #define a macro starting with CONFIG_ in a source file, as that is rather confusing. This renames the macro to avoid the symbol clash. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Suggested-by: Russell King <linux@arm.linux.org.uk> Acked-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2016-03-02ARM: dts: at91: sama5d2 Xplained: add leds nodeWenyou Yang
Add the three leds on the sama5d2 Xplained board with their pinctrl node. The blue led is positioned with the "heartbeat" trigger. Signed-off-by: Wenyou Yang <wenyou.yang@atmel.com> Acked-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> [nicolas.ferre@atmel.com: add commit message and adapt to newer kernel] Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2016-03-02ARM: dts: at91: sama5d2 Xplained: add user push buttonLudovic Desroches
Add the push button named "PB USER" with code 0x104. Associated pinctrl node is also added. Signed-off-by: Ludovic Desroches <ludovic.desroches@atmel.com> Acked-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2016-03-02ARM: dts: at91: sama5d2 Xplained: set pin muxing for usb gadget and usb hostCyrille Pitchen
For USB gadget on port A (device mode): - pin PA31 is configured as an input GPIO which triggers an interrupt when vbus is detected on USB port A. - pin PB9 is configured as an output GPIO and set to low level so the board doesn't supply vbus to USB port A. For USB host: - pin PB10 is configured as an output GPIO and is active at high level. The ohci driver will activate this pin so the board supplies vbus to USB port B. - pin PB9 should be configured as an output GPIO and active at high level to use to USB port A in host mode (conflicts with USB gadget). Signed-off-by: Cyrille Pitchen <cyrille.pitchen@atmel.com> Acked-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
2016-03-02arm64: Rework valid_user_regsMark Rutland
We validate pstate using PSR_MODE32_BIT, which is part of the user-provided pstate (and cannot be trusted). Also, we conflate validation of AArch32 and AArch64 pstate values, making the code difficult to reason about. Instead, validate the pstate value based on the associated task. The task may or may not be current (e.g. when using ptrace), so this must be passed explicitly by callers. To avoid circular header dependencies via sched.h, is_compat_task is pulled out of asm/ptrace.h. To make the code possible to reason about, the AArch64 and AArch32 validation is split into separate functions. Software must respect the RES0 policy for SPSR bits, and thus the kernel mirrors the hardware policy (RAZ/WI) for bits as-yet unallocated. When these acquire an architected meaning writes may be permitted (potentially with additional validation). Signed-off-by: Mark Rutland <mark.rutland@arm.com> Acked-by: Will Deacon <will.deacon@arm.com> Cc: Dave Martin <dave.martin@arm.com> Cc: James Morse <james.morse@arm.com> Cc: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2016-03-02ARM: OMAP2+: Use srst_udelay for USB on dm814xTony Lindgren
Without this booting t410 can fail randomly with no output depending on the .config options chosen. Enabling debug_ll causes the problem to go away. I narrowed this down to USB by disabling one module at a time. Acked-by: Paul Walmsley <paul@pwsan.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-03-02s390/dma: Allow per device dma opsChristian Borntraeger
As virtio-ccw will have dma ops, we can no longer default to the zPCI ones. Make use of dev_archdata to keep the dma_ops per device. The pci devices now use that to override the default, and the default is changed to use the noop ops for everything that does not specify a device specific one. To compile without PCI support we will enable HAS_DMA all the time, via the default config in lib/Kconfig. Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com> Reviewed-by: Joerg Roedel <jroedel@suse.de> Acked-by: Cornelia Huck <cornelia.huck@de.ibm.com> Acked-by: Sebastian Ott <sebott@linux.vnet.ibm.com> Signed-off-by: Andy Lutomirski <luto@kernel.org> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2016-03-02alpha/dma: use common noop dma opsChristian Borntraeger
Some of the alpha pci noop dma ops are identical to the common ones. Use them. Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com> Reviewed-by: Joerg Roedel <jroedel@suse.de> Signed-off-by: Andy Lutomirski <luto@kernel.org> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2016-03-02s390/percpu: remove this_cpu_cmpxchg_double_4Heiko Carstens
git commit 26f15caaf993 ("s390/cmpxchg: simplify cmpxchg_double") removed support for cmpxchg_double for two consecutive four byte values, for which it would generate a cds instruction. However I forgot to remove the corresponding define in our percpu header file, which means that this_cpu_cmpxchg_double would now incorrectly generate a cdsg instruction if being used on a double four byte location. Therefore remove the percpu define as well. There is currently no user and therefore no bug fixed with this. Obviously any such user could and should simply use cmpxchg. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2016-03-02s390/cpumf: Improve guest detection heuristicsChristian Borntraeger
commit e22cf8ca6f75 ("s390/cpumf: rework program parameter setting to detect guest samples") requires guest changes to get proper guest/host. We can do better: We can use the primary asn value, which is set on all Linux variants to compare this with the host pp value. We now have the following cases: 1. Guest using PP host sample: gpp == 0, asn == hpp --> host guest sample: gpp != 0 --> guest 2. Guest not using PP host sample: gpp == 0, asn == hpp --> host guest sample: gpp == 0, asn != hpp --> guest As soon as the host no longer sets CR4, we must back out this heuristics - let's add a comment in switch_to. Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com> Reviewed-by: Hendrik Brueckner <brueckner@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2016-03-02s390/fault: merge report_user_fault implementationsHeiko Carstens
We have two close to identical report_user_fault functions. Add a parameter to one and get rid of the other one in order to reduce code duplication. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2016-03-02s390/dis: use correct escape sequence for '%' characterHeiko Carstens
The double escape character sequence introduced with commit 272fa59ccb4f ("s390/dis: Fix handling of format specifiers") is not necessary anymore since commit 561e10300269 ("s390/dis: Fix printing of the register numbers"). Instead this now generates an extra '%' character: lg %%r1,160(%%r11) So fix this and basically revert 272fa59ccb4f. Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2016-03-02s390/kvm: simplify set_guest_storage_keyMartin Schwidefsky
Git commit ab3f285f227fec62868037e9b1b1fd18294a83b8 "KVM: s390/mm: try a cow on read only pages for key ops" added a fixup_user_fault to set_guest_storage_key force a copy on write if the page is mapped read-only. This is supposed to fix the problem of differing storage keys for shared mappings, e.g. the empty_zero_page. But if the storage key is set before the pte is mapped the storage key update is done on the pgste. A later fault will happily map the shared page with the key from the pgste. Eventually git commit 2faee8ff9dc6f4bfe46f6d2d110add858140fb20 "s390/mm: prevent and break zero page mappings in case of storage keys" fixed this problem for the empty_zero_page. The commit makes sure that guests enabled for storage keys will not use the empty_zero_page at all. As the call to fixup_user_fault in set_guest_storage_key depends on the order of the storage key operation vs. the fault that maps the pte it does not really fix anything. Just remove it. Reviewed-by: Dominik Dingel <dingel@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
2016-03-02powerpc: Add the ability to save VSX without giving it upCyril Bur
This patch adds the ability to be able to save the VSX registers to the thread struct without giving up (disabling the facility) next time the process returns to userspace. This patch builds on a previous optimisation for the FPU and VEC registers in the thread copy path to avoid a possibly pointless reload of VSX state. Signed-off-by: Cyril Bur <cyrilbur@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2016-03-02powerpc: Add the ability to save Altivec without giving it upCyril Bur
This patch adds the ability to be able to save the VEC registers to the thread struct without giving up (disabling the facility) next time the process returns to userspace. This patch builds on a previous optimisation for the FPU registers in the thread copy path to avoid a possibly pointless reload of VEC state. Signed-off-by: Cyril Bur <cyrilbur@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2016-03-02powerpc: Add the ability to save FPU without giving it upCyril Bur
This patch adds the ability to be able to save the FPU registers to the thread struct without giving up (disabling the facility) next time the process returns to userspace. This patch optimises the thread copy path (as a result of a fork() or clone()) so that the parent thread can return to userspace with hot registers avoiding a possibly pointless reload of FPU register state. Signed-off-by: Cyril Bur <cyrilbur@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2016-03-02powerpc: Prepare for splitting giveup_{fpu, altivec, vsx} in twoCyril Bur
This prepares for the decoupling of saving {fpu,altivec,vsx} registers and marking {fpu,altivec,vsx} as being unused by a thread. Currently giveup_{fpu,altivec,vsx}() does both however optimisations to task switching can be made if these two operations are decoupled. save_all() will permit the saving of registers to thread structs and leave threads MSR with bits enabled. This patch introduces no functional change. Signed-off-by: Cyril Bur <cyrilbur@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2016-03-02powerpc: Restore FPU/VEC/VSX if previously usedCyril Bur
Currently the FPU, VEC and VSX facilities are lazily loaded. This is not a problem unless a process is using these facilities. Modern versions of GCC are very good at automatically vectorising code, new and modernised workloads make use of floating point and vector facilities, even the kernel makes use of vectorised memcpy. All this combined greatly increases the cost of a syscall since the kernel uses the facilities sometimes even in syscall fast-path making it increasingly common for a thread to take an *_unavailable exception soon after a syscall, not to mention potentially taking all three. The obvious overcompensation to this problem is to simply always load all the facilities on every exit to userspace. Loading up all FPU, VEC and VSX registers every time can be expensive and if a workload does avoid using them, it should not be forced to incur this penalty. An 8bit counter is used to detect if the registers have been used in the past and the registers are always loaded until the value wraps to back to zero. Several versions of the assembly in entry_64.S were tested: 1. Always calling C. 2. Performing a common case check and then calling C. 3. A complex check in asm. After some benchmarking it was determined that avoiding C in the common case is a performance benefit (option 2). The full check in asm (option 3) greatly complicated that codepath for a negligible performance gain and the trade-off was deemed not worth it. Signed-off-by: Cyril Bur <cyrilbur@gmail.com> [mpe: Move load_vec in the struct to fill an existing hole, reword change log] Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> fixup
2016-03-02powerpc: Explicitly disable math features when copying threadCyril Bur
Currently when threads get scheduled off they always giveup the FPU, Altivec (VMX) and Vector (VSX) units if they were using them. When they are scheduled back on a fault is then taken to enable each facility and load registers. As a result explicitly disabling FPU/VMX/VSX has not been necessary. Future changes and optimisations remove this mandatory giveup and fault which could cause calls such as clone() and fork() to copy threads and run them later with FPU/VMX/VSX enabled but no registers loaded. This patch starts the process of having MSR_{FP,VEC,VSX} mean that a threads registers are hot while not having MSR_{FP,VEC,VSX} means that the registers must be loaded. This allows for a smarter return to userspace. Signed-off-by: Cyril Bur <cyrilbur@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2016-03-02arm64: mm: check at build time that PAGE_OFFSET divides the VA space evenlyArd Biesheuvel
Commit 8439e62a1561 ("arm64: mm: use bit ops rather than arithmetic in pa/va translations") changed the boundary check against PAGE_OFFSET from an arithmetic comparison to a bit test. This means we now silently assume that PAGE_OFFSET is a power of 2 that divides the kernel virtual address space into two equal halves. So make that assumption explicit. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2016-03-02kvm: x86: Update tsc multiplier on change.Owen Hofmann
vmx.c writes the TSC_MULTIPLIER field in vmx_vcpu_load, but only when a vcpu has migrated physical cpus. Record the last value written and update in vmx_vcpu_load on any change, otherwise a cpu migration must occur for TSC frequency scaling to take effect. Cc: stable@vger.kernel.org Fixes: ff2c3a1803775cc72dc6f624b59554956396b0ee Signed-off-by: Owen Hofmann <osh@google.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2016-03-02mips/kvm: fix ioctl error handlingMichael S. Tsirkin
Returning directly whatever copy_to_user(...) or copy_from_user(...) returns may not do the right thing if there's a pagefault: copy_to_user/copy_from_user return the number of bytes not copied in this case, but ioctls need to return -EFAULT instead. Fix up kvm on mips to do return copy_to_user(...)) ? -EFAULT : 0; and return copy_from_user(...)) ? -EFAULT : 0; everywhere. Cc: stable@vger.kernel.org Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2016-03-02Merge tag 'kvm-arm-for-4.5-rc7' of ↵Paolo Bonzini
git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into kvm-master KVM/ARM fixes for 4.5-rc7 - Fix ioctl error handling on the timer path
2016-03-02ARM: dts: stm32f429: Enable Ethernet on Eval boardAlexandre TORGUE
MAC is connected to a PHY in MII mode. Signed-off-by: Alexandre TORGUE <alexandre.torgue@gmail.com> Signed-off-by: Maxime Coquelin <mcoquelin.stm32@gmail.com>
2016-03-01ARM: dts: Add clocks for dm814x ADPLLTony Lindgren
These use the standard clock bindings and now we can make some of the fixed clocks into real clocks. Note that the clock output names may become optional as we probably want to eventually use descriptive names, or use just dynamically generated names as suggested by Tero. Acked-by: Tero Kristo <t-kristo@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-03-01misc: at24: replace memory_accessor with nvmem_device_readAndrew Lunn
Now that the AT24 uses the NVMEM framework, replace the memory_accessor in the setup() callback with nvmem API calls. Signed-off-by: Andrew Lunn <andrew@lunn.ch> Acked-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Tested-by: Sekhar Nori <nsekhar@ti.com> Acked-by: Wolfram Sang <wsa@the-dreams.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2016-03-01Merge tag 'lkdtm-next' of ↵Greg Kroah-Hartman
git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux into char-misc-testing Kees writes: Become maintainer, add hardening tests for use-after-free and atomic wrapping.
2016-03-01Merge tag 'extcon-next-for-4.6' of ↵Greg Kroah-Hartman
git://git.kernel.org/pub/scm/linux/kernel/git/chanwoo/extcon into char-misc-testing Chanwoo writes: Update extcon for 4.6 Detailed description for patchset: 1. Add new EXTCON_CHG_USB_SDP type - SDP (Standard Downstream Port) USB Charging Port means the charging connector.a 2. Add the VBUS detection by using GPIO on extcon-palmas - Beaglex15 board uses the extcon-palmas driver But, beaglex15 board need the GPIO support for VBUS detection. 3. Fix the minor issue of extcon drivers
2016-03-02ARM: dts: porter: remove enable prop from HS-USB device nodeSergei Shtylyov
In the final versions of the Porter board (called "PORTER_C") Renesas decided to get rid of the Maxim Integrated MAX3355 OTG chip and didn't add any other provision to differ the host/gadget mode, so we'll have to remove no longer valid "renesas,enable-gpio" property from the HS-USB device node. Hopefully, the earlier revisions of the board were never seen in the wild... Fixes: c794f6a09a25 ("ARM: shmobile: porter: add HS-USB DT support") Reported-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com> Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2016-03-02KVM: PPC: Add support for 64bit TCE windowsAlexey Kardashevskiy
The existing KVM_CREATE_SPAPR_TCE only supports 32bit windows which is not enough for directly mapped windows as the guest can get more than 4GB. This adds KVM_CREATE_SPAPR_TCE_64 ioctl and advertises it via KVM_CAP_SPAPR_TCE_64 capability. The table size is checked against the locked memory limit. Since 64bit windows are to support Dynamic DMA windows (DDW), let's add @bus_offset and @page_shift which are also required by DDW. Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by: Paul Mackerras <paulus@samba.org>
2016-03-02KVM: PPC: Add @offset to kvmppc_spapr_tce_tableAlexey Kardashevskiy
This enables userspace view of TCE tables to start from non-zero offset on a bus. This will be used for huge DMA windows. This only changes the internal structure, the user interface needs to change in order to use an offset. Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
2016-03-02KVM: PPC: Add @page_shift to kvmppc_spapr_tce_tableAlexey Kardashevskiy
At the moment the kvmppc_spapr_tce_table struct can only describe 4GB windows and handle fixed size (4K) pages. Dynamic DMA windows support more so these limits need to be extended. This replaces window_size (in bytes, 4GB max) with page_shift (32bit) and size (64bit, in pages). This should cause no behavioural change as this is changing the internal structures only - the user interface still only allows one to create a 32-bit table with 4KiB pages at this stage. Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Reviewed-by: David Gibson <david@gibson.dropbear.id.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
2016-03-01parisc: Wire up copy_file_range syscallHelge Deller
Signed-off-by: Helge Deller <deller@gmx.de>
2016-03-02powerpc/mm: Split hash page table sizing heuristic into a helperDavid Gibson
htab_get_table_size() either retrieve the size of the hash page table (HPT) from the device tree - if the HPT size is determined by firmware - or uses a heuristic to determine a good size based on RAM size if the kernel is responsible for allocating the HPT. To support a PAPR extension allowing resizing of the HPT, we're going to want the memory size -> HPT size logic elsewhere, so split it out into a helper function. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> Reviewed-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2016-03-01parisc: Fix ptrace syscall number and return value modificationHelge Deller
Mike Frysinger reported that his ptrace testcase showed strange behaviour on parisc: It was not possible to avoid a syscall and the return value of a syscall couldn't be changed. To modify a syscall number, we were missing to save the new syscall number to gr20 which is then picked up later in assembly again. The effect that the return value couldn't be changed is a side-effect of another bug in the assembly code. When a process is ptraced, userspace expects each syscall to report entrance and exit of a syscall. If a syscall number was given which doesn't exist, we jumped to the normal syscall exit code instead of informing userspace that the (non-existant) syscall exits. This unexpected behaviour confuses userspace and thus the bug was misinterpreted as if we can't change the return value. This patch fixes both problems and was tested on 64bit kernel with 32bit userspace. Signed-off-by: Helge Deller <deller@gmx.de> Cc: Mike Frysinger <vapier@gentoo.org> Cc: stable@vger.kernel.org # v4.0+ Tested-by: Mike Frysinger <vapier@gentoo.org>
2016-03-01Merge tag 'mac80211-next-for-davem-2016-02-26' of ↵David S. Miller
git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next Johannes Berg says: ==================== Here's another round of updates for -next: * big A-MSDU RX performance improvement (avoid linearize of paged RX) * rfkill changes: cleanups, documentation, platform properties * basic PBSS support in cfg80211 * MU-MIMO action frame processing support * BlockAck reordering & duplicate detection offload support * various cleanups & little fixes ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
2016-03-01parisc: Use parentheses around expression in floppy.hHelge Deller
David Binderman reported a style issue in the floppy.h header file: arch/parisc/include/asm/floppy.h:221: (style) Boolean result is used in bitwise operation. Clarify expression with parentheses. Reported-by: David Binderman <dcb314@hotmail.com> Cc: David Binderman <dcb314@hotmail.com> Signed-off-by: Helge Deller <deller@gmx.de>
2016-03-01ARM: dts: omap3-sniper: TWL4030 keypad supportPaul Kocialkowski
This adds support for the volume and gesture keys, using TWL4030 keypad. Signed-off-by: Paul Kocialkowski <contact@paulk.fr> Signed-off-by: Tony Lindgren <tony@atomide.com>
2016-03-01Revert "ARM: dts: DRA7: Add dt nodes for PWMSS"Tony Lindgren
This reverts commit 5fcc673067a2b577d37f2c5c5439dbb177f7107e. The binding may need to change pending related hwmod comments, so reverting as requested by Paul Walmsley <paul@pwsan.com>.