summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)Author
2018-07-22x86/efi: Access EFI MMIO data as unencrypted when SEV is activeBrijesh Singh
SEV guest fails to update the UEFI runtime variables stored in the flash. The following commit: 1379edd59673 ("x86/efi: Access EFI data as encrypted when SEV is active") unconditionally maps all the UEFI runtime data as 'encrypted' (C=1). When SEV is active the UEFI runtime data marked as EFI_MEMORY_MAPPED_IO should be mapped as 'unencrypted' so that both guest and hypervisor can access the data. Signed-off-by: Brijesh Singh <brijesh.singh@amd.com> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Tom Lendacky <thomas.lendacky@amd.com> Cc: <stable@vger.kernel.org> # 4.15.x Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: linux-efi@vger.kernel.org Fixes: 1379edd59673 ("x86/efi: Access EFI data as encrypted ...") Link: http://lkml.kernel.org/r/20180720012846.23560-2-ard.biesheuvel@linaro.org Signed-off-by: Ingo Molnar <mingo@kernel.org>
2018-07-21Merge tag 'armsoc-fixes' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC fixes from Olof Johansson: - Fix interrupt type on ethernet switch for i.MX-based RDU2 - GPC on i.MX exposed too large a register window which resulted in userspace being able to crash the machine. - Fixup of bad merge resolution moving GPIO DT nodes under pinctrl on droid4. * tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: ARM: dts: imx6: RDU2: fix irq type for mv88e6xxx switch soc: imx: gpc: restrict register range for regmap access ARM: dts: omap4-droid4: fix dts w.r.t. pwm
2018-07-21Merge branch 'x86-urgent-for-linus' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 fix from Ingo Molnar: "A single fix for a MCE-polling regression, which prevented the disabling of polling" * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/MCE: Remove min interval polling limitation
2018-07-21Merge branch 'x86-pti-urgent-for-linus' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 pti fixes from Ingo Molnar: "An APM fix, and a BTS hardware-tracing fix related to PTI changes" * 'x86-pti-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/apm: Don't access __preempt_count with zeroed fs x86/events/intel/ds: Fix bts_interrupt_threshold alignment
2018-07-21Merge branch 'core-urgent-for-linus' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull core kernel fixes from Ingo Molnar: "This is mostly the copy_to_user_mcsafe() related fixes from Dan Williams, and an ORC fix for Clang" * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/asm/memcpy_mcsafe: Fix copy_to_user_mcsafe() exception handling lib/iov_iter: Fix pipe handling in _copy_to_iter_mcsafe() lib/iov_iter: Document _copy_to_iter_flushcache() lib/iov_iter: Document _copy_to_iter_mcsafe() objtool: Use '.strtab' if '.shstrtab' doesn't exist, to support ORC tables on Clang
2018-07-21Merge tag 'powerpc-4.18-4' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux Pull powerpc fixes from Michael Ellerman: "Two regression fixes, one for xmon disassembly formatting and the other to fix the E500 build. Two commits to fix a potential security issue in the VFIO code under obscure circumstances. And finally a fix to the Power9 idle code to restore SPRG3, which is user visible and used for sched_getcpu(). Thanks to: Alexey Kardashevskiy, David Gibson. Gautham R. Shenoy, James Clarke" * tag 'powerpc-4.18-4' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: powerpc/powernv: Fix save/restore of SPRG3 on entry/exit from stop (idle) powerpc/Makefile: Assemble with -me500 when building for E500 KVM: PPC: Check if IOMMU page is contained in the pinned physical page vfio/spapr: Use IOMMU pageshift rather than pagesize powerpc/xmon: Fix disassembly since printf changes
2018-07-21mm: make vm_area_alloc() initialize core fieldsLinus Torvalds
Like vm_area_dup(), it initializes the anon_vma_chain head, and the basic mm pointer. The rest of the fields end up being different for different users, although the plan is to also initialize the 'vm_ops' field to a dummy entry. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2018-07-21Merge tag 'am654-for-v4.19-signed' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt TI AM654 support for v4.19 merge window This branch adds initial support for new Texas Instruments AM654 quad core A53 ARMv8 SoC. It's the first device for TI K3 multicore SoC architecture. Initially only basic devices are configured, support for more devices will follow later on. And many of the internal devices familiar from earlier TI SoCs should work with existing kernel device drivers. * tag 'am654-for-v4.19-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: arm64: dts: ti: Add support for AM654 EVM base board soc: ti: Add Support for AM654 SoC config option arm64: dts: ti: Add Support for AM654 SoC arm64: Add support for TI's K3 Multicore SoC architecture dt-bindings: arm: ti: Add bindings for AM654 SoC Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-21Merge tag 'renesas-arm64-defconfig-for-v4.19' of ↵Olof Johansson
https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/defconfig Renesas ARM64 Based SoC Defconfig Updates for v4.19 * Enable BD9571MWV regulator in ARM64 defconfig This is to allow wider testing of the BD9571 PMIC which is present on boards with Renesas R-Car Gen3 SoCs * tag 'renesas-arm64-defconfig-for-v4.19' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: arm64: defconfig: Enable BD9571MWV regulator Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-21Merge tag 'imx-defconfig-4.19' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/defconfig i.MX defconfig update for 4.19: - Enable ISL29018 sensor and MMA8452 accelerometer driver support for imx6qdl-sabreauto board. - Enable DMATEST support which is useful for DMA driver development testing. - Use the DRM driver for MXSFB LCD controller found on i.MX23, i.MX28, i.MX6SX and i.MX7 SoCs. * tag 'imx-defconfig-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: ARM: imx_v6_v7_defconfig: add DMATEST support ARM: imx_v6_v7_defconfig: use MXSFB DRM driver ARM: mxs_defconfig: use MXSFB DRM driver ARM: imx_v6_v7_defconfig: Enable imx6qdl-sabreauto sensors Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-21Merge tag 'imx-dt64-4.19' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/dt Freescale arm64 device tree update for 4.19: - Update device tree sources to use SPDX identifiers for license. - Add cooling device property '#cooling-cells' for all CPUs of a cluster. * tag 'imx-dt64-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: arm64: dts: freescale: Add missing cooling device properties for CPUs arm64: dts: freescale: Update to use SPDX identifiers Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-21Merge tag 'imx-dt-4.19' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/dt i.MX device tree update for 4.19: - Add device tree support for i.MX6SLL SoC. - New board support: ConnectCore 6UL System-On-Module and SBC Express; ZII SCU2 Mezz, SCU3 ESB, SSMB SPU3 and CFU1 board; i.MX6SLL EVK board; Engicam i.CoreM6 1.5 Quad/Dual MIPI; LogicPD MX31Lite board; i.MX53 HSC/DDC boards from K+P. - Remove fake regulator bus container node and enable USB OTG support for i.MX6 wandboard and riotboard. - Populate RAVE SP EEPROM, backlight, power button and watchdog devices for ZII boards. - Add cooling-cells for cpufreq cooling device, and add OPP properties for all CPUs. - A series from Anson Huang to enable LCD panel and backlight support for imx6sll-evk board. - Make pfuze100 sw4 regulator always-on for for a few Freescale/NXP development boards, because the regulator is critical there and cannot be turned off. - Add more device support for i.MX5: AIPSTZ, SAHARA Crypto, M4IF, Tigerp, PMU, CodaHx4 VPU. - Enable PMU secure-reg-access for imx51-babbage, imx51-zii-rdu1 and imx53-ppd board. - Switch more device tree license to use SPDX identifier. - Switch to use OF graph to describe the display for imx7d-nitrogen7. - Add chosen/stdout-path for more boards, so that earlycon can be enabled more easily on kernel cmdline. - Convert GPC to new device tree bindings and add Vivante gpu nodes for i.MX6SL SoC. - Add more device support for imx6dl-mamoj board: parallel display, WiFi and USB. - A series from Stefan Agner to update i.MX6 apalis/colibri boards on various aspects: SD/MMC card detection, regulators, etc. * tag 'imx-dt-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (96 commits) ARM: dts: imx7d: remove "operating-points" property for cpu1 ARM: dts: vf610-zii-ssmb-spu3: Fix W=1 level warnings ARM: dts: vf610: Add ZII CFU1 board ARM: dts: imx6dl-mamoj: Add usb host and device support ARM: dts: imx6dl-mamoj: Add Wifi support ARM: dts: imx6dl-mamoj: Add parallel display support ARM: dts: vf610: Add ZII SSMB SPU3 board ARM: dts: imx6ul-pico-hobbit: Do not hardcode the memory size ARM: dts: imx6sl-evk: make pfuze100 sw4 always on ARM: dts: imx6sll-evk: make pfuze100 sw4 always on ARM: dts: imx6sx-sdb-reva: make pfuze100 sw4 always on ARM: dts: imx6qdl-sabresd: make pfuze100 sw4 always on ARM: dts: imx6sl-evk: add missing GPIO iomux setting ARM: dts: imx51-zii-scu3-esb: Fix RAVE SP watchdog compatible string ARM: dts: imx51-zii-scu3-esb: Add switch IRQ line pinumx config ARM: dts: imx6sx-nitrogen6sx: remove obsolete display configuration ARM: dts: imx7d-nitrogen7: use OF graph to describe the display ARM: dts: imx: Switch Boundary Devices boards to SPDX identifier ARM: dts: imx6sl: Add vivante gpu nodes ARM: dts: imx6sll-evk: enable SEIKO 43WVF1G lcdif panel ... Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-21Merge tag 'imx-dt-clkdep-4.19' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/dt i.MX device tree changes with clock dependency: - Add clock for i.MX6UL GPIO blocks * tag 'imx-dt-clkdep-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: ARM: dts: imx6ul: add GPIO clocks clk: imx6ul: remove clks_init_on array clk: imx6ul: add GPIO clock gates dt-bindings: clock: imx6ul: Do not change the clock definition order Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-21Merge tag 'amlogic-dt64-1' of ↵Olof Johansson
https://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic into next/dt Amlogic 64-bit DT updates for v4.19 - new SoC: S805x - new board: S805x-based P241 board from Amlogic - AXG: add ADC support w/buttons, add pins for PDM, SPDIF - AXG: s400 board: preliminary support for audio - GX: nanopi-k2: add HDMI, CEC, CVBS support * tag 'amlogic-dt64-1' of https://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic: ARM64: dts: meson-axg: add pdm pins ARM64: dts: meson-axg: add spdif input pins ARM64: dts: meson-axg: remove spdif out from gpio a7 ARM64: dts: meson-axg: add adc buttons the S400 ARM64: dts: meson-axg: remove vddio_ao18 from SoC dtsi ARM64: dts: meson-axg: add saradc support ARM64: dts: add S805X based P241 board dt-bindings: amlogic: Add support for GXL S805X and the P241 board ARM64: dts: amlogic: Add missing cooling device properties for CPUs ARM64: dts: meson-axg: add spdif output pins ARM64: dts: meson-axg: add s400 speaker amplifier ARM64: dts: meson-axg: add s400 main 12v supply ARM64: dts: meson-axg: add s400 microphone card leds ARM64: dts: meson-gxbb-nanopi-k2: Add HDMI, CEC and CVBS nodes ARM64: dts: meson-gx-p23x-q20x: move the wifi node to each board's .dts ARM64: dts: meson: enable the saradc node in meson-gx-p23x-q20x.dtsi Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-21Merge tag 'renesas-arm64-dt2-for-v4.19' of ↵Olof Johansson
https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt Second Round of Renesas ARM64 Based SoC DT Updates for v4.19 Corrections: * Remove non-existing STBE region from Ether-AVB node in DT of R-Car E3 (r8a77990) SoC Cleanups: * Consistently use rwdt as label for Renesas Watchdog Timer devices * Add second port to rcar_sound placeholder in DT of R-Car M3-N (r8a77965) SoC * Fix adv7482 decimal unit addresses in DT of Salvator-X and -XS boards Enhancements: * Describe in DT: - INTC-EX of R-Car V3H (r8a77980) SoC - USB3.0 of R-Car E3 (r8a77980) SoC - All SCIF and HSCIF devices of R-Car D3 (r8a77995) SoC. Previously only SCIF2, used as the debug consile, was described. - All IPMMU devicesof R-Car M3-N (r8a77965), V3H (r8a77980) and E3 (r8a77990) SoCs * Enable USB3.0 in DT of R-Car E3 (r8a77980) based Ebisu board * Prefer HSCIF1 over SCIF1 in DT of Salvator-X and -XS boards * tag 'renesas-arm64-dt2-for-v4.19' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: arm64: dts: renesas: r8a77980: add INTC-EX support arm64: dts: renesas: r8a77990: Enable USB3.0 host for Ebisu board arm64: dts: renesas: r8a77995: Add SCIF {0,1,3,4,5} and all HSCIF device nodes arm64: dts: renesas: r8a779{65,80,90}: Add IPMMU devices nodes arm64: dts: renesas: Unify the labels for RWDT arm64: dts: renesas: salvator-common: Prefer HSCIF1 over SCIF1 arm64: dts: renesas: r8a77965: Add second port to rcar_sound placeholder arm64: dts: renesas: salvator-common: Fix adv7482 decimal unit addresses arm64: dts: renesas: r8a77990: Remove non-existing STBE region Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-21Merge tag 'at91-ab-4.19-dt' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux into next/dt AT91 DT for 4.19: - New boards from Laird: WB45N, WB50N, SOM60 modules and DVK, Gatwick - fix the PMC compatibles * tag 'at91-ab-4.19-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: ARM: dts: at91: fix typos for SSC TD functions ARM: dts: add support for Laird SOM60 module and DVK boards ARM: dts: add support for Gatwick board based on WB50N ARM: dts: add support for Laird WB50N cpu module and DVK ARM: dts: add support for Laird WB45N cpu module and DVK ARM: dts: at91: add labels to soc dtsi for derivative boards dt-bindings: add laird and giantec vendor prefix ARM: dts: fix PMC compatible ARM: at91: fix USB clock detection handling dt-bindings: clk: at91: Document all the PMC compatibles dt-bindings: arm: remove PMC bindings Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-21ARM: dts: berlin: Add missing OPP properties for CPUsViresh Kumar
The OPP properties, like "operating-points", should either be present for all the CPUs of a cluster or none. If these are present only for a subset of CPUs of a cluster then things will start falling apart as soon as the CPUs are brought online in a different order. For example, this will happen because the operating system looks for such properties in the CPU node it is trying to bring up, so that it can create an OPP table. Add such missing properties. Fix other missing properties (clocks, clock latency) as well to make it all work. Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Jisheng Zhang <Jisheng.Zhang@synaptics.com> Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-21Merge tag 'hisi-arm64-dt-for-4.19v2' of ↵Olof Johansson
git://github.com/hisilicon/linux-hisi into next/dt ARM64: DT: Hisilicon SoC DT updates for 4.19v2 - Tidy up MMC properties for hi3660 - Remove keep-power-in-suspend on hikey and hikey960 to avoid keeping wifi power during suspend and let the user enable it if required - Update idle states for hikey960 - Add missing cooling device properties for cpus on hi6220 * tag 'hisi-arm64-dt-for-4.19v2' of git://github.com/hisilicon/linux-hisi: arm64: dts: hisilicon: Add missing cooling device properties for CPUs arm64: hikey960: update idle-states arm64: dts: hikey: Remove keep-power-in-suspend property arm64: dts: hikey960: Remove keep-power-in-suspend property arm64: dts: hikey960: Clean up MMC properties and move to proper file arm64: dts: hikey960: Remove deprecated MMC properties Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-21Merge tag 'zynq-dt-for-v4.19-v2' of https://github.com/Xilinx/linux-xlnx ↵Olof Johansson
into next/dt ARM: dts: zynq: DT changes for v4.19 - Add Z-turn board - Add mmc aliases - Fix model information - Sort out documentatio - Update Zybo Z7 - Fix gpio-keys * tag 'zynq-dt-for-v4.19-v2' of https://github.com/Xilinx/linux-xlnx: ARM: dts: zynq: Remove #address/#size-cells from gpio-keys ARM: dts: zynq: Add LEDs to the Zybo Z7 board ARM: dts: zynq: Use gpio constants for the Zybo Z7 board ARM: dts: zynq: Fix memory size on the Zybo Z7 board dt-bindings: xilinx: zynq: Add missing boards dt-bindings: xilinx: zynq: Move Paralella board to Xilinx dt-bindings: xilinx: zynq: Sort entries alphabetically dt-bindings: xilinx: zynq: Improve boards description ARM: dts: zynq: correct and improve the model property of dt files ARM: dts: zynq: Set correct manufacturer for ZedBoard and MicroZed boards ARM: dts: zynq: Add mmc alias for zc702/zc706/zed/zybo ARM: dts: zynq: Add support for Z-turn board Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-21Merge tag 'zynqmp-dt-for-v4.19-v2' of https://github.com/Xilinx/linux-xlnx ↵Olof Johansson
into next/dt arm: dts: zynqmp: DT changes for v4.19 - Use serdev for BT in zcu100 - Remove ep108 - Fix gpio-keys binding - Add suport for Ultra96 * tag 'zynqmp-dt-for-v4.19-v2' of https://github.com/Xilinx/linux-xlnx: arm64: dts: zynqmp: Add support for Avnet Ultra96 rev1 board arm64: dts: zynqmp: Remove #address/#size-cells from gpio-keys arm64: dts: zynqmp: Remove ep108 board arm64: dts: zynqmp: Use serdev for zcu100 BT Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-21Merge tag 'uniphier-dt64-v4.19' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-uniphier into next/dt UniPhier ARM64 SoC DT updates for v4.19 - Add missing #cooling-cells properties - Add hp-det-gpio property to detect headphone via GPIO * tag 'uniphier-dt64-v4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-uniphier: arm64: dts: uniphier: add headphone detect gpio for LD11 global board arm64: dts: uniphier: add headphone detect gpio for LD20 global board arm64: dts: uniphier: Add missing cooling device properties for CPUs Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-21Merge tag 'uniphier-dt-v4.19' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-uniphier into next/dt UniPhier ARM SoC DT updates for v4.19 - Add missing #cooling-cells properties * tag 'uniphier-dt-v4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-uniphier: ARM: dts: uniphier: Add missing cooling device properties for CPUs Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-21Merge tag 'omap-for-v4.19/dt-pt2-signed' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt Few more beaglebone variants for v4.19 merge window This adds dts files for two new beaglebone variants for Octavo Systems OSD3358-SM-RED and Sancloud am335x-sancloud-bbe. * tag 'omap-for-v4.19/dt-pt2-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: dts: am335x: add am335x-sancloud-bbe board support dt-bindings: Add vendor prefix for Sancloud ARM: dts: Add DT support for Octavo Systems OSD3358-SM-RED based on TI AM335x Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-21Merge tag 'imx-soc-4.19' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/soc i.MX SoC update for 4.19: - A series from Anson Huang to add power management for i.MX6SLL, including standby and mem mode suspend, cpuidle support, and bus clock auto gating function, etc. - A couple of fix-ups on i.MX6SLL cpuidle random build issues. - A couple of cleanups on stale EPIT timer initialization and RNGA platform device registration function. - Configure i.MX51 SoC M4IF to avoid visual artifacts during video playback. - Set up i.MX51 and i.MX53 DBGEN bit of ARM_GPC register, so that clocks within the debug system can be activated. - Add a Cortex-M4 platform support which will be useful for running a Linux instance on Cortex-M4 core integrated in i.MX7D SoC. - Flag of_iomap failure in imx_aips_allow_unprivileged_access() function by giving a warning in there. * tag 'imx-soc-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: ARM: mx5: Set the DBGEN bit in ARM_GPC register ARM: imx51: Configure M4IF to avoid visual artifacts ARM: imx: call imx6sx_cpuidle_init() conditionally for 6sll ARM: imx: fix i.MX6SLL build ARM: imx: flag failure of of_iomap ARM: i.MX31: remove rnga registration as a platform device ARM: imx: Provide support for NXP i.MX7D Cortex-M4 ARM: imx: enable bus auto clock gating function for i.mx6sll ARM: imx: remove i.MX6SLL support in i.MX6SL cpu idle driver ARM: imx: add cpu idle support for i.MX6SLL ARM: imx: add L2 page power control for GPC ARM: imx: add mem mode suspend for i.MX6SLL ARM: imx: add standby mode suspend for i.MX6SLL ARM: imx: remove inexistant EPIT timer init Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-21Merge tag 'renesas-arm-soc2-for-v4.19' of ↵Olof Johansson
https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc Second Round of Renesas ARM Based SoC Updates for v4.19 * Always enable ARCH_TIMER on SoCs with A7 or A15 All such SoCs have ARCH_TIMER so there is no need for it to be optional. This allows clean-up which is included in this change. * Do not compile r8a7779_platform_cpu_kill when it is unused This avoids a warning by shuffling code into an existing #ifdef r8a7779 is the R-Car H1 SoC * Add SMP enabler driver for the RZ/N1D (r9a06g032) SoC This is to allow SMP to be enabled via DT on the r9a06g032 * Stop compiling headsmp-apmu for non-SMP configs This is a minor clean-up allowing removal of an #ifdef * tag 'renesas-arm-soc2-for-v4.19' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: Always enable ARCH_TIMER on SoCs with A7 and/or A15 ARM: shmobile: r8a7779: hide unused r8a7779_platform_cpu_kill soc: r9a06g032: don't build SMP files for non-SMP config ARM: shmobile: Add the R9A06G032 SMP enabler driver ARM: shmobile: rcar-gen2: Stop compiling headsmp-apmu on !SMP Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-21Merge tag 'at91-ab-4.19-soc' of ↵Olof Johansson
git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux into next/soc AT91 SoC for 4.19: - New low power mode for sama5d2: ULP1 * tag 'at91-ab-4.19-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: ARM: at91: pm: configure wakeup sources for ULP1 mode ARM: at91: pm: add PMC fast startup registers defines ARM: at91: pm: Add ULP1 mode support ARM: at91: pm: Use ULP0 naming instead of slow clock MAINTAINERS: Remove the AT91 clk driver entry Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-21ARM: dts: qcom: Add missing OPP properties for CPUsViresh Kumar
The OPP properties, like "operating-points", should either be present for all the CPUs of a cluster or none. If these are present only for a subset of CPUs of a cluster then things will start falling apart as soon as the CPUs are brought online in a different order. For example, this will happen because the operating system looks for such properties in the CPU node it is trying to bring up, so that it can create an OPP table. Add such missing properties. Fix other missing property (clock latency) as well to make it all work. Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> Reviewed-by: Amit Kucheria <amit.kucheria@linaro.org> Signed-off-by: Andy Gross <andy.gross@linaro.org>
2018-07-21Merge tag 'hisi-armv7-soc-for-4.19' of git://github.com/hisilicon/linux-hisi ↵Olof Johansson
into next/soc ARM: mach-hisi: Hisilicon SoC updates for 4.19 - check of_iomap and add missing of_node_put since of_find_compatible_node is invoked on hisilicon SoCs like hip01, hix5hd2 and hi3xxx. * tag 'hisi-armv7-soc-for-4.19' of git://github.com/hisilicon/linux-hisi: ARM: hisi: handle of_iomap and fix missing of_node_put ARM: hisi: check of_iomap and fix missing of_node_put ARM: hisi: fix error handling and missing of_node_put Signed-off-by: Olof Johansson <olof@lixom.net>
2018-07-21mm: use helper functions for allocating and freeing vm_area structsLinus Torvalds
The vm_area_struct is one of the most fundamental memory management objects, but the management of it is entirely open-coded evertwhere, ranging from allocation and freeing (using kmem_cache_[z]alloc and kmem_cache_free) to initializing all the fields. We want to unify this in order to end up having some unified initialization of the vmas, and the first step to this is to at least have basic allocation functions. Right now those functions are literally just wrappers around the kmem_cache_*() calls. This is a purely mechanical conversion: # new vma: kmem_cache_zalloc(vm_area_cachep, GFP_KERNEL) -> vm_area_alloc() # copy old vma kmem_cache_alloc(vm_area_cachep, GFP_KERNEL) -> vm_area_dup(old) # free vma kmem_cache_free(vm_area_cachep, vma) -> vm_area_free(vma) to the point where the old vma passed in to the vm_area_dup() function isn't even used yet (because I've left all the old manual initialization alone). Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2018-07-21arm64: dts: qcom: db410c: Fix Bluetooth LED triggerLoic Poulain
Current LED trigger, 'bt', is not known/used by any existing driver. Fix this by renaming it to 'bluetooth-power' trigger which is controlled by the Bluetooth subsystem. Fixes: 9943230c8860 ("arm64: dts: qcom: Add apq8016-sbc board LED's related device nodes") Signed-off-by: Loic Poulain <loic.poulain@linaro.org> Signed-off-by: Andy Gross <andy.gross@linaro.org>
2018-07-21arm64: dts: sdm845: Default qupv3_id_0 as "disabled" like _id_1Douglas Anderson
In commit 8e4947ee477d ("arm64: dts: qcom: sdm845: Add I2C, SPI, and UART9 nodes") I accidentally forgot to add the line: status = "disabled"; to qupv3_id_0 to match qupv3_id_1. Add it now. NOTE: right now the only sdm845 board with a device tree in mainline is MTP and that board currently doesn't have any peripherals under qupv3_id_0. If any board was currently using peripherals under qupv3_id_0 then that board would need to add this snippet to their board dts file: &qupv3_id_0 { status = "okay"; }; Signed-off-by: Douglas Anderson <dianders@chromium.org> Signed-off-by: Andy Gross <andy.gross@linaro.org>
2018-07-21arm64: dts: msm8916: drop legacy suffix for clocks used by MSM DRM driverNiklas Cassel
Drop legacy suffix for clocks used by MSM DRM driver. The _clk suffix has been deprecated since commit 20c3bb80235 ("drm/msm: drop _clk suffix from clk names"). Fixes: 720c3bb80235 (drm/msm: drop _clk suffix from clk names) The following warnings during boot have been seen since the referenced fixes commit: msm_dsi_phy 1a98300.dsi-phy: Using legacy clk name binding. Use "iface" instead of "iface_clk" msm 1a00000.mdss: Using legacy clk name binding. Use "iface" instead of "iface_clk" msm 1a00000.mdss: Using legacy clk name binding. Use "bus" instead of "bus_clk" msm 1a00000.mdss: Using legacy clk name binding. Use "vsync" instead of "vsync_clk" msm_mdp 1a01000.mdp: Using legacy clk name binding. Use "bus" instead of "bus_clk" msm_mdp 1a01000.mdp: Using legacy clk name binding. Use "iface" instead of "iface_clk" msm_mdp 1a01000.mdp: Using legacy clk name binding. Use "core" instead of "core_clk" msm_mdp 1a01000.mdp: Using legacy clk name binding. Use "vsync" instead of "vsync_clk" msm_dsi 1a98000.dsi: Using legacy clk name binding. Use "mdp_core" instead of "mdp_core_clk" msm_dsi 1a98000.dsi: Using legacy clk name binding. Use "iface" instead of "iface_clk" msm_dsi 1a98000.dsi: Using legacy clk name binding. Use "bus" instead of "bus_clk" msm_dsi 1a98000.dsi: Using legacy clk name binding. Use "byte" instead of "byte_clk" msm_dsi 1a98000.dsi: Using legacy clk name binding. Use "pixel" instead of "pixel_clk" msm_dsi 1a98000.dsi: Using legacy clk name binding. Use "core" instead of "core_clk" Signed-off-by: Niklas Cassel <niklas.cassel@linaro.org> Reviewed-by: Nicolas Dechesne <nicolas.dechesne@linaro.org> Signed-off-by: Andy Gross <andy.gross@linaro.org>
2018-07-21arm64: defconfig: Enable CONFIG_MTD_NAND_QCOM for IPQ8074Abhishek Sahu
QCOM IPQ8074 boards contain NAND flash memory for which this config needs to be enabled. Signed-off-by: Abhishek Sahu <absahu@codeaurora.org> Signed-off-by: Andy Gross <andy.gross@linaro.org>
2018-07-21ARM: qcom_defconfig: Enable QCOM NAND related configsAbhishek Sahu
IPQ8064 and IPQ4019 boards contain NAND flash memory for which these configs need to be enabled. Signed-off-by: Abhishek Sahu <absahu@codeaurora.org> Signed-off-by: Andy Gross <andy.gross@linaro.org>
2018-07-21ARM: dts: qcom: msm8974-hammerhead: increase load on l20 for sdhciBhushan Shah
The kernel would not boot on the hammerhead hardware due to the following error: mmc0: Timeout waiting for hardware interrupt. mmc0: sdhci: ============ SDHCI REGISTER DUMP =========== mmc0: sdhci: Sys addr: 0x00000200 | Version: 0x00003802 mmc0: sdhci: Blk size: 0x00000200 | Blk cnt: 0x00000200 mmc0: sdhci: Argument: 0x00000000 | Trn mode: 0x00000023 mmc0: sdhci: Present: 0x03e80000 | Host ctl: 0x00000034 mmc0: sdhci: Power: 0x00000001 | Blk gap: 0x00000000 mmc0: sdhci: Wake-up: 0x00000000 | Clock: 0x00000007 mmc0: sdhci: Timeout: 0x0000000e | Int stat: 0x00000000 mmc0: sdhci: Int enab: 0x02ff900b | Sig enab: 0x02ff100b mmc0: sdhci: AC12 err: 0x00000000 | Slot int: 0x00000000 mmc0: sdhci: Caps: 0x642dc8b2 | Caps_1: 0x00008007 mmc0: sdhci: Cmd: 0x00000c1b | Max curr: 0x00000000 mmc0: sdhci: Resp[0]: 0x00000c00 | Resp[1]: 0x00000000 mmc0: sdhci: Resp[2]: 0x00000000 | Resp[3]: 0x00000000 mmc0: sdhci: Host ctl2: 0x00000008 mmc0: sdhci: ADMA Err: 0x00000000 | ADMA Ptr: 0x70040220 mmc0: sdhci: ============================================ mmc0: Card stuck in wrong state! mmcblk0 card_busy_detect status: 0xe00 mmc0: cache flush error -110 mmc0: Reset 0x1 never completed. This patch increases the load on l20 to 0.2 amps for the sdhci and allows the device to boot normally. Signed-off-by: Bhushan Shah <bshah@kde.org> Signed-off-by: Brian Masney <masneyb@onstation.org> Suggested-by: Bjorn Andersson <bjorn.andersson@linaro.org> Tested-by: Brian Masney <masneyb@onstation.org> Signed-off-by: Andy Gross <andy.gross@linaro.org>
2018-07-21ARM: dts: qcom: Fix 'interrupts = <>' property to use proper macrosSricharan R
Fix all nodes to use proper GIC_* macros for the interrupt type and the interrupt trigger settings to avoid the boot warnings. Signed-off-by: Sricharan R <sricharan@codeaurora.org> Tested-by: Abhishek Sahu <absahu@codeaurora.org> Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org> Signed-off-by: Andy Gross <andy.gross@linaro.org>
2018-07-21arm64: dts: qcom: db820c: Add gpio-line-names propertyManivannan Sadhasivam
Add gpio-line-names property for Dragonboard820c based on APQ8096 SoC. There are 4 gpio-controllers present on this board, including the APQ8096 SoC, PM8994 (GPIO and MPP) and PMI8994 (GPIO). Lines names are derived from 96Boards CE Specification 1.0, Appendix "Expansion Connector Signal Description". Line names for PMI8994 MPP pins are not added due to the absence of the gpio-controller support. Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Signed-off-by: Andy Gross <andy.gross@linaro.org>
2018-07-21arm64: dts: sdm845: Add rpmh-clk nodeDouglas Anderson
This adds the rpmh-clk node to sdm845 based on the examples in the bindings. Signed-off-by: Douglas Anderson <dianders@chromium.org> Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org> Signed-off-by: Andy Gross <andy.gross@linaro.org>
2018-07-21arm64: dts: sdm845: Add rpmh-rsc nodeDouglas Anderson
This adds the rpmh-rsc node to sdm845 based on the examples in the bindings. Signed-off-by: Douglas Anderson <dianders@chromium.org> Reviewed-by: Lina Iyer <ilina@codeaurora.org> Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org> Signed-off-by: Andy Gross <andy.gross@linaro.org>
2018-07-21arm64: dts: qcom: sdm845: Enable debug UART and I2C10 on sdm845-mtpDouglas Anderson
The debug UART is very useful to have. I2C10 is enabled as an example of a I2C port we can talk on for now. Eventually we'll want to put peripherals under it. Signed-off-by: Douglas Anderson <dianders@chromium.org> Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org> Tested-by: Bjorn Andersson <bjorn.andersson@linaro.org> Signed-off-by: Andy Gross <andy.gross@linaro.org>
2018-07-21arm64: dts: qcom: sdm845: Add I2C, SPI, and UART9 nodesDouglas Anderson
This adds nodes to SDM845-dtsi for all the I2C ports, all the SPI ports, and UART9. Note that I2C / SPI / UART are a bit strange on sdm845 because each "serial engine" has 4 pins associated with it and depending on which firmware has been loaded into the serial engine (loaded by the BIOS) the serial engine can behave like an I2C port, a SPI port, or a UART. As per the landed bindings that means that we need to create one node for each possible mode that the port could be in. With 16 serial engines that means 16 x 3 = 48 nodes. We get away with only creating 33 nodes for now because it seems very likely that SDM845-based boards will actually all use the same UART (UART 9) for debug purposes. While another UART could be used for something like Bluetooth communication we can cross that path when we come to it. Some documentation that I saw implied that using a UART for "high speed" communications actually needs yet another different serial engine firmware anyway. Note that quick measurements adding all these nodes adds <10k of extra space per dtb that they're included with. If this becomes a problem we may need to think of a different way to structure this so that boards only get the nodes they need (or figure out how to get dtc to strip 'disabled' nodes). For now it seems OK. These nodes were programmatically generated with a fairly dumb python script. See http://crosreview.com/1091631 for the source. NOTE: at the moment SPI chip select doesn't appear to work in my tests with the latest posted SPI driver. All testing of SPI with this patch has been done by hacking SPI to GPIO chip select. Signed-off-by: Douglas Anderson <dianders@chromium.org> Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org> Signed-off-by: Andy Gross <andy.gross@linaro.org>
2018-07-21arm64: dts: qcom: Add pm8005 and pm8998 supportStephen Boyd
Add basic support for the pm8005 and pm8998 PMICs. For now just support the GPIO controllers. Signed-off-by: Stephen Boyd <swboyd@chromium.org> Reviewed-by: Evan Green <evgreen@chromium.org> Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org> Signed-off-by: Andy Gross <andy.gross@linaro.org>
2018-07-21pid: Implement PIDTYPE_TGIDEric W. Biederman
Everywhere except in the pid array we distinguish between a tasks pid and a tasks tgid (thread group id). Even in the enumeration we want that distinction sometimes so we have added __PIDTYPE_TGID. With leader_pid we almost have an implementation of PIDTYPE_TGID in struct signal_struct. Add PIDTYPE_TGID as a first class member of the pid_type enumeration and into the pids array. Then remove the __PIDTYPE_TGID special case and the leader_pid in signal_struct. The net size increase is just an extra pointer added to struct pid and an extra pair of pointers of an hlist_node added to task_struct. The effect on code maintenance is the removal of a number of special cases today and the potential to remove many more special cases as PIDTYPE_TGID gets used to it's fullest. The long term potential is allowing zombie thread group leaders to exit, which will remove a lot more special cases in the code. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
2018-07-21pids: Move the pgrp and session pid pointers from task_struct to signal_structEric W. Biederman
To access these fields the code always has to go to group leader so going to signal struct is no loss and is actually a fundamental simplification. This saves a little bit of memory by only allocating the pid pointer array once instead of once for every thread, and even better this removes a few potential races caused by the fact that group_leader can be changed by de_thread, while signal_struct can not. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
2018-07-21pids: Compute task_tgid using signal->leader_pidEric W. Biederman
The cost is the the same and this removes the need to worry about complications that come from de_thread and group_leader changing. __task_pid_nr_ns has been updated to take advantage of this change. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
2018-07-21KVM: arm: Add 32bit get/set events supportJames Morse
arm64's new use of KVMs get_events/set_events API calls isn't just or RAS, it allows an SError that has been made pending by KVM as part of its device emulation to be migrated. Wire this up for 32bit too. We only need to read/write the HCR_VA bit, and check that no esr has been provided, as we don't yet support VDFSR. Signed-off-by: James Morse <james.morse@arm.com> Reviewed-by: Dongjiu Geng <gengdongjiu@huawei.com> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2018-07-21KVM: arm64: Share the parts of get/set events useful to 32bitJames Morse
The get/set events helpers to do some work to check reserved and padding fields are zero. This is useful on 32bit too. Move this code into virt/kvm/arm/arm.c, and give the arch code some underscores. This is temporarily hidden behind __KVM_HAVE_VCPU_EVENTS until 32bit is wired up. Signed-off-by: James Morse <james.morse@arm.com> Reviewed-by: Dongjiu Geng <gengdongjiu@huawei.com> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2018-07-21arm64: KVM: export the capability to set guest SError syndromeDongjiu Geng
For the arm64 RAS Extension, user space can inject a virtual-SError with specified ESR. So user space needs to know whether KVM support to inject such SError, this interface adds this query for this capability. KVM will check whether system support RAS Extension, if supported, KVM returns true to user space, otherwise returns false. Signed-off-by: Dongjiu Geng <gengdongjiu@huawei.com> Reviewed-by: James Morse <james.morse@arm.com> [expanded documentation wording] Signed-off-by: James Morse <james.morse@arm.com> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2018-07-21arm/arm64: KVM: Add KVM_GET/SET_VCPU_EVENTSDongjiu Geng
For the migrating VMs, user space may need to know the exception state. For example, in the machine A, KVM make an SError pending, when migrate to B, KVM also needs to pend an SError. This new IOCTL exports user-invisible states related to SError. Together with appropriate user space changes, user space can get/set the SError exception state to do migrate/snapshot/suspend. Signed-off-by: Dongjiu Geng <gengdongjiu@huawei.com> Reviewed-by: James Morse <james.morse@arm.com> [expanded documentation wording] Signed-off-by: James Morse <james.morse@arm.com> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
2018-07-21arm64: KVM: Cleanup tpidr_el2 init on non-VHEMarc Zyngier
When running on a non-VHE system, we initialize tpidr_el2 to contain the per-CPU offset required to reach per-cpu variables. Actually, we initialize it twice: the first time as part of the EL2 initialization, by copying tpidr_el1 into its el2 counterpart, and another time by calling into __kvm_set_tpidr_el2. It turns out that the first part is wrong, as it includes the distance between the kernel mapping and the linear mapping, while EL2 only cares about the linear mapping. This was the last vestige of the first per-cpu use of tpidr_el2 that came in with SDEI. The only caller then was hyp_panic(), and its now using the pc-relative get_host_ctxt() stuff, instead of kimage addresses from the literal pool. It is not a big deal, as we override it straight away, but it is slightly confusing. In order to clear said confusion, let's set this directly as part of the hyp-init code, and drop the ad-hoc HYP helper. Reviewed-by: James Morse <james.morse@arm.com> Acked-by: Christoffer Dall <christoffer.dall@arm.com> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>