summaryrefslogtreecommitdiff
path: root/arch
AgeCommit message (Collapse)AuthorFilesLines
2018-01-05x86/alternatives: Add missing '\n' at end of ALTERNATIVE inline asmDavid Woodhouse1-2/+2
Where an ALTERNATIVE is used in the middle of an inline asm block, this would otherwise lead to the following instruction being appended directly to the trailing ".popsection", and a failed compile. Fixes: 9cebed423c84 ("x86, alternative: Use .pushsection/.popsection") Signed-off-by: David Woodhouse <dwmw@amazon.co.uk> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: gnomes@lxorguk.ukuu.org.uk Cc: Rik van Riel <riel@redhat.com> Cc: ak@linux.intel.com Cc: Tim Chen <tim.c.chen@linux.intel.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Paul Turner <pjt@google.com> Cc: Jiri Kosina <jikos@kernel.org> Cc: Andy Lutomirski <luto@amacapital.net> Cc: Dave Hansen <dave.hansen@intel.com> Cc: Kees Cook <keescook@google.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Greg Kroah-Hartman <gregkh@linux-foundation.org> Cc: stable@vger.kernel.org Link: https://lkml.kernel.org/r/20180104143710.8961-8-dwmw@amazon.co.uk
2018-01-05arm64: v8.4: Support for new floating point multiplication instructionsDongjiu Geng4-0/+5
ARM v8.4 extensions add new neon instructions for performing a multiplication of each FP16 element of one vector with the corresponding FP16 element of a second vector, and to add or subtract this without an intermediate rounding to the corresponding FP32 element in a third vector. This patch detects this feature and let the userspace know about it via a HWCAP bit and MRS emulation. Cc: Dave Martin <Dave.Martin@arm.com> Reviewed-by: Suzuki K Poulose <suzuki.poulose@arm.com> Signed-off-by: Dongjiu Geng <gengdongjiu@huawei.com> Reviewed-by: Dave Martin <Dave.Martin@arm.com> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2018-01-05arm64: asid: Do not replace active_asids if already 0Catalin Marinas1-8/+11
Under some uncommon timing conditions, a generation check and xchg(active_asids, A1) in check_and_switch_context() on P1 can race with an ASID roll-over on P2. If P2 has not seen the update to active_asids[P1], it can re-allocate A1 to a new task T2 on P2. P1 ends up waiting on the spinlock since the xchg() returned 0 while P2 can go through a second ASID roll-over with (T2,A1,G2) active on P2. This roll-over copies active_asids[P1] == A1,G1 into reserved_asids[P1] and active_asids[P2] == A1,G2 into reserved_asids[P2]. A subsequent scheduling of T1 on P1 and T2 on P2 would match reserved_asids and get their generation bumped to G3: P1 P2 -- -- TTBR0.BADDR = T0 TTBR0.ASID = A0 asid_generation = G1 check_and_switch_context(T1,A1,G1) generation match check_and_switch_context(T2,A0,G0) new_context() ASID roll-over asid_generation = G2 flush_context() active_asids[P1] = 0 asid_map[A1] = 0 reserved_asids[P1] = A0,G0 xchg(active_asids, A1) active_asids[P1] = A1,G1 xchg returns 0 spin_lock_irqsave() allocated ASID (T2,A1,G2) asid_map[A1] = 1 active_asids[P2] = A1,G2 ... check_and_switch_context(T3,A0,G0) new_context() ASID roll-over asid_generation = G3 flush_context() active_asids[P1] = 0 asid_map[A1] = 1 reserved_asids[P1] = A1,G1 reserved_asids[P2] = A1,G2 allocated ASID (T3,A2,G3) asid_map[A2] = 1 active_asids[P2] = A2,G3 new_context() check_update_reserved_asid(A1,G1) matches reserved_asid[P1] reserved_asid[P1] = A1,G3 updated T1 ASID to (T1,A1,G3) check_and_switch_context(T2,A1,G2) new_context() check_and_switch_context(A1,G2) matches reserved_asids[P2] reserved_asids[P2] = A1,G3 updated T2 ASID to (T2,A1,G3) At this point, we have two tasks, T1 and T2 both using ASID A1 with the latest generation G3. Any of them is allowed to be scheduled on the other CPU leading to two different tasks with the same ASID on the same CPU. This patch changes the xchg to cmpxchg so that the active_asids is only updated if non-zero to avoid a race with an ASID roll-over on a different CPU. The ASID allocation algorithm has been formally verified using the TLA+ model checker (see https://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/kernel-tla.git/tree/asidalloc.tla for the spec). Reviewed-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2018-01-05Merge tag 'amlogic-dt64-2' of ↵Arnd Bergmann1-0/+175
ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic into next/dt Pull "Amlogic 64-bit DT updates for v4.16, round 2" from Kevin Hilman: This adds a few more basics (clock, pinctrl, PWM, reset) for the new AXG family of Amlogic SoCs. * tag 'amlogic-dt64-2' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic: arm64: dts: meson-axg: add new reset DT node ARM64: dts: meson-axg: add PWM DT info for Meson-Axg SoC ARM64: dts: meson-axg: add pinctrl DT info for Meson-AXG SoC documentation: Add compatibles for Amlogic Meson AXG pin controllers arm64: dts: meson-axg: add clock DT info for Meson AXG SoC
2018-01-05Merge tag 'qcom-defconfig-for-4.16' of ↵Arnd Bergmann1-0/+3
ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/agross/linux into next/soc Pull "Qualcomm ARM Based defconfig Updates for v4.16" from Andy Gross: * Enable framebuffer, IOMMU, and DRM options * tag 'qcom-defconfig-for-4.16' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/agross/linux: ARM: qcom_defconfig: Enable Frambuffer console support ARM: qcom_defconfig: enable MSM IOMMU for display ARM: qcom_defconfig: Enable DRM for 8064 display
2018-01-05Merge tag 'qcom-dts-for-4.16' of ↵Arnd Bergmann1-0/+34
ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/agross/linux into next/dt Pull "Qualcomm Device Tree Changes for v4.16" from Andy Gross: * Add uSD slot nodes on msm8974-FP2 board * tag 'qcom-dts-for-4.16' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/agross/linux: ARM: dts: msm8974-FP2: Add uSD slot nodes
2018-01-05Merge tag 'qcom-arm64-for-4.16' of ↵Arnd Bergmann3-122/+77
ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/agross/linux into next/dt Pull "Qualcomm ARM64 Updates for v4.16" from Andy Gross: * Assorted cleanups for msm8916 * Fix IPC references for smsm * tag 'qcom-arm64-for-4.16' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/agross/linux: arm64: dts: qcom: msm8916-pins: keep cdc_dmic pins in suspend mode arm64: dts: qcom: msm8916-pins: move sdhc2 cd node with its siblings arm64: dts: qcom: msm8916: normalize I2C and SPI nodes arm64: dts: qcom: msm8916: drop unused board-specific nodes arm64: dts: qcom: msm8916-pins: remove assignments to bias-disable arm64: dts: qcom: pm8916: fix wcd_codec indentation arm64: dts: msm8916: Correct ipc references for smsm arm64: dts: msm8916: Add missing #phy-cells
2018-01-05Merge tag 'qcom-arm64-defconfig-for-4.16' of ↵Arnd Bergmann1-3/+0
ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/agross/linux into next/soc Pull "Qualcomm ARM64 Based defconfig Updates for v4.16" from Andy Gross: * Remove legacy QCOM config options
2018-01-05ARM: dts: sun8i: a711: Enable the LCDMaxime Ripard1-0/+61
The A711 has 1024x600 LVDS panel, with a PWM-based backlight. Add it to our DT. Reviewed-by: Chen-Yu Tsai <wens@csie.org> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2018-01-05ARM: dts: kirkwood: fix pin-muxing of MPP7 on OpenBlocks A7Thomas Petazzoni1-2/+8
MPP7 is currently muxed as "gpio", but this function doesn't exist for MPP7, only "gpo" is available. This causes the following error: kirkwood-pinctrl f1010000.pin-controller: unsupported function gpio on pin mpp7 pinctrl core: failed to register map default (6): invalid type given kirkwood-pinctrl f1010000.pin-controller: error claiming hogs: -22 kirkwood-pinctrl f1010000.pin-controller: could not claim hogs: -22 kirkwood-pinctrl f1010000.pin-controller: unable to register pinctrl driver kirkwood-pinctrl: probe of f1010000.pin-controller failed with error -22 So the pinctrl driver is not probed, all device drivers (including the UART driver) do a -EPROBE_DEFER, and therefore the system doesn't really boot (well, it boots, but with no UART, and no devices that require pin-muxing). Back when the Device Tree file for this board was introduced, the definition was already wrong. The pinctrl driver also always described as "gpo" this function for MPP7. However, between Linux 4.10 and 4.11, a hog pin failing to be muxed was turned from a simple warning to a hard error that caused the entire pinctrl driver probe to bail out. This is probably the result of commit 6118714275f0a ("pinctrl: core: Fix pinctrl_register_and_init() with pinctrl_enable()"). This commit fixes the Device Tree to use the proper "gpo" function for MPP7, which fixes the boot of OpenBlocks A7, which was broken since Linux 4.11. Fixes: f24b56cbcd9d ("ARM: kirkwood: add support for OpenBlocks A7 platform") Cc: <stable@vger.kernel.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2018-01-05crypto: x86/poly1305 - remove cra_alignmaskEric Biggers1-1/+0
crypto_poly1305_final() no longer requires a cra_alignmask, and nothing else in the x86 poly1305-simd implementation does either. So remove the cra_alignmask so that the crypto API does not have to unnecessarily align the buffers. Signed-off-by: Eric Biggers <ebiggers@google.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2018-01-05ARM: dts: Delete bogus reference to the charlcdLinus Walleij1-5/+0
The EB MP board probably has a character LCD but the board manual does not really state which IRQ it has assigned to this device. The invalid assignment was a mistake by me during submission of the DTSI where I was looking for the reference, didn't find it and didn't fill it in. Delete this for now: it can probably be fixed but that requires access to the actual board for some trial-and-error experiments. Reported-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Olof Johansson <olof@lixom.net>
2018-01-05Merge tag 'at91-ab-4.16-dt' of ↵Olof Johansson56-28/+1447
git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux into next/dt DT for 4.16 - New boards: - Axentia Nattis with Natte power - sama5d2 PTC ek - Document and use extended TCB bindings * tag 'at91-ab-4.16-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux: (50 commits) ARM: dts: at91: sama5d2_ptc_ek: use TCB0 as timers ARM: dts: at91: sama5d27_som1_ek: use TCB0 as timers ARM: dts: at91: sama5d2 Xplained: use TCB0 as timers ARM: dts: at91: sama5d2: TC blocks are also simple-mfd and syscon devices ARM: dts: at91: vinco: use TCB2 as timers ARM: dts: at91: ma5d4: use TCB2 as timers ARM: dts: at91: sama5d4 Xplained: use TCB2 as timers ARM: dts: at91: sama5d4ek: use TCB2 as timers ARM: dts: at91: sama5d4: Add TCB2 ARM: dts: at91: sama5d4: TC blocks are also simple-mfd and syscon devices ARM: dts: at91: linea/tse850-3: use TCB0 as timers ARM: dts: at91: sama5d3xek_cmp: use TCB0 as timers ARM: dts: at91: kizbox2: use TCB0 as timers ARM: dts: at91: sama5d3 Xplained: use TCB0 as timers ARM: dts: at91: sama5d3xek: use TCB0 as timers ARM: dts: at91: sama5d3: TC blocks are also simple-mfd and syscon devices ARM: dts: at91: kizboxmini: use TCB0 as timers ARM: dts: at91: cosino: use TCB0 as timers ARM: dts: at91: acme/g25: use TCB0 as timers ARM: dts: at91: at91sam9x5cm: use TCB0 as timers ... Signed-off-by: Olof Johansson <olof@lixom.net>
2018-01-05Merge tag 'uniphier-dt64-v4.16' of ↵Olof Johansson6-5/+27
git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-uniphier into next/dt UniPhier ARM64 SoC DT updates for v4.16 - clean up gpios properties by macro - add GPIO hog for PXs3 reference node - add has-transaction-translator property to generic-ehci nodes - enable more serial ports for PXs3 reference node * tag 'uniphier-dt64-v4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-uniphier: arm64: dts: uniphier: enable more serial ports for PXs3 ref board arm64: dts: uniphier: add has-transaction-translator property to usb node for LD11 arm64: dts: uniphier: add GPIO hog definition for PXs3 arm64: dts: uniphier: use macros in dt-bindings header Signed-off-by: Olof Johansson <olof@lixom.net>
2018-01-05Merge tag 'uniphier-dt-v4.16' of ↵Olof Johansson9-4/+129
git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-uniphier into next/dt UniPhier ARM SoC DT updates for v4.16 - clean up gpios properties by macro - add efuse nodes - add has-transaction-translator property to generic-ehci nodes * tag 'uniphier-dt-v4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-uniphier: ARM: dts: uniphier: add has-transaction-translator property to usb node for LD4, sLD8 and Pro4 ARM: dts: uniphier: add efuse node for UniPhier 32bit SoC ARM: dts: uniphier: use macros in dt-bindings header Signed-off-by: Olof Johansson <olof@lixom.net>
2018-01-05Merge tag 'sunxi-config64-for-4.16' of ↵Olof Johansson1-0/+2
https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into next/soc Allwinner arm64 defconfig changes for 4.16 Enables MUSB driver and the Allwinner glue layer driver by default. All Allwinner SoCs (excluding the A80) have the Mentor Graphics Inventra Multi-Point Hi-Speed OTG Controller (MHDRC). Enabling this extends test coverage to this peripheral. * tag 'sunxi-config64-for-4.16' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux: arm64: defconfig: enable MUSB HDRC along with Allwinner glue Signed-off-by: Olof Johansson <olof@lixom.net>
2018-01-05Merge tag 'sunxi-dt64-for-4.16' of ↵Olof Johansson8-13/+230
https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into next/dt Allwinner DT64 changes for 4.16 There are two important changes in this round. The first removes the redundant pinctrl setting for the MMC card detect GPIO. We are moving to strict pinctrl/GPIO exclusion, i.e. GPIO usage will block other pin muxing usage, and vice versa. The usage of pinmux for guarding GPIO pins in the device tree prevents us from doing so. This is part of an ongoing effort to clean up the existing device trees. The other important change enables the PMIC on the Orangepi Win. The PMIC provides power to most of the external onboard peripherals. Enabling it will allow us to enable Ethernet or WiFi support later on. The remaining changes in this round enable some peripheral, such as Ethernet, an external WiFi chip, or LEDs. * tag 'sunxi-dt64-for-4.16' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux: arm64: dts: allwinner: a64: bananapi-m64: Add LED device node arm64: dts: a64-olinuxino: Enable RTL8723BS WiFi arm64: dts: allwinner: h5: NanoPi NEO Plus2 : add EMAC support arm64: dts: allwinner: H5: remove redundant MMC0 card detect pin arm64: allwinner: a64: Enable AXP803 for Orangepi Win arm64: dts: orange-pi-zero-plus2: enable AP6212a WiFi/BT combo Signed-off-by: Olof Johansson <olof@lixom.net>
2018-01-05Merge tag 'sunxi-dt-for-4.16' of ↵Olof Johansson14-4/+520
https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into next/dt Allwinner DT changes for 4.16 A random assortment of improvements. GPIO device nodes are added for the AXP813/AXP818 PMICs, meaning we can finally use the GPIO pins on the PMICs. The LDOs on the GPIO pins can also be properly muxed and guarded. EMAC Ethernet support is enabled for more H3 boards, and also for the A83T, following the return of the bindings in 4.15, after a last minute revert in 4.13. This will make the H3/A83T boards much more useful in headless applications. Two new boards are introduced. The Orange Pi R1 is a small board with two Ethernet interfaces (one EMAC-based and one USB-based) and a WiFi chip. This board is fully supported, with the exception of TV-out on the expansion header, which will not be enabled by default. The WiFi chip (RTL8189FTV) requires an out-of-tree driver. The Libre Computer Board ALL-H3-CC H3 version is a newcomer to the Allwinner SBC space, which was mostly represented by a bunch of fruit-Pis. It is mostly supported, with the exception of HDMI and camera sensor interface, which have not been implemented yet. Two minor patches enable the audio codec on the A13 Olinuxino, and HDMI output on the pcDuino3 Nano. * tag 'sunxi-dt-for-4.16' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux: ARM: dts: sun8i: h3: nanopi-m1-plus: fix missing ethernet 0 in aliases ARM: dts: sun8i: h3: Enable dwmac-sun8i on the Nanopi M1 ARM: dts: sun7i: Enable HDMI on pcDuino3 Nano ARM: dts: sun8i: a83t: Add I2C device nodes and pinmux settings ARM: dts: sun8i: a83t: Add I2S controller device nodes ARM: dts: sun8i-h3: Remove allwinner,leds-active-low for non internal PHY ARM: dts: sun8i: a83t: Enable Ethernet on two boards ARM: dts: sun8i: a83t: add dwmac-sun8i device node ARM: dts: sun8i: h3: enable USB OTG for NanoPi Neo board ARM: dts: sun8i: h3: Add dts file for Libre Computer Board ALL-H3-CC H3 ver. ARM: dtsi: axp81x: set pinmux for GPIO0/1 when used as LDOs ARM: dtsi: axp81x: add GPIO DT node ARM: dts: sun8i: add support for Orange Pi R1 ARM: dts: sunxi: Add codec for A13 Olinuxino Signed-off-by: Olof Johansson <olof@lixom.net>
2018-01-05Merge tag 'keystone_config_for_4.16' of ↵Olof Johansson1-0/+7
git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone into next/soc ARM: Keystone configs for 4.16 - Enable QSPI - Enable LEDs - Enable GPIO-decoder * tag 'keystone_config_for_4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone: ARM: configs: keystone_defconfig: Enable few peripheral drivers Signed-off-by: Olof Johansson <olof@lixom.net>
2018-01-05Merge tag 'keystone_dts_for_4.16' of ↵Olof Johansson17-243/+676
git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone into next/dt ARM: Keystone DTS update for 4.16 - Enable GPIO bank2 for K2L - Enable QSPI for K2G & K2G-EVM - Enable UART1/2 for K2G & K2G-EVM - Enable peripherals for K2G-ICE - Fix C1 and C2 DTS warnings * tag 'keystone_dts_for_4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/ssantosh/linux-keystone: ARM: dts: keystone-k2l-clocks: Add missing unit name to clock nodes that have regs ARM: dts: keystone-k2e-clocks: Add missing unit name to clock nodes that have regs ARM: dts: keystone-hk-clocks: Add missing unit name to clock nodes that have regs ARM: dts: keystone-clocks: Add missing unit name to clock nodes that have regs ARM: dts: keystone: Add missing unit name to interrupt controller ARM: dts: keystone: Get rid of usage of skeleton.dtsi ARM: dts: keystone*: Use a single soc0 instance ARM: dts: keystone*: Standardize license with SPDX tag ARM: dts: k2g-evm: Enable UART 2 ARM: dts: k2g: Add UART 1 and 2 instances ARM: dts: keystone: Add generic compatible string for I2C EEPROM ARM: dts: keystone-k2g-ice: Add DT nodes for few peripherals ARM: dts: keystone-k2g-evm: Add QSPI DT node. ARM: dts: keystone-k2g: Move ti,non-removable property to board dts ARM: dts: keystone-k2g-evm: Fix botched up merge ARM: dts: keystone-k2g: Add QSPI DT entry ARM: dts: keystone-k2l: Add the second gpio bank node Signed-off-by: Olof Johansson <olof@lixom.net>
2018-01-05Merge tag 'pxa-for-4.16' of https://github.com/rjarzmik/linux into next/socOlof Johansson38-131/+98
This is the pxa changes for v4.16 cycle. It is : - the conversion to the new parser sharpslpart parser for the Sharp variants - an I2C platform data cleanup for PXA - a gpioreg switch of one register for lubbock * tag 'pxa-for-4.16' of https://github.com/rjarzmik/linux: ARM: pxa/lubbock: add GPIO driver for LUB_MISC_WR register ARM: pxa/poodle: Remove hardcoded partitioning, use sharpslpart parser ARM: pxa/spitz: Remove hardcoded partitioning, use sharpslpart parser ARM: pxa/tosa: Remove hardcoded partitioning, use sharpslpart parser ARM: pxa/corgi: Remove hardcoded partitioning, use sharpslpart parser ARM: pxa: move header file out of I2C realm ARM: pxa: move declarations to proper place Signed-off-by: Olof Johansson <olof@lixom.net>
2018-01-05Merge tag 'omap-for-v4.16/defconfig-signed' of ↵Olof Johansson2-0/+14
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/soc Two defconfig updates for omaps These are to configure dra7 PCIe for omap2plus_defconfig and multi_v7_defconfig. * tag 'omap-for-v4.16/defconfig-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: multi_v7_defconfig: Enable CONFIG_PCI_DRA7XX (Host & Device modes) ARM: omap2plus_defconfig: Enable CONFIG_PCI_DRA7XX (Host & Device modes) Signed-off-by: Olof Johansson <olof@lixom.net>
2018-01-05Merge tag 'omap-for-v4.16/dt-pt2-v2-signed' of ↵Olof Johansson28-129/+426
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/dt Second set of device tree changes for omaps for v4.16 merge window This branch mostly configures more hardware support: - Clean-up dts files to remove leading 0x and 0s from binding notation to remove more dtc compiler warnings - A series of am437x updates for backlight, to fix inverted pad pull macro, and to configure power management related OPPs - Configure n950 and droid 4 command mode LCD panels - Updates to pandora and gta04 LCD panels - Add support for am574x-idk - A series of changes to configure more dra7 related PCIe features - A series of fixes for am335x-boneblue for WLAN, UARTs and CAN configuration - A series of changes to configure dra7 OPPs and VDD supplies * tag 'omap-for-v4.16/dt-pt2-v2-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (29 commits) Revert "ARM: dts: dra7: Add properties to enable PCIe x2 lane mode" ARM: dts: am572x-idk: Add cpu0 vdd supply ARM: dts: am571x-idk: Add cpu0 vdd supply ARM: dts: dra72-evm-tps65917: Add cpu0 vdd supply ARM: dts: dra7-evm: Add cpu0 vdd supply ARM: dts: am57xx-beagle-x15-common: Add cpu0 vdd supply ARM: dts: dra7: Enable 1.5 GHz operation for the CPU ARM: dts: dra7: Add MPU OPP supply node ARM: dts: dra7: Add vbb-supply to cpu and additional voltages ARM: dts: am335x-boneblue: enable can ARM: dts: am335x-boneblue: enable usarts ARM: dts: am335x-boneblue: fix wl1835 IRQ pin ARM: dts: dra7: Remove deprecated PCI compatible string ARM: dts: dra76-evm: Enable x2 PCIe lanes ARM: dts: DRA72x: Use PCIe compatible specific to dra72 ARM: dts: DRA74x: Use PCIe compatible specific to dra74 ARM: dts: dra7: Add properties to enable PCIe x2 lane mode ARM: dts: am57xx: Add support for am574x-idk ARM: dts: am43x-epos-evm: Hook dcdc2 as the cpu0-supply ARM: dts: am437x-idk-evm: Disable OPP50 for MPU ... Signed-off-by: Olof Johansson <olof@lixom.net>
2018-01-05Merge tag 'omap-for-v4.16/ti-sysc-signed' of ↵Olof Johansson8-82/+63
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/drivers TI sysc driver updates for v4.16 merge window We now have gotten ti-sysc driver to the point where it can parse interconnect target configuration from device tree instead of the legacy platform data. This series updates the device tree binding and adds parsing to the driver for quirks and capabilities. * tag 'omap-for-v4.16/ti-sysc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: bus: ti-sysc: Add parsing of module capabilities bus: ti-sysc: Handle module quirks based dts configuration bus: ti-sysc: Detect i2c interconnect target module based on register layout bus: ti-sysc: Add register bits for interconnect target modules bus: ti-sysc: Make omap_hwmod_sysc_fields into sysc_regbits platform data ARM: OMAP2+: Move all omap_hwmod_sysc_fields to omap_hwmod_common_data.c ARM: dts: Add generic ti,sysc compatible in addition to the custom ones dt-bindings: ti-sysc: Update binding for timers and capabilities Signed-off-by: Olof Johansson <olof@lixom.net>
2018-01-05Merge tag 'omap-for-v4.16/soc-pt2-signed' of ↵Olof Johansson10-496/+50
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/soc Second set of SoC changes for omaps for v4.16 merge window We can now drop some more of legacy platform data for omap3 as it's been booting in device tree only mode for quite a while now. This clock related data is coming from device tree configured clocks now. The other changes add support for detecting new dra762 SoC variant. * tag 'omap-for-v4.16/soc-pt2-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: OMAP2+: dra762: Register package specific hwmod ARM: OMAP2+: dra762: Add support for device package identification ARM: OMAP2+: Drop unused legacy data for prcm_reg_id and module_bit Signed-off-by: Olof Johansson <olof@lixom.net>
2018-01-05Merge tag 'mvebu-arm64-4.16-1' of git://git.infradead.org/linux-mvebu into ↵Olof Johansson1-0/+1
next/soc mvebu arm64 for 4.16 (part 1) Adding the cpu frequency scaling support for Armada 37xx * tag 'mvebu-arm64-4.16-1' of git://git.infradead.org/linux-mvebu: arm64: defconfig: enable ARM_ARMADA_37XX_CPUFREQ Signed-off-by: Olof Johansson <olof@lixom.net>
2018-01-05Merge tag 'mvebu-dt64-4.16-1' of git://git.infradead.org/linux-mvebu into ↵Olof Johansson7-1/+73
next/dt mvebu dt64 for 4.16 (part 1) Add the NAND support on the Marvell 8040-DB board Add the thermal support for Martvell A7K/A8K Socs Add nodes allowing cpufreq support on Aramda 3700 SoCs * tag 'mvebu-dt64-4.16-1' of git://git.infradead.org/linux-mvebu: ARM64: dts: marvell: Add thermal support for A7K/A8K arm64: dts: marvell: armada-37xx: add nodes allowing cpufreq support arm64: dts: marvell: add NAND support on the 8040-DB board Signed-off-by: Olof Johansson <olof@lixom.net>
2018-01-05Merge tag 'mvebu-dt-4.16-1' of git://git.infradead.org/linux-mvebu into next/dtOlof Johansson2-5/+10
mvebu dt for 4.16 (part 1) Fix potential dtc warnings on kirkwoods files Declare a new pin (RB) usbale for NAND controller on Armada 38x * tag 'mvebu-dt-4.16-1' of git://git.infradead.org/linux-mvebu: arm: kirkwood: dts: Use lower case for bindings notation ARM: dts: armada-38x: Add NAND RB pinctrl information Signed-off-by: Olof Johansson <olof@lixom.net>
2018-01-05Merge tag 'renesas-dt2-for-v4.16' of ↵Olof Johansson9-108/+1051
https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt Second Round of Renesas ARM Based SoC DT Updates for v4.16 * r8a7745 (RZ/G1E) SoC - Enable SMP Fabrizio Castro says "Add DT node for the Advanced Power Management Unit (APMU), add the second CPU core, and use "renesas,apmu" as "enable-method"." * r8a7743 (RZ/G1M) SoC - Add node for thermal sensor module with thermal-zone support * r8a7743 (RZ/G1M) and r8a7745 (RZ/G1E) SoCs - Add: + Renesas Core Match Timer (CMT) support + Renesas Timer Pulse Unit PWM Controller (TPU) support + Renesas PWM Timer Controller (PWM) support * r8a7743 (RZ/G1M) iW-RainboW-G20D-Qseven and r8a7745 (RZ/G1E) iW-RainboW-G22D development platforms - Add sound support * r8a7743 (RZ/G1M), r8a7745 (RZ/G1E) and r8a7792 (R-Car V2H) SoCs - Allow DTBs of boards of these SoCs to build without any warnings when compiled with W=1 using gcc-linaro-5.4.1-2017.05 + Move nodes which have no reg property out of bus, they don't belong there + Also sort sub-nodes of root node to allow for easier maintenance * r8a7790 (R-Car H2), r8a7791 (R-Car M2-W) and r8a7793 (R-Car M2-N) SoCs - Correct critical CPU temperature Chris Paterson says "The current R-Car Gen2 device trees define the CPU critical temperature as 115°C. The R-Car hardware manuals state that Tc = –40°C to +105°C. The thermal sensor has an accuracy of ±5°C and there can be a temperature difference of 1 or 2 degrees between Tjmax and the thermal sensor due to the location of the latter. This means that 95°C is a safer value to use. This value should also apply to r8a7792 but thermal sensor support has not been added yet." * r8a7740 (R-Mobile A1) SoC - Correct TPU register block size Geert Uytterhoven says "The Timer Pulse Unit has registers that lie outside the declared register block. Enlarge the register block size to fix this. This was probably based on the old platform code, which also assumed a register block size of 0x100." * tag 'renesas-dt2-for-v4.16' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: (37 commits) ARM: dts: r8a7745: Add missing clock for secondary CA7 CPU core ARM: dts: iwg22d-sodimm: Sound DMA support via DVC on DTS ARM: dts: iwg22d-sodimm: Sound DMA support via SRC on DTS ARM: dts: iwg22d-sodimm: Sound DMA support via BUSIF on DTS ARM: dts: iwg22d-sodimm: Sound DMA support on DTS ARM: dts: iwg22d-sodimm: Sound PIO support ARM: dts: iwg22d-sodimm: Enable SGTL5000 audio codec ARM: dts: r8a7745: Add sound support ARM: dts: r8a7745: Add audio DMAC support ARM: dts: r8a7745: Add audio clocks ARM: dts: r8a7740: Correct TPU register block size ARM: dts: r8a7743: move timer and thermal-zones nodes out of bus ARM: dts: r8a7743: sort root sub-nodes alphabetically ARM: dts: iwg20d-q7-common: Sound DMA support via DVC on DTS ARM: dts: iwg20d-q7-common: Sound DMA support via SRC on DTS ARM: dts: iwg20d-q7-common: Sound DMA support via BUSIF on DTS ARM: dts: iwg20d-q7-common: Sound DMA support on DTS ARM: dts: iwg20d-q7-common: Sound PIO support ARM: dts: iwg20d-q7-common: Enable SGTL5000 audio codec ARM: dts: r8a7792: move timer node out of bus ... Signed-off-by: Olof Johansson <olof@lixom.net>
2018-01-05Merge tag 'renesas-defconfig-for-v4.16' of ↵Olof Johansson2-0/+3
https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc Renesas ARM Based SoC Defconfig Updates for v4.16 shmobile_defconfig: * Enable PWM timers, which are present on R-Car and RZ/G1 platforms, as a built-in * Enable SGTL5000 audio codec, which is present on the he iWave RZ/G1M Q7 carrier board, as a built-in multi_v7_defconfig: * Enable PWM timers, which are present on R-Car and RZ/G1 platforms, as a module * tag 'renesas-defconfig-for-v4.16' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: defconfig: Enable PWM ARM: multi_v7_defconfig: Select PWM_RCAR as module ARM: shmobile: defconfig: Enable SGTL5000 audio codec Signed-off-by: Olof Johansson <olof@lixom.net>
2018-01-05Merge tag 'renesas-arm64-dt2-for-v4.16' of ↵Olof Johansson4-177/+248
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.16 * Add usb3_phy node to r8a7795 (R-Car H3) and r8a7796 (R-Car M3-W) SoCs, and enable usb3_peri0 on salvator boards * Allow DTBs of boards of r8a7795 (R-Car H3) and r8a7796 SoCs to build without any warnings when compiled with W=1 using gcc-linaro-5.4.1-2017.05 - Move nodes which have no reg property out of bus, they don't belong there - Add reg properties to dummy pciec[01] nodes - Also sort sub-nodes of root node to allow for easier maintenance * Add Add EthernetAVB PHY reset to r8a7795 (R-Car H3) and r8a7796 SoCs boards. Geert Uytterhoeven says "... add properties to describe the EthernetAVB PHY reset topology to the common Salvator-X/XS and ULCB DTS files, which solves two issues: 1. On Salvator-XS, the enable pin of the regulator providing PHY power is connected to PRESETn, and PSCI powers down the SoC during system suspend. Hence a PHY reset is needed to restore network functionality after system resume. 2. Linux should not rely on the boot loader having reset the PHY, but should reset the PHY during driver probe." * tag 'renesas-arm64-dt2-for-v4.16' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: arm64: dts: renesas: salvator-common: enable usb3_peri0 arm64: dts: renesas: salvator-common: enable usb3_phy0 node arm64: dts: renesas: r8a7796: add usb3_phy node arm64: dts: renesas: r8a7795: add usb3_phy node arm64: dts: renesas: r8a7796: add reg properties to pciec[01] nodes arm64: dts: renesas: r8a7796: move nodes which have no reg property out of bus arm64: dts: renesas: r8a7796: sort subnodes of root node alphabetically arm64: dts: renesas: r8a7795: sort subnodes of root node alphabetically arm64: dts: renesas: ulcb: Add EthernetAVB PHY reset arm64: dts: renesas: salvator-common: Add EthernetAVB PHY reset arm64: dts: renesas: r8a7795: Move nodes which have no reg property out of bus Signed-off-by: Olof Johansson <olof@lixom.net>
2018-01-05Merge tag 'actions-arm64-dt-for-4.16' of ↵Olof Johansson3-0/+217
git://git.kernel.org/pub/scm/linux/kernel/git/afaerber/linux-actions into next/dt Actions Semi arm64 based SoC DT for v4.16 This adds S700 SoC and CubieBoard7. * tag 'actions-arm64-dt-for-4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/afaerber/linux-actions: arm64: dts: actions: Add S700 and CubieBoard7 dt-bindings: power: Add Actions Semi S700 SPS dt-bindings: arm: actions: Add S700 and CubieBoard7 Signed-off-by: Olof Johansson <olof@lixom.net>
2018-01-05Merge tag 'actions-arm-dt-for-4.16' of ↵Olof Johansson2-1/+45
git://git.kernel.org/pub/scm/linux/kernel/git/afaerber/linux-actions into next/dt Actions Semi arm based SoC DT for v4.16 This adds a DT for the Allo.com Sparky SBC. * tag 'actions-arm-dt-for-4.16' of git://git.kernel.org/pub/scm/linux/kernel/git/afaerber/linux-actions: arm: dts: owl-s500: Add Sparky dt-bindings: arm: actions: Add Sparky dt-bindings: Add vendor prefix for Allo.com Signed-off-by: Olof Johansson <olof@lixom.net>
2018-01-05Merge tag 'hisi-arm64-dt-for-4.16-v2' of ↵Olof Johansson3-9/+39
git://github.com/hisilicon/linux-hisi into next/dt ARM64: DT: Hisilicon SoC DT updates for 4.16 - Add SD card support for the hi3798cv200-poplar board - Replace the PMU node with exact match for the hi3660 SoC - Add cpu capacity-dmips-mhz information for the hi3660 SoC * tag 'hisi-arm64-dt-for-4.16-v2' of git://github.com/hisilicon/linux-hisi: arm64: dts: hisilicon: Add hi3660 cpu capacity-dmips-mhz information arm64: dts: hi3660: improve pmu description arm64: dts: hi3798cv200: add SD card support Signed-off-by: Olof Johansson <olof@lixom.net>
2018-01-05Merge tag 'arm-soc/for-4.16/drivers' of http://github.com/Broadcom/stblinux ↵Olof Johansson1-2/+0
into next/drivers This pull request contains Broadcom ARM/ARM64 based SoCs drivers changes for 4.16, please pull the following: - Arnd provides an update to the Raspberry Pi firmware interface and uses time64_t to print the time to make it more future proof - Florian provides a set of updates to make the Broadcom STB Bus Interface Unit code work on newer ARM64-based chips, as well as perform the correct interface tuning for these chips to reach the expected performance * tag 'arm-soc/for-4.16/drivers' of http://github.com/Broadcom/stblinux: soc: brcmstb: biuctrl: Move to early_initcall soc: brcmstb: Split initialization soc: brcmstb: biuctrl: Fine tune B53 MCP interface settings soc: brcmstb: biuctrl: Wire-up new registers soc: brcmstb: biuctrl: Prepare for saving/restoring other registers soc: brcmstb: Correct CPU_CREDIT_REG offset for Brahma-B53 CPUs soc: brcmstb: Make CPU credit offset more parameterized dt-bindings: arm: brcmstb: Correct BIUCTRL node documentation dt-bindings: arm: Add entry for Broadcom Brahma-B53 firmware: raspberrypi: print time using time64_t Signed-off-by: Olof Johansson <olof@lixom.net>
2018-01-05Merge tag 'arm-soc/for-4.16/devicetree' of ↵Olof Johansson7-10/+10
http://github.com/Broadcom/stblinux into next/dt This pull request contains Broadcom ARM-based SoCs Device Tree changes for 4.16, please pull the following: - Stefan updates the BCM283x DTS to make consistent use of the existing GPIO defines for the polarity specifier * tag 'arm-soc/for-4.16/devicetree' of http://github.com/Broadcom/stblinux: ARM: dts: bcm283x: Use GPIO polarity defines consistently Signed-off-by: Olof Johansson <olof@lixom.net>
2018-01-05kernel/exit.c: export abort() to modulesAndrew Morton3-3/+0
gcc -fisolate-erroneous-paths-dereference can generate calls to abort() from modular code too. [arnd@arndb.de: drop duplicate exports of abort()] Link: http://lkml.kernel.org/r/20180102103311.706364-1-arnd@arndb.de Reported-by: Vineet Gupta <Vineet.Gupta1@synopsys.com> Cc: Sudip Mukherjee <sudipm.mukherjee@gmail.com> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Alexey Brodkin <Alexey.Brodkin@synopsys.com> Cc: Russell King <rmk+kernel@armlinux.org.uk> Cc: Jose Abreu <Jose.Abreu@synopsys.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2018-01-05x86/tlb: Drop the _GPL from the cpu_tlbstate exportThomas Gleixner1-1/+1
The recent changes for PTI touch cpu_tlbstate from various tlb_flush inlines. cpu_tlbstate is exported as GPL symbol, so this causes a regression when building out of tree drivers for certain graphics cards. Aside of that the export was wrong since it was introduced as it should have been EXPORT_PER_CPU_SYMBOL_GPL(). Use the correct PER_CPU export and drop the _GPL to restore the previous state which allows users to utilize the cards they payed for. As always I'm really thrilled to make this kind of change to support the #friends (or however the hot hashtag of today is spelled) from that closet sauce graphics corp. Fixes: 1e02ce4cccdc ("x86: Store a per-cpu shadow copy of CR4") Fixes: 6fd166aae78c ("x86/mm: Use/Fix PCID to optimize user/kernel switches") Reported-by: Kees Cook <keescook@google.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Andy Lutomirski <luto@kernel.org> Cc: stable@vger.kernel.org
2018-01-05x86/events/intel/ds: Use the proper cache flush method for mapping ds buffersPeter Zijlstra1-0/+16
Thomas reported the following warning: BUG: using smp_processor_id() in preemptible [00000000] code: ovsdb-server/4498 caller is native_flush_tlb_single+0x57/0xc0 native_flush_tlb_single+0x57/0xc0 __set_pte_vaddr+0x2d/0x40 set_pte_vaddr+0x2f/0x40 cea_set_pte+0x30/0x40 ds_update_cea.constprop.4+0x4d/0x70 reserve_ds_buffers+0x159/0x410 x86_reserve_hardware+0x150/0x160 x86_pmu_event_init+0x3e/0x1f0 perf_try_init_event+0x69/0x80 perf_event_alloc+0x652/0x740 SyS_perf_event_open+0x3f6/0xd60 do_syscall_64+0x5c/0x190 set_pte_vaddr is used to map the ds buffers into the cpu entry area, but there are two problems with that: 1) The resulting flush is not supposed to be called in preemptible context 2) The cpu entry area is supposed to be per CPU, but the debug store buffers are mapped for all CPUs so these mappings need to be flushed globally. Add the necessary preemption protection across the mapping code and flush TLBs globally. Fixes: c1961a4631da ("x86/events/intel/ds: Map debug buffers in cpu_entry_area") Reported-by: Thomas Zeitlhofer <thomas.zeitlhofer+lkml@ze-it.at> Signed-off-by: Peter Zijlstra <peterz@infradead.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Tested-by: Thomas Zeitlhofer <thomas.zeitlhofer+lkml@ze-it.at> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: Hugh Dickins <hughd@google.com> Cc: stable@vger.kernel.org Link: https://lkml.kernel.org/r/20180104170712.GB3040@hirez.programming.kicks-ass.net
2018-01-05x86/kaslr: Fix the vaddr_end messThomas Gleixner2-24/+16
vaddr_end for KASLR is only documented in the KASLR code itself and is adjusted depending on config options. So it's not surprising that a change of the memory layout causes KASLR to have the wrong vaddr_end. This can map arbitrary stuff into other areas causing hard to understand problems. Remove the whole ifdef magic and define the start of the cpu_entry_area to be the end of the KASLR vaddr range. Add documentation to that effect. Fixes: 92a0f81d8957 ("x86/cpu_entry_area: Move it out of the fixmap") Reported-by: Benjamin Gilbert <benjamin.gilbert@coreos.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Tested-by: Benjamin Gilbert <benjamin.gilbert@coreos.com> Cc: Andy Lutomirski <luto@kernel.org> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: stable <stable@vger.kernel.org> Cc: Dave Hansen <dave.hansen@linux.intel.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Garnier <thgarnie@google.com>, Cc: Alexander Kuleshov <kuleshovmail@gmail.com> Link: https://lkml.kernel.org/r/alpine.DEB.2.20.1801041320360.1771@nanos
2018-01-05arm64: dts: sprd: remove broken header inclusionArnd Bergmann1-1/+0
The added header inclusion broke the 'allmodconfig' build in arm-soc, presumably since the file is added in a different tree: In file included from arch/arm64/boot/dts/sprd/sp9860g-1h10.dts:11:0: arch/arm64/boot/dts/sprd/sc9860.dtsi:10:10: fatal error: dt-bindings/clock/sprd,sc9860-clk.h: No such file or directory It turns out we don't actually need to include it at all, so I'm removing the line again to fix the build. Fixes: 22f37a242925 ("arm64: dts: add clocks for SC9860") Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-01-05x86/mm: Map cpu_entry_area at the same place on 4/5 levelThomas Gleixner2-3/+3
There is no reason for 4 and 5 level pagetables to have a different layout. It just makes determining vaddr_end for KASLR harder than necessary. Fixes: 92a0f81d8957 ("x86/cpu_entry_area: Move it out of the fixmap") Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Andy Lutomirski <luto@kernel.org> Cc: Benjamin Gilbert <benjamin.gilbert@coreos.com> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: stable <stable@vger.kernel.org> Cc: Dave Hansen <dave.hansen@linux.intel.com> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Garnier <thgarnie@google.com>, Cc: Alexander Kuleshov <kuleshovmail@gmail.com> Link: https://lkml.kernel.org/r/alpine.DEB.2.20.1801041320360.1771@nanos
2018-01-05x86/mm: Set MODULES_END to 0xffffffffff000000Andrey Ryabinin1-1/+1
Since f06bdd4001c2 ("x86/mm: Adapt MODULES_END based on fixmap section size") kasan_mem_to_shadow(MODULES_END) could be not aligned to a page boundary. So passing page unaligned address to kasan_populate_zero_shadow() have two possible effects: 1) It may leave one page hole in supposed to be populated area. After commit 21506525fb8d ("x86/kasan/64: Teach KASAN about the cpu_entry_area") that hole happens to be in the shadow covering fixmap area and leads to crash: BUG: unable to handle kernel paging request at fffffbffffe8ee04 RIP: 0010:check_memory_region+0x5c/0x190 Call Trace: <NMI> memcpy+0x1f/0x50 ghes_copy_tofrom_phys+0xab/0x180 ghes_read_estatus+0xfb/0x280 ghes_notify_nmi+0x2b2/0x410 nmi_handle+0x115/0x2c0 default_do_nmi+0x57/0x110 do_nmi+0xf8/0x150 end_repeat_nmi+0x1a/0x1e Note, the crash likely disappeared after commit 92a0f81d8957, which changed kasan_populate_zero_shadow() call the way it was before commit 21506525fb8d. 2) Attempt to load module near MODULES_END will fail, because __vmalloc_node_range() called from kasan_module_alloc() will hit the WARN_ON(!pte_none(*pte)) in the vmap_pte_range() and bail out with error. To fix this we need to make kasan_mem_to_shadow(MODULES_END) page aligned which means that MODULES_END should be 8*PAGE_SIZE aligned. The whole point of commit f06bdd4001c2 was to move MODULES_END down if NR_CPUS is big, so the cpu_entry_area takes a lot of space. But since 92a0f81d8957 ("x86/cpu_entry_area: Move it out of the fixmap") the cpu_entry_area is no longer in fixmap, so we could just set MODULES_END to a fixed 8*PAGE_SIZE aligned address. Fixes: f06bdd4001c2 ("x86/mm: Adapt MODULES_END based on fixmap section size") Reported-by: Jakub Kicinski <kubakici@wp.pl> Signed-off-by: Andrey Ryabinin <aryabinin@virtuozzo.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: stable@vger.kernel.org Cc: Andy Lutomirski <luto@kernel.org> Cc: Thomas Garnier <thgarnie@google.com> Link: https://lkml.kernel.org/r/20171228160620.23818-1-aryabinin@virtuozzo.com
2018-01-04ARM: dts: sun8i: a83t: Add LVDS pins groupMaxime Ripard1-0/+6
The A83T has an LVDS bus that can be connected to a panel or a bridge. Add the pinctrl group for it. Reviewed-by: Chen-Yu Tsai <wens@csie.org> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2018-01-04ARM: dts: sun8i: a83t: Enable the PWMMaxime Ripard1-0/+14
The A83T has the same PWM block than the H3. Add it to our DT. Reviewed-by: Chen-Yu Tsai <wens@csie.org> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2018-01-04ARM: dts: sun8i: a83t: Add display pipelineMaxime Ripard1-0/+79
The display pipeline on the A83T is mainly composed of the mixers and TCONs, plus various encoders. Let's add the first mixer and TCON to the DTSI since the only board I have can use only the LVDS output on the first TCON. The other parts will be added eventually. Reviewed-by: Chen-Yu Tsai <wens@csie.org> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2018-01-04Merge tag 'armsoc-fixes' of ↵Linus Torvalds26-54/+53
git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc Pull ARM SoC fixes from Arnd Bergmann: "Fixes this time include mostly device tree changes, as usual, the notable ones include: - A number of patches to fix most of the remaining DTC warnings that got introduced when DTC started warning about some obvious mistakes. We still have some remaining warnings that probably may have to wait until 4.16 to get fixed while we try to figure out what the correct contents should be. - On Allwinner A64, Ethernet PHYs need a fix after a mistake in coordination between patches merged through multiple branches. - Various fixes for PMICs on allwinner based boards - Two fixes for ethernet link detection on some Renesas machines - Two stability fixes for rockchip based boards Aside from device-tree, two other areas got fixes for older problems: - For TI Davinci DM365, a couple of fixes were needed to repair the MMC DMA engine support, apparently this has been broken for a while. - One important fix for all Allwinner chips with the PMIC driver as a loadable module" * tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (23 commits) arm64: dts: uniphier: fix gpio-ranges property of PXs3 SoC arm64: dts: renesas: ulcb: Remove renesas, no-ether-link property arm64: dts: renesas: salvator-x: Remove renesas, no-ether-link property ARM: dts: tango4: remove bogus interrupt-controller property ARM: dts: ls1021a: fix incorrect clock references ARM: dts: aspeed-g4: Correct VUART IRQ number ARM: dts: exynos: Enable Mixer node for Exynos5800 Peach Pi machine ARM: dts: sun8i: a711: Reinstate the PMIC compatible ARM: davinci: fix mmc entries in dm365's dma_slave_map ARM: dts: da850-lego-ev3: Fix battery voltage gpio ARM: davinci: Add dma_mask to dm365's eDMA device ARM: davinci: Use platform_device_register_full() to create pdev for dm365's eDMA arm64: dts: rockchip: limit rk3328-rock64 gmac speed to 100MBit for now arm64: dts: rockchip: remove vdd_log from rk3399-puma arm64: dts: orange-pi-zero-plus2: fix sdcard detect arm64: allwinner: a64-sopine: Fix to use dcdc1 regulator instead of vcc3v3 ARM: dts: sunxi: Convert to CCU index macros for HDMI controller sunxi-rsb: Include OF based modalias in device uevent ARM: dts: at91: disable the nxp,se97b SMBUS timeout on the TSE-850 arm64: dts: rockchip: fix trailing 0 in rk3328 tsadc interrupts ...
2018-01-04Merge tag 'gemini-dts-update-2' of ↵Arnd Bergmann3-3/+108
ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik into next/dt Pull "A second set of Gemini DTS updates for v4.16" from Linus Walleij: - Use Open Drain flags properly for emulated I2C - Add the PCI bus to WBD111 and WBD222 - Enable the TVE and panel on DIR-685; the panel driver and bindings have been merged into the DRI subsystem. * tag 'gemini-dts-update-2' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik: ARM: dts: Add TVE/TVC and ILI9322 panel to DIR-685 ARM: dts: Add PCI to WBD111 and WBD222 ARM: dts: Flags D-Link DIR-685 I2C bus gpios
2018-01-04arm64: dts: add clocks for SC9860Chunyan Zhang2-2/+131
Some clocks on SC9860 are in the same address area with syscon devices, those are what have a property of 'sprd,syscon' which would refer to syscon devices, others would have a reg property indicated their address ranges. Signed-off-by: Chunyan Zhang <chunyan.zhang@spreadtrum.com> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-01-04arm64: dts: add syscon for whale2 platformChunyan Zhang1-1/+45
Some clocks on SC9860 are in the same address area with syscon devices, the proper syscon node will be quoted under the definitions of those clocks in DT. Signed-off-by: Chunyan Zhang <chunyan.zhang@spreadtrum.com> Signed-off-by: Arnd Bergmann <arnd@arndb.de>