aboutsummaryrefslogtreecommitdiffstats
path: root/arch
AgeCommit message (Collapse)AuthorFilesLines
2018-09-24ARM: dts: BCM63xx: Fix incorrect interrupt specifiersFlorian Fainelli1-6/+8
A number of our interrupts were incorrectly specified, fix both the PPI and SPI interrupts to be correct. Fixes: b5762cacc411 ("ARM: bcm63138: add NAND DT support") Fixes: 46d4bca0445a ("ARM: BCM63XX: add BCM63138 minimal Device Tree") Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
2018-09-24arm64: ARM: dts: exynos: Remove double SD card detect pin inversion on TM2Krzysztof Kozlowski1-2/+1
MMC host controller bindings and MMC core defines card detect pin as active low. Therefore there is no point to invert it twice. Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> Tested-by: Marek Szyprowski <m.szyprowski@samsung.com>
2018-09-24ARM: dts: exynos: Correct audio subsystem parent clock on Peach ChromebooksMarek Szyprowski2-2/+2
The proper parent clock for audio subsystem for Exynos5420 and Exynos5800 SoCs is CLK_MAU_EPLL. This fixes following warning: clk: failed to reparent mout_audss to fout_epll: -22 Fixes: ed7d1307077e: ARM: dts: exynos: Enable HDMI audio support on Peach Pit Fixes: bae0f445c1e7: ARM: dts: exynos: Enable HDMI audio support on Peach Pi Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2018-09-24arm64: hugetlb: Avoid unnecessary clearing in huge_ptep_set_access_flagsSteve Capper1-4/+34
For contiguous hugetlb, huge_ptep_set_access_flags performs a get_clear_flush (which then flushes the TLBs) even when no change of ptes is necessary. Unfortunately, this behaviour can lead to back-to-back page faults being generated when running with multiple threads that access the same contiguous huge page. Thread 1 | Thread 2 -----------------------------+------------------------------ hugetlb_fault | huge_ptep_set_access_flags | -> invalidate pte range | hugetlb_fault continue processing | wait for hugetlb_fault_mutex release mutex and return | huge_ptep_set_access_flags | -> invalidate pte range hugetlb_fault ... This patch changes huge_ptep_set_access_flags s.t. we first read the contiguous range of ptes (whilst preserving dirty information); the pte range is only then invalidated where necessary and this prevents further spurious page faults. Fixes: d8bdcff28764 ("arm64: hugetlb: Add break-before-make logic for contiguous entries") Reported-by: Lei Zhang <zhang.lei@jp.fujitsu.com> Signed-off-by: Steve Capper <steve.capper@arm.com> Signed-off-by: Will Deacon <will.deacon@arm.com>
2018-09-24arm64: hugetlb: Fix handling of young ptesSteve Capper1-3/+9
In the contiguous bit hugetlb break-before-make code we assume that all hugetlb pages are young. In fact, remove_migration_pte is able to place an old hugetlb pte so this assumption is not valid. This patch fixes the contiguous hugetlb scanning code to preserve young ptes. Fixes: d8bdcff28764 ("arm64: hugetlb: Add break-before-make logic for contiguous entries") Signed-off-by: Steve Capper <steve.capper@arm.com> Signed-off-by: Will Deacon <will.deacon@arm.com>
2018-09-24KVM: x86: never trap MSR_KERNEL_GS_BASEPaolo Bonzini1-37/+10
KVM has an old optimization whereby accesses to the kernel GS base MSR are trapped when the guest is in 32-bit and not when it is in 64-bit mode. The idea is that swapgs is not available in 32-bit mode, thus the guest has no reason to access the MSR unless in 64-bit mode and 32-bit applications need not pay the price of switching the kernel GS base between the host and the guest values. However, this optimization adds complexity to the code for little benefit (these days most guests are going to be 64-bit anyway) and in fact broke after commit 678e315e78a7 ("KVM: vmx: add dedicated utility to access guest's kernel_gs_base", 2018-08-06); the guest kernel GS base can be corrupted across SMIs and UEFI Secure Boot is therefore broken (a secure boot Linux guest, for example, fails to reach the login prompt about half the time). This patch just removes the optimization; the kernel GS base MSR is now never trapped by KVM, similarly to the FS and GS base MSRs. Fixes: 678e315e78a780dbef384b92339c8414309dbc11 Reviewed-by: Sean Christopherson <sean.j.christopherson@intel.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2018-09-24ARM: mvebu: use dt_fixup to provide fallback for enable-methodChris Packham1-6/+8
We need to maintain backwards compatibility with device trees that don't define an enable method. At the same time we want the device tree to be able to specify an enable-method and have it stick. Previously by having smp assigned in the DT_MACHINE definition this would be picked up by setup_arch() and override whatever arm_dt_init_cpu_maps() had configured. Now we move the initial assignment of default smp_ops to a dt_fixup and let arm_dt_init_cpu_maps() override that if the device tree defines an enable-method. [olof@lixom.net: Wrap set_smp_ops() in CONFIG_SMP.] Signed-off-by: Chris Packham <chris.packham@alliedtelesis.co.nz> Tested-by: Gregory CLEMENT <gregory.clement@bootlin.com> (on AX3) Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
2018-09-24ARM: dts: rockchip: explicitly set vcc_sd0 pin to gpio on rk3188-radxarockHeiko Stuebner1-0/+8
It is good practice to make the setting of gpio-pinctrls explicitly in the devicetree, and in this case even necessary. Rockchip boards start with iomux settings set to gpio for most pins and while the linux pinctrl driver also implicitly sets the gpio function if a pin is requested as gpio that is not necessarily true for other drivers. The issue in question stems from uboot, where the sdmmc_pwr pin is set to function 1 (sdmmc-power) by the bootrom when reading the 1st-stage loader. The regulator controlled by the pin is active-low though, so when the dwmmc hw-block sets its enabled bit, it actually disables the regulator. By changing the pin back to gpio we fix that behaviour. Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-09-24arm64: dts: rockchip: enable dwc2-based otg controller on px30-evbHeiko Stuebner1-0/+4
Enable the newly added controller on the px30 evaluation board. Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-09-24arm64: dts: rockchip: add dwc2 otg controller on px30Heiko Stuebner1-0/+16
Add the node for the dwc2-based otg controller on the px30 soc. Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-09-24gpio: omap: Remove custom PM calls and use cpu_pm insteadTony Lindgren2-13/+8
For a long time the gpio-omap custom PM calls have been annoying me so let's replace them with cpu_pm instead. This will enable GPIO PM for deeper idle states on omap4. And we can handle GPIO PM for omap2/3/4 in the same way. Note that with this patch we are also slightly changing GPIO PM to be less aggressive for omap3 and only will idle GPIO when PER context may be lost. For omap2, we don't need to save context and don't want to remove any triggering so let's add a quirk flag for that. Let's do this all in a single patch to avoid a situation where old custom calls still are used with new code. Cc: Aaro Koskinen <aaro.koskinen@iki.fi> Cc: Keerthy <j-keerthy@ti.com> Cc: Ladislav Michl <ladis@linux-mips.org> Cc: Tero Kristo <t-kristo@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com> Acked-by: Grygorii Strashko <grygorii.strashko@ti.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2018-09-24powerpc/pseries: Fix unitialized timer reset on migrationMichael Bringmann1-1/+2
After migration of a powerpc LPAR, the kernel executes code to update the system state to reflect new platform characteristics. Such changes include modifications to device tree properties provided to the system by PHYP. Property notifications received by the post_mobility_fixup() code are passed along to the kernel in general through a call to of_update_property() which in turn passes such events back to all modules through entries like the '.notifier_call' function within the NUMA module. When the NUMA module updates its state, it resets its event timer. If this occurs after a previous call to stop_topology_update() or on a system without VPHN enabled, the code runs into an unitialized timer structure and crashes. This patch adds a safety check along this path toward the problem code. An example crash log is as follows. ibmvscsi 30000081: Re-enabling adapter! ------------[ cut here ]------------ kernel BUG at kernel/time/timer.c:958! Oops: Exception in kernel mode, sig: 5 [#1] LE SMP NR_CPUS=2048 NUMA pSeries Modules linked in: nfsv3 nfs_acl nfs tcp_diag udp_diag inet_diag lockd unix_diag af_packet_diag netlink_diag grace fscache sunrpc xts vmx_crypto pseries_rng sg binfmt_misc ip_tables xfs libcrc32c sd_mod ibmvscsi ibmveth scsi_transport_srp dm_mirror dm_region_hash dm_log dm_mod CPU: 11 PID: 3067 Comm: drmgr Not tainted 4.17.0+ #179 ... NIP mod_timer+0x4c/0x400 LR reset_topology_timer+0x40/0x60 Call Trace: 0xc0000003f9407830 (unreliable) reset_topology_timer+0x40/0x60 dt_update_callback+0x100/0x120 notifier_call_chain+0x90/0x100 __blocking_notifier_call_chain+0x60/0x90 of_property_notify+0x90/0xd0 of_update_property+0x104/0x150 update_dt_property+0xdc/0x1f0 pseries_devicetree_update+0x2d0/0x510 post_mobility_fixup+0x7c/0xf0 migration_store+0xa4/0xc0 kobj_attr_store+0x30/0x60 sysfs_kf_write+0x64/0xa0 kernfs_fop_write+0x16c/0x240 __vfs_write+0x40/0x200 vfs_write+0xc8/0x240 ksys_write+0x5c/0x100 system_call+0x58/0x6c Fixes: 5d88aa85c00b ("powerpc/pseries: Update CPU maps when device tree is updated") Cc: stable@vger.kernel.org # v3.10+ Signed-off-by: Michael Bringmann <mwb@linux.vnet.ibm.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
2018-09-24arm64: lse: remove -fcall-used-x0 flagTri Vo1-1/+1
x0 is not callee-saved in the PCS. So there is no need to specify -fcall-used-x0. Clang doesn't currently support -fcall-used flags. This patch will help building the kernel with clang. Tested-by: Nick Desaulniers <ndesaulniers@google.com> Acked-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Tri Vo <trong@android.com> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2018-09-24arm64: dts: renesas: ulcb: add default bootargsKuninori Morimoto1-0/+1
It can't boot without bootargs settings on Uboot on ulcb board. This patch adds missing default bootargs. ulcb BSP can overwrite it by own UBoot settings. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Signed-off-by: Simon Horman <horms+renesas@verge.net.au>
2018-09-23Merge tag 'samsung-soc-4.20' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into next/dtOlof Johansson5-108/+96
Samsung mach/soc changes for v4.20 1. Fix imprecise abort during Odroid XU3-family suspend to RAM (but it is not end of work needed for suspend). 2. Cleanup and fix of SD card write protect on MINI2440. * tag 'samsung-soc-4.20' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux: ARM: s3c24xx: Restore proper usage of pr_info/pr_cont ARM: s3c24xx: Correct SD card write protect detection on Mini2440 ARM: s3c24xx: Consistently use tab for indenting member assignments ARM: s3c24xx: formatting cleanup in mach-mini2440.c ARM: s3c24xx: Remove empty gta02_pmu children probe ARM: exynos: Fix imprecise abort during Exynos5422 suspend to RAM ARM: exynos: Store Exynos5420 register state in one variable Signed-off-by: Olof Johansson <olof@lixom.net>
2018-09-23Merge tag 'hisi-arm32-dt-for-4.20' of git://github.com/hisilicon/linux-hisi into next/dtOlof Johansson1-170/+176
ARM: DT: Hisilicon ARM32 SoCs updates for 4.20 - Switch to updated coresight bindings for hip04 SoC * tag 'hisi-arm32-dt-for-4.20' of git://github.com/hisilicon/linux-hisi: arm: dts: hip04: Update coresight bindings for hardware ports Signed-off-by: Olof Johansson <olof@lixom.net>
2018-09-23Merge tag 'hisi-arm64-dt-for-4.20' of git://github.com/hisilicon/linux-hisi into next/dtOlof Johansson5-95/+291
ARM64: DT: Hisilicon SoC DT updates for 4.20 - Add missing clocks for Hi6220 - Switch to updated coresight bindings for Hi6220 - Add DT bindings and support for Hi3670 SoC and HiKey970 board * tag 'hisi-arm64-dt-for-4.20' of git://github.com/hisilicon/linux-hisi: arm64: dts: Add devicetree support for HiKey970 board dt-bindings: arm: hisilicon: Add binding for HiKey970 board arm64: dts: Add devicetree for Hisilicon Hi3670 SoC dt-bindings: arm: hisilicon: Add binding for Hi3670 SoC arm64: dts: hi6220: Update coresight bindings for hardware ports arm64: dts: hisilicon: Add missing clocks property for CPUs Signed-off-by: Olof Johansson <olof@lixom.net>
2018-09-23Merge tag 'stm32-dt-for-v4.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32 into next/dtOlof Johansson8-17/+74
STM32 DT updates for v4.20, round 1 Highlights: ---------- - MCU platforms update: - Add missing clock node's lobel on stm32f429 - Remove cd-inverted property for sdio nodes for all mcus - Fix stm32h7 rtc binding - MPU STM32MP157 platform update: - Enable display: CEC and DSI - Fix SPI node name to match with the new DTC * tag 'stm32-dt-for-v4.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32: ARM: dts: stm32: Fix SPI controller node names ARM: dts: stm32: enable display on stm32mp157c-ev1 board ARM: dts: stm32: update rtc st,syscfg property on stm32h743 ARM: dts: stm32: Remove cd-inverted property for stm32f746-disco ARM: dts: stm32: Remove cd-inverted property for stm32f769-disco ARM: dts: stm32: Remove cd-inverted property for stm32f469-disco ARM: dts: stm32: Remove cd-inverted property for stm32429i-eval ARM: dts: stm32: Add clk-lse node's label on stm32f429 Signed-off-by: Olof Johansson <olof@lixom.net>
2018-09-23Merge tag 'ux500-dts-arm-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson into next/dtOlof Johansson6-42/+54
Ux500 DTS changes for the v4.20 kernel cycle. Assorted housekeeping DTS patches. * tag 'ux500-dts-arm-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-stericsson: ARM: dts: ux500: Mark PRCMU as syscon compatible arm: dts: ste: Update coresight bindings for hardware port ARM: dts: ste: Fix SPI controller node names ARM: dts: ux500: Get rid of DTC warnings ARM: dts: ux500: Fix LCDA clock line muxing dt-bindings: arm: scu: Correct example SCU unit addresses ARM: dts: ux500: Correct SCU unit address Signed-off-by: Olof Johansson <olof@lixom.net>
2018-09-23Merge tag 'aspeed-4.20-devicetree' of git://git.kernel.org/pub/scm/linux/kernel/git/joel/aspeed into next/dtOlof Johansson6-2/+404
ASPEED device tree updates for 4.20 - Two new ast2500-based machines: * Facebook TiogaPass (x86 server) * HXT StarDragon 4800 Reference Evaluation Platform 2 (arm64 server) - Updates for the Quanta q71l system - i2c device tree cleanups * tag 'aspeed-4.20-devicetree' of git://git.kernel.org/pub/scm/linux/kernel/git/joel/aspeed: ARM: dts: aspeed: Adding Facebook TiogaPass BMC ARM: dts: aspeed: Add HXT StarDragon 4800 REP2 BMC ARM: dts: aspeed: quanta-q71l: Enable adc & ibt nodes ARM: dts: aspeed: quanta-q71l: Add four PSUs ARM: dts: aspeed: quanta-q71l: add aliases for i2c ARM: dts: aspeed: Fix I2C bus warnings Signed-off-by: Olof Johansson <olof@lixom.net>
2018-09-23Merge tag 'am654-for-v4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/kristo/linux into next/dtOlof Johansson5-27/+147
TI AM654 support for v4.20 merge window. This branch adds changes for the Texas Instruments AM654 SoC. Included changes are: - Add uart nodes - Change address cells and size-cells of interconnect tfrom 1 to 2 - Add secure proxy instance for main domain - Add DMSC support * tag 'am654-for-v4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/kristo/linux: arm64: dts: ti: k3-am6: Add Device Management Security Controller support arm64: dts: ti: am654: Add secure proxy instance for main domain arm64: dts: ti: am654: Add uart nodes arm64: dts: ti: k3-am65: Change #address-cells and #size-cells of interconnect to 2 Signed-off-by: Olof Johansson <olof@lixom.net>
2018-09-23Merge tag 'juno-updates-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into next/dtOlof Johansson3-121/+106
ARMv8 Juno/Vexpress updates for v4.20 1. Enablement of scatter gather mode for CoreSight TMC-ETR routing 2. Usage of updated coresight graph bindings that eliminates loads of dtc warnings * tag 'juno-updates-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux: arm64: dts: juno: Enable coresight tmc scatter gather in ETR arm64: dts: juno: Update entries to match latest coresight bindings Signed-off-by: Olof Johansson <olof@lixom.net>
2018-09-23Merge tag 'arm-soc/for-4.20/devicetree-arm64' of https://github.com/Broadcom/stblinux into next/dtOlof Johansson5-6/+9
This pull request contains Broadcom ARM64-based SoCs Device Tree changes for 4.20, please pull the following: - Stefan provides a reference to the Compute Module IO Board V3 such that we can reference the arm counterpart and still build it for arm64 - Rob fixes I2C and SPI bus warnings which are going to show up with his update to DTC scheduled for 4.20 * tag 'arm-soc/for-4.20/devicetree-arm64' of https://github.com/Broadcom/stblinux: arm64: dts: broadcom: Fix I2C and SPI bus warnings arm64: dts: broadcom: Add reference to Compute Module IO Board V3 Signed-off-by: Olof Johansson <olof@lixom.net>
2018-09-23x86/speculation: Add RETPOLINE_AMD support to the inline asm CALL_NOSPEC variantZhenzhong Duan1-4/+13
..so that they match their asm counterpart. Add the missing ANNOTATE_NOSPEC_ALTERNATIVE in CALL_NOSPEC, while at it. Signed-off-by: Zhenzhong Duan <zhenzhong.duan@oracle.com> Signed-off-by: Borislav Petkov <bp@suse.de> Cc: Daniel Borkmann <daniel@iogearbox.net> Cc: David Woodhouse <dwmw@amazon.co.uk> Cc: H. Peter Anvin <hpa@zytor.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Wang YanQing <udknight@gmail.com> Cc: dhaval.giani@oracle.com Cc: srinivas.eeda@oracle.com Link: http://lkml.kernel.org/r/c3975665-173e-4d70-8dee-06c926ac26ee@default
2018-09-23Merge tag 'arm-soc/for-4.20/devicetree' of https://github.com/Broadcom/stblinux into next/dtOlof Johansson12-4/+307
This pull request contains Broadcom ARM-based SoCs Device Tree changes for 4.20, please pull the following: - Rafal updates the Broadcom BCM5301x (Northstar) DTS files to use the new style partition parser and removes the unsupported/undocumented linux,part-probe properties that were previously introduced - Stefan adds supports for the Raspberry Pi Compute Module 3/3Lite, he also updates the Raspberry Pi 3B+ USB Ethernet adapter to have proper LED configuration - Rob fixes a bunch of SPI bus warnings in the Northstar Plus and Hurricane 2 DTS files - Florian documents the Broadcom roboswitch Switch Register Access Block (SRAB) interrupts, adds the switch interrupts to the Northstar Plus DTS include file and finally updates the BCM958625HR reference board to have the proper SFP module definition * tag 'arm-soc/for-4.20/devicetree' of https://github.com/Broadcom/stblinux: ARM: dts: bcm: Fix SPI bus warnings ARM: dts: NSP: Wire up switch interrupts dt-bindings: net: dsa: Document B53 SRAB interrupts and registers ARM: dts: NSP: Enable SFP on bcm958625hr ARM: dts: bcm283x-rpi-lan7515: Enable Ethernet LEDs ARM: dts: BCM5301X: Specify flash partitions ARM: dts: add Raspberry Pi Compute Module 3 and IO board dt-bindings: bcm: Add Raspberry Pi CM3 and CM3L Signed-off-by: Olof Johansson <olof@lixom.net>
2018-09-23Merge tag 'amlogic-dt64' of https://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic into next/dtOlof Johansson4-828/+1136
Amlogic ARM64 DT updates for v4.20 - AXG: cleanup/reorder nodes - AXG: add audio PDM support for s400 board - GX: increase CMA memory size - GX: new canvas driver * tag 'amlogic-dt64' of https://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic: arm64: dts: meson: Switch simple-mfd and syscon order arm64: dts: meson-axg-s400: Add chosen and memory nodes arm64: dts: meson-axg: use the proper compatible for ethmac arm64: dts: meson-axg: s400: add pdm to the sound card arm64: dts: meson-axg: s400: add dmic codec arm64: dts: meson-axg: add pdm arm64: dts: meson-gx: add dmcbus and canvas nodes. arm64: dts: meson: libretech: update board model arm64: dts: meson-gx: increase default shared CMA pool size arm64: dts: meson-axg: sort nodes consistently arm64: dts: meson-axg: s400: add sound card arm64: dts: meson-axg: s400: enable audio devices arm64: dts: meson-axg: add audio fifos Signed-off-by: Olof Johansson <olof@lixom.net>
2018-09-23Merge tag 'v4.20-rockchip-dts64-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/dtOlof Johansson10-20/+3073
New soc support for the px30 quad-core Cortex-A35. New boards are the px30 eval board and roc-rk3399-pc. The rk3328 got support for the one gpio controlled via the general register files and the rk3399 finally got its idle-states defined. And finally fixes and improvements for firefly-rk3399 (wifi), roc-rk3328-cc (sdmmc-uhs, io-domains), rk3328-rock64 (gpio-regulator pin fix) and rk3399-sapphire (gpio-regulator pin fix, pmic pin fix and type-c port supply). * tag 'v4.20-rockchip-dts64-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: arm64: dts: rockchip: Add type-c port supply on rk3399-sapphire board arm64: dts: rockchip: fix vcc_host1_5v pin assign on rk3328-rock64 arm64: dts: rockchip: add WiFi module support for Firefly-RK3399 arm64: dts: rockchip: remove dvs2 pinctrl from pmic on rk3399-sapphire arm64: dts: rockchip: Fix VCC5V0_HOST_EN on rk3399-sapphire arm64: dts: rockchip: re-order vcc_sys on rk3399-sapphire arm64: dts: rockchip: add missing vop properties for px30 arm64: dts: rockchip: Add idle-states to device tree for rk3399 arm64: dts: rockchip: add sdmmc UHS support for roc-rk3328-cc arm64: dts: rockchip: add GRF GPIO controller to rk3328 arm64: dts: rockchip: add io-domain to roc-rk3328-cc arm64: dts: rockchip: add PX30 evaluation board devicetree arm64: dts: rockchip: add core dtsi file for PX30 SoCs dt-bindings: rockchip: grf: add grf and pmugrf description for px30 arm64: dts: rockchip: add support for ROC-RK3399-PC board Signed-off-by: Olof Johansson <olof@lixom.net>
2018-09-23Merge tag 'renesas-arm64-dt-for-v4.20' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dtOlof Johansson27-363/+3462
Renesas ARM64 Based SoC DT Updates for v4.20 * Correct whitespace around assignments * R-Car Gen-3 SoCs: - Enable SDR104 for SD devices - Include R-Car product name in DTSI files to ease maintenance * R-Car Gen-3 SoC based boards: Convert to new LVDS DT bindings * R-Car Gen 3 Salvator-X and Salvator-XS boards: - Override secondary addresses of ADV748x to avoid address conflicts * R-Car Gen 3 based Salvator-XS board: Enable SATA * R-Car M3-N (r8a77965) SoC: - Add FDP1 device nodes - Move arm_cc630p and timer nodes to restore sort-order of file - Correct clock/reset for usb2_phy1 - Correct HS-USB compat string - Add OPPs table for cpu devices enabling CPUFreq support - Add CAN device placeholder nodes to facilitate adding initial device tree for KF daughter board - Attach SYS-DMAC to the IPMMU * R-Car M3-N (r8a77965) based ULCB board: - Initial device tree for board and KF daughter board * R-Car E3 (r8a77990) SoC: - Add SYS-DMAC, I2C VIN, CSI-2, MSIOF device nodes - Add BRG support to SCIF2 which allows an increase in serial clock accuracy - Use CPG/MSSR and SYSC binding definitions * R-Car E3 (r8a77990) based Ebisu board: Enable PWM * R-Car D3 (r8a77995) SoC: Attach the SYS-DMAC to the IPMMU * R-Car D3 (r8a77995) based Draak board: Sort device nodes * R-Car V3H (r8a77980) based V3HSK board: - Move lvds0 node to restore sort-order of file * R-Car V3H (r8a77980) SoC: - Add RWDT, CSI2 and VIN, Cortex-A53 PMU nodes - Move IPMMU and CAN clock nodes to restore sort-order of file * R-Car V3M (r8a77970) SoC: - Add MMC nodes - Move CAN clock node to restore sort-order of file * R-Car V3M (r8a77970) based V3MSK board: Add eMMC support * R-Car V3H (r8a77980) based Condor board: Add PCIe, DU, LVDS and HDMI support * RZ/G2M (r8a774a1) SoC: - Initial device tree - Add SYS-DMAC, SCIF, HSCIF, INTC-EX, EtherAVB, RWDT, pinctl, GPIO, SDHI, I2C, IIC-DVFS, thermal, IPMMU, MSIOF, Cortex-A53 CPU core, PWM, Audio, FCPF, FCPV, USB2.0, USB-DMAC, HSUSB and USB3.0 device nodes * tag 'renesas-arm64-dt-for-v4.20' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: (58 commits) arm64: dts: r8a77965: add FDP1 device nodes arm64: dts: renesas: draak: Sort device nodes arm64: dts: renesas: enable SDR104 on R-Car Gen3 arm64: dts: renesas: r8a77990: Add SYS-DMAC device nodes arm64: dts: renesas: r8a77990: Add I2C device nodes arm64: dts: renesas: r8a77990: Add VIN and CSI-2 device nodes arm64: dts: renesas: r8a77990: Add all MSIOF nodes arm64: dts: renesas: r8a7795: Move arm_cc630p node arm64: dts: renesas: r8a77990: Add BRG support to SCIF2 arm64: dts: renesas: r8a77990: Use CPG/MSSR and SYSC binding definitions arm64: dts: renesas: salvator-xs: Improve SATA switch settings comments arm64: dts: renesas: r8a77965: Fix clock/reset for usb2_phy1 arm64: dts: renesas: r8a77965: Fix HS-USB compatible arm64: dts: renesas: r8a77965: Move timer node arm64: dts: renesas: v3hsk: Move lvds0 node arm64: dts: renesas: Fix whitespace around assignments arm64: dts: renesas: r8a77965: m3nulcb-kf: Initial device tree arm64: dts: renesas: condor: add PCIe support arm64: dts: renesas: r8a77980: add PCIe support arm64: dts: renesas: r8a774a1: Add USB3.0 device nodes ... Signed-off-by: Olof Johansson <olof@lixom.net>
2018-09-23Merge tag 'renesas-arm-dt-for-v4.20' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dtOlof Johansson12-25/+178
Renesas ARM Based SoC DT Updates for v4.20 * R-Car Gen1 SoCs: Include product name in DTSI files for ease of maintenance * R-Car Gen2 SoCs: - Convert to new DU DT bindings - Correct SATA device sizes to 2 MiB * R-Car H2 (r8a7790) based Porter board: Add DA9063 OnKey PMIC node * R-Car E2 (r8a7794) based Silk board: Add DA9063 PMIC, RTC and OnKey nodes * R-Car M2-N (r8a7793) based Gose board: Add DA9210 node for CPU DVFS * RZ/G1C (R8A77470) SoC: - Add GPIO nodes - Add PFC support - Use r8a77470-sysc binding definitions * RZ/G1C (r8a77470) iW-RainboW-G23S dev platform: - Specify EtherAVB PHY IRQ - Add pinctl support for scif1 * RZ/N1D (r9a06g032) SoC: Use r9a06g032-sysctrl binding definitions * tag 'renesas-arm-dt-for-v4.20' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: dts: r9a06g032: Use r9a06g032-sysctrl binding definitions ARM: dts: Include R-Car Gen1 product name in DTSI files ARM: dts: stout: Add DA9063 OnKey node ARM: dts: silk: Add DA9063 RTC and OnKey node ARM: dts: iwg23s-sbc: specify EtherAVB PHY IRQ ARM: dts: r8a77470: Add GPIO support ARM: dts: silk: Add DA9063 PMIC node ARM: dts: gose: Add DA9210 node for CPU DVFS ARM: dts: rcar-gen2: Convert to new DU DT bindings ARM: dts: iwg23s-sbc: Add pinctl support for scif1 ARM: dts: r8a77470: Add PFC support ARM: dts: r8a77470: Use r8a77470-sysc binding definitions ARM: dts: rcar: Correct SATA device sizes to 2 MiB Signed-off-by: Olof Johansson <olof@lixom.net>
2018-09-23Merge tag 'sunxi-fixes-for-4.19-2' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into fixesOlof Johansson1-2/+1
Allwinner fixes - round 2 One additional fix regarding HDMI on the R40 SoC. Based on preliminary tests and code dumps for the R40, it was thought that the whole HDMI block was the same on the R40 and A64. Recent tests regarding the A64 showed that this was not the case. The HDMI PHY on the A64 only has one clock parent. How this occurs at the hardware level is unclear, as Allwinner has not given any feedback on this matter. Nevertheless it is clear that the hardware acts differently between the A64 and R40 in such a way that the R40's HDMI PHY is not backward compatible with the A64's. As such we need to drop the fallback compatible string in the R40's device tree. This was added in v4.19-rc1. * tag 'sunxi-fixes-for-4.19-2' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux: ARM: dts: sun8i: drop A64 HDMI PHY fallback compatible from R40 DT Signed-off-by: Olof Johansson <olof@lixom.net>
2018-09-23Merge tag 'for-linus-4.19d-rc5-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tipGreg Kroah-Hartman1-1/+1
Juergen writes: "xen: Two small fixes for xen drivers." * tag 'for-linus-4.19d-rc5-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip: xen: issue warning message when out of grant maptrack entries xen/x86/vpmu: Zero struct pt_regs before calling into sample handling code
2018-09-23Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tipGreg Kroah-Hartman15-39/+234
Thomas writes: "A set of fixes for x86: - Resolve the kvmclock regression on AMD systems with memory encryption enabled. The rework of the kvmclock memory allocation during early boot results in encrypted storage, which is not shareable with the hypervisor. Create a new section for this data which is mapped unencrypted and take care that the later allocations for shared kvmclock memory is unencrypted as well. - Fix the build regression in the paravirt code introduced by the recent spectre v2 updates. - Ensure that the initial static page tables cover the fixmap space correctly so early console always works. This worked so far by chance, but recent modifications to the fixmap layout can - depending on kernel configuration - move the relevant entries to a different place which is not covered by the initial static page tables. - Address the regressions and issues which got introduced with the recent extensions to the Intel Recource Director Technology code. - Update maintainer entries to document reality" * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/mm: Expand static page table for fixmap space MAINTAINERS: Add X86 MM entry x86/intel_rdt: Add Reinette as co-maintainer for RDT MAINTAINERS: Add Borislav to the x86 maintainers x86/paravirt: Fix some warning messages x86/intel_rdt: Fix incorrect loop end condition x86/intel_rdt: Fix exclusive mode handling of MBA resource x86/intel_rdt: Fix incorrect loop end condition x86/intel_rdt: Do not allow pseudo-locking of MBA resource x86/intel_rdt: Fix unchecked MSR access x86/intel_rdt: Fix invalid mode warning when multiple resources are managed x86/intel_rdt: Global closid helper to support future fixes x86/intel_rdt: Fix size reporting of MBA resource x86/intel_rdt: Fix data type in parsing callbacks x86/kvm: Use __bss_decrypted attribute in shared variables x86/mm: Add .bss..decrypted section to hold shared variables
2018-09-22arm64: dts: rockchip: Enable SD card detection for Rock960 boardsManivannan Sadhasivam1-0/+1
For proper working of SD cards, let's add the Card Detect GPIO property to the common devicetree for Rock960 family boards. Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-09-22arm64: dts: rockchip: Add support for Rock960 boardManivannan Sadhasivam2-0/+53
Add devicetree support for Rock960 board, one of the Consumer Edition boards of the 96Boards family. This board support utilizes the common Rock960 family board support that includes Ficus 96Board. Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-09-22arm64: dts: rockchip: Split out common nodes for Rock960 based boardsManivannan Sadhasivam2-519/+546
Since the same family members of Rock960 boards (Rock960 and Ficus) share the same configuration, split out the common nodes into a common dtsi file for reducing code duplication. The board specific nodes for Ficus boards are then placed in corresponding board DTS file. Below are some of the key differences between both Rock960 and Ficus boards: 1. Different host enable GPIO for USB 2. Different power and reset GPIO for PCI-E 3. No Ethernet port on Rock960 Only the properties which differ between both boards are placed in the board specific dts and the reset of the nodes are placed in common dtsi file. Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> Reviewed-by: Ezequiel Garcia <ezequiel@collabora.com> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-09-22arm64: dts: rockchip: add spdif sound node for rock64Katsuhiro Suzuki1-0/+29
This patch adds sound card node for rock64. Currently we can support S/PDIF only. It seems the lack of codec driver of rk3328 to enable analog audio out. Signed-off-by: Katsuhiro Suzuki <katsuhiro@katsuster.net> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-09-22arm64: dts: rockchip: Fix microSD in rk3399 sapphire boardVicente Bergas1-1/+23
The microSD card slot in the Sapphire board is not working because of several issues: 1.- The vmmc power supply is missing in the DTS. It is capable of 3.0V and has a GPIO-based enable control. 2.- The vqmmc power supply can provide up to 3.3V, but it is capped in the DTS to just 3.0V because of the vmmc capability. This results in a conflict from the mmc driver requesting an unsupportable voltage range from 3.3V to 3.0V (min > max) as reported in dmesg. So, extend the range up to 3.3V. The hw should be able to stand this 0.3V tolerance. See mmc_regulator_set_vqmmc in drivers/mmc/core/core.c. 3.- The card detect signal is non-working. There is a known conflict with jtag, but the workaround in drivers/soc/rockchip/grf.c does not work. Adding the broken-cd attribute to the DTS fixes the issue. Signed-off-by: Vicente Bergas <vicencb@gmail.com> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2018-09-22MIPS: kexec: Use prepare method from Generic for UHI platformsDengcheng Zhu4-46/+45
Out-of-tree platforms may not be based on Generic as shown in customer communication. Share the prepare method with all using UHI boot protocol, and put into machine_kexec.c. The benefit is that, when having kexec_args related problems, developers will naturally look into machine_kexec.c, where "CONFIG_UHI_BOOT" will be found, prompting them to add "select UHI_BOOT" to the platform Kconfig. It would otherwise require a lot debugging or online searching to be aware that the solution is in Generic code. Tested-by: Rachel Mozes <rachel.mozes@intel.com> Reported-by: Rachel Mozes <rachel.mozes@intel.com> Signed-off-by: Dengcheng Zhu <dzhu@wavecomp.com> Signed-off-by: Paul Burton <paul.burton@mips.com> Patchwork: https://patchwork.linux-mips.org/patch/20569/ Cc: pburton@wavecomp.com Cc: ralf@linux-mips.org Cc: linux-mips@linux-mips.org
2018-09-22MIPS: kexec: Relax memory restrictionDengcheng Zhu1-3/+3
We can rely on the system kernel and the dump capture kernel themselves in memory usage. Being restrictive with 512MB limit may cause kexec tool failure on some platforms. Tested-by: Rachel Mozes <rachel.mozes@intel.com> Reported-by: Rachel Mozes <rachel.mozes@intel.com> Signed-off-by: Dengcheng Zhu <dzhu@wavecomp.com> Signed-off-by: Paul Burton <paul.burton@mips.com> Patchwork: https://patchwork.linux-mips.org/patch/20568/ Cc: pburton@wavecomp.com Cc: ralf@linux-mips.org Cc: linux-mips@linux-mips.org
2018-09-22MIPS: kexec: CPS systems to halt nonboot CPUsDengcheng Zhu1-25/+55
Share code between play_dead() and cps_kexec_nonboot_cpu(). Register the latter to mp_ops for kexec. Signed-off-by: Dengcheng Zhu <dzhu@wavecomp.com> Signed-off-by: Paul Burton <paul.burton@mips.com> Patchwork: https://patchwork.linux-mips.org/patch/20567/ Cc: pburton@wavecomp.com Cc: ralf@linux-mips.org Cc: linux-mips@linux-mips.org Cc: rachel.mozes@intel.com
2018-09-22MIPS: kexec: Make a framework for both jumping and halting on nonboot CPUsDengcheng Zhu8-10/+126
The existing implementation lets machine_kexec() CPU jump to reboot code buffer, whereas other CPUs to relocated_kexec_smp_wait. The natural way to bring up an SMP new kernel would be to let CPU0 do it while others being halted. For those failing to do so, fall back to the jumping method. Signed-off-by: Dengcheng Zhu <dzhu@wavecomp.com> [paul.burton@mips.com: Guard kexec_nonboot_cpu_jump with CONFIG_SMP] Signed-off-by: Paul Burton <paul.burton@mips.com> Patchwork: https://patchwork.linux-mips.org/patch/20570/ Cc: pburton@wavecomp.com Cc: ralf@linux-mips.org Cc: linux-mips@linux-mips.org Cc: rachel.mozes@intel.com
2018-09-22arm64: dts: actions: Convert to new-style SPDX license identifiersAndreas Färber3-4/+4
Move SPDX-License-Identifier to the top and add one for the Makefile. Signed-off-by: Andreas Färber <afaerber@suse.de>
2018-09-22ARM: dts: owl: Convert to new-style SPDX license identifiersAndreas Färber4-8/+4
Move the SPDX-License-Identifier lines to the top. Signed-off-by: Andreas Färber <afaerber@suse.de>
2018-09-22x86/CPU: Change query logic so CPUID is enabled before testingMatthew Whitehead1-1/+3
Presently we check first if CPUID is enabled. If it is not already enabled, then we next call identify_cpu_without_cpuid() and clear X86_FEATURE_CPUID. Unfortunately, identify_cpu_without_cpuid() is the function where CPUID becomes _enabled_ on Cyrix 6x86/6x86L CPUs. Reverse the calling sequence so that CPUID is first enabled, and then check a second time to see if the feature has now been activated. [ bp: Massage commit message and remove trailing whitespace. ] Suggested-by: Andy Lutomirski <luto@amacapital.net> Signed-off-by: Matthew Whitehead <tedheadster@gmail.com> Signed-off-by: Borislav Petkov <bp@suse.de> Reviewed-by: Andy Lutomirski <luto@amacapital.net> Cc: David Woodhouse <dwmw@amazon.co.uk> Cc: H. Peter Anvin <hpa@zytor.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Link: http://lkml.kernel.org/r/20180921212041.13096-3-tedheadster@gmail.com
2018-09-22x86/CPU: Use correct macros for Cyrix callsMatthew Whitehead1-1/+1
There are comments in processor-cyrix.h advising you to _not_ make calls using the deprecated macros in this style: setCx86_old(CX86_CCR4, getCx86_old(CX86_CCR4) | 0x80); This is because it expands the macro into a non-functioning calling sequence. The calling order must be: outb(CX86_CCR2, 0x22); inb(0x23); From the comments: * When using the old macros a line like * setCx86(CX86_CCR2, getCx86(CX86_CCR2) | 0x88); * gets expanded to: * do { * outb((CX86_CCR2), 0x22); * outb((({ * outb((CX86_CCR2), 0x22); * inb(0x23); * }) | 0x88), 0x23); * } while (0); The new macros fix this problem, so use them instead. Signed-off-by: Matthew Whitehead <tedheadster@gmail.com> Signed-off-by: Borislav Petkov <bp@suse.de> Reviewed-by: Andy Lutomirski <luto@amacapital.net> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: Jia Zhang <qianyue.zj@alibaba-inc.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Philippe Ombredanne <pombredanne@nexb.com> Cc: Thomas Gleixner <tglx@linutronix.de> Link: http://lkml.kernel.org/r/20180921212041.13096-2-tedheadster@gmail.com
2018-09-21MIPS: kexec: Mark CPU offline before disabling local IRQDengcheng Zhu2-0/+6
After changing CPU online status, it will not be sent any IPIs such as in __flush_cache_all() on software coherency systems. Do this before disabling local IRQ. Signed-off-by: Dengcheng Zhu <dzhu@wavecomp.com> Signed-off-by: Paul Burton <paul.burton@mips.com> Patchwork: https://patchwork.linux-mips.org/patch/20571/ Cc: pburton@wavecomp.com Cc: ralf@linux-mips.org Cc: linux-mips@linux-mips.org Cc: rachel.mozes@intel.com
2018-09-21arm64: dts: exynos: Add OF graph between USB-PHY and MUICAndrzej Hajda1-1/+14
OF graph describes USB data lanes between USB-PHY and respective MUIC. Since graph is present and DWC driver can use it to get extcon, obsolete extcon property can be removed. Signed-off-by: Andrzej Hajda <a.hajda@samsung.com> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2018-09-21Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvmGreg Kroah-Hartman19-239/+318
Paolo writes: "It's mostly small bugfixes and cleanups, mostly around x86 nested virtualization. One important change, not related to nested virtualization, is that the ability for the guest kernel to trap CPUID instructions (in Linux that's the ARCH_SET_CPUID arch_prctl) is now masked by default. This is because the feature is detected through an MSR; a very bad idea that Intel seems to like more and more. Some applications choke if the other fields of that MSR are not initialized as on real hardware, hence we have to disable the whole MSR by default, as was the case before Linux 4.12." * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (23 commits) KVM: nVMX: Fix bad cleanup on error of get/set nested state IOCTLs kvm: selftests: Add platform_info_test KVM: x86: Control guest reads of MSR_PLATFORM_INFO KVM: x86: Turbo bits in MSR_PLATFORM_INFO nVMX x86: Check VPID value on vmentry of L2 guests nVMX x86: check posted-interrupt descriptor addresss on vmentry of L2 KVM: nVMX: Wake blocked vCPU in guest-mode if pending interrupt in virtual APICv KVM: VMX: check nested state and CR4.VMXE against SMM kvm: x86: make kvm_{load|put}_guest_fpu() static x86/hyper-v: rename ipi_arg_{ex,non_ex} structures KVM: VMX: use preemption timer to force immediate VMExit KVM: VMX: modify preemption timer bit only when arming timer KVM: VMX: immediately mark preemption timer expired only for zero value KVM: SVM: Switch to bitmap_zalloc() KVM/MMU: Fix comment in walk_shadow_page_lockless_end() kvm: selftests: use -pthread instead of -lpthread KVM: x86: don't reset root in kvm_mmu_setup() kvm: mmu: Don't read PDPTEs when paging is not enabled x86/kvm/lapic: always disable MMIO interface in x2APIC mode KVM: s390: Make huge pages unavailable in ucontrol VMs ...
2018-09-21arm64: dts: marvell: add thermal-zone node in cp110 DTSI fileMiquel Raynal1-0/+19
Add a thermal-zone node and fill in all the sensors available in a cp110 (only one in the thermal IP). Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
2018-09-21arm64: dts: marvell: add macro to make distinction between node namesMiquel Raynal1-0/+1
Because the label is different between CPs, the full path of a node is unique. However, when referring to the end of the path only (the node name), this name is not unique anymore. The *thermal_zone_of_sensor_register() functions of the thermal core present this limitation and prevent having a thermal-zone per CP. Add a macro to make the distinction between node names to solve this situation. Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>