summaryrefslogtreecommitdiff
path: root/arch/arm64
AgeCommit message (Collapse)Author
2017-11-02License cleanup: add SPDX GPL-2.0 license identifier to files with no licenseGreg Kroah-Hartman
Many source files in the tree are missing licensing information, which makes it harder for compliance tools to determine the correct license. By default all files without license information are under the default license of the kernel, which is GPL version 2. Update the files which contain no license information with the 'GPL-2.0' SPDX license identifier. The SPDX identifier is a legally binding shorthand, which can be used instead of the full boiler plate text. This patch is based on work done by Thomas Gleixner and Kate Stewart and Philippe Ombredanne. How this work was done: Patches were generated and checked against linux-4.14-rc6 for a subset of the use cases: - file had no licensing information it it. - file was a */uapi/* one with no licensing information in it, - file was a */uapi/* one with existing licensing information, Further patches will be generated in subsequent months to fix up cases where non-standard license headers were used, and references to license had to be inferred by heuristics based on keywords. The analysis to determine which SPDX License Identifier to be applied to a file was done in a spreadsheet of side by side results from of the output of two independent scanners (ScanCode & Windriver) producing SPDX tag:value files created by Philippe Ombredanne. Philippe prepared the base worksheet, and did an initial spot review of a few 1000 files. The 4.13 kernel was the starting point of the analysis with 60,537 files assessed. Kate Stewart did a file by file comparison of the scanner results in the spreadsheet to determine which SPDX license identifier(s) to be applied to the file. She confirmed any determination that was not immediately clear with lawyers working with the Linux Foundation. Criteria used to select files for SPDX license identifier tagging was: - Files considered eligible had to be source code files. - Make and config files were included as candidates if they contained >5 lines of source - File already had some variant of a license header in it (even if <5 lines). All documentation files were explicitly excluded. The following heuristics were used to determine which SPDX license identifiers to apply. - when both scanners couldn't find any license traces, file was considered to have no license information in it, and the top level COPYING file license applied. For non */uapi/* files that summary was: SPDX license identifier # files ---------------------------------------------------|------- GPL-2.0 11139 and resulted in the first patch in this series. If that file was a */uapi/* path one, it was "GPL-2.0 WITH Linux-syscall-note" otherwise it was "GPL-2.0". Results of that was: SPDX license identifier # files ---------------------------------------------------|------- GPL-2.0 WITH Linux-syscall-note 930 and resulted in the second patch in this series. - if a file had some form of licensing information in it, and was one of the */uapi/* ones, it was denoted with the Linux-syscall-note if any GPL family license was found in the file or had no licensing in it (per prior point). Results summary: SPDX license identifier # files ---------------------------------------------------|------ GPL-2.0 WITH Linux-syscall-note 270 GPL-2.0+ WITH Linux-syscall-note 169 ((GPL-2.0 WITH Linux-syscall-note) OR BSD-2-Clause) 21 ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) 17 LGPL-2.1+ WITH Linux-syscall-note 15 GPL-1.0+ WITH Linux-syscall-note 14 ((GPL-2.0+ WITH Linux-syscall-note) OR BSD-3-Clause) 5 LGPL-2.0+ WITH Linux-syscall-note 4 LGPL-2.1 WITH Linux-syscall-note 3 ((GPL-2.0 WITH Linux-syscall-note) OR MIT) 3 ((GPL-2.0 WITH Linux-syscall-note) AND MIT) 1 and that resulted in the third patch in this series. - when the two scanners agreed on the detected license(s), that became the concluded license(s). - when there was disagreement between the two scanners (one detected a license but the other didn't, or they both detected different licenses) a manual inspection of the file occurred. - In most cases a manual inspection of the information in the file resulted in a clear resolution of the license that should apply (and which scanner probably needed to revisit its heuristics). - When it was not immediately clear, the license identifier was confirmed with lawyers working with the Linux Foundation. - If there was any question as to the appropriate license identifier, the file was flagged for further research and to be revisited later in time. In total, over 70 hours of logged manual review was done on the spreadsheet to determine the SPDX license identifiers to apply to the source files by Kate, Philippe, Thomas and, in some cases, confirmation by lawyers working with the Linux Foundation. Kate also obtained a third independent scan of the 4.13 code base from FOSSology, and compared selected files where the other two scanners disagreed against that SPDX file, to see if there was new insights. The Windriver scanner is based on an older version of FOSSology in part, so they are related. Thomas did random spot checks in about 500 files from the spreadsheets for the uapi headers and agreed with SPDX license identifier in the files he inspected. For the non-uapi files Thomas did random spot checks in about 15000 files. In initial set of patches against 4.14-rc6, 3 files were found to have copy/paste license identifier errors, and have been fixed to reflect the correct identifier. Additionally Philippe spent 10 hours this week doing a detailed manual inspection and review of the 12,461 patched files from the initial patch version early this week with: - a full scancode scan run, collecting the matched texts, detected license ids and scores - reviewing anything where there was a license detected (about 500+ files) to ensure that the applied SPDX license was correct - reviewing anything where there was no detection but the patch license was not GPL-2.0 WITH Linux-syscall-note to ensure that the applied SPDX license was correct This produced a worksheet with 20 files needing minor correction. This worksheet was then exported into 3 different .csv files for the different types of files to be modified. These .csv files were then reviewed by Greg. Thomas wrote a script to parse the csv files and add the proper SPDX tag to the file, in the format that the file expected. This script was further refined by Greg based on the output to detect more types of files automatically and to distinguish between header and source .c files (which need different comment types.) Finally Greg ran the script using the .csv files to generate the patches. Reviewed-by: Kate Stewart <kstewart@linuxfoundation.org> Reviewed-by: Philippe Ombredanne <pombredanne@nexb.com> Reviewed-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-11-02arm64: dts: allwinner: H5: Restore EMAC changesCorentin Labbe
The original dwmac-sun8i DT bindings have some issue on how to handle integrated PHY and was reverted in last RC of 4.13. But now we have a solution so we need to get back that was reverted. This patch restore arm64 DT about dwmac-sun8i for H5 This reverts a part of commit 87e1f5e8bb4b ("arm64: dts: allwinner: Revert EMAC changes") Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> Acked-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-10-31arm64: dts: allwinner: add snps,dwmac-mdio compatible to emac/mdioCorentin Labbe
stmmac bindings docs said that its mdio node must have compatible = "snps,dwmac-mdio"; Since dwmac-sun8i does not have any good reasons to not doing it, all their MDIO node must have it. Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> Acked-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-10-31arm64: dts: allwinner: A64: Restore EMAC changesCorentin Labbe
The original dwmac-sun8i DT bindings have some issue on how to handle integrated PHY and was reverted in last RC of 4.13. But now we have a solution so we need to get back that was reverted. This patch restore arm64 DT about dwmac-sun8i for A64 This reverts commit 87e1f5e8bb4b ("arm64: dts: allwinner: Revert EMAC changes") Signed-off-by: Corentin Labbe <clabbe.montjoie@gmail.com> Acked-by: Florian Fainelli <f.fainelli@gmail.com> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
2017-10-31arm64: vdso: fix clock_getres for 4GiB-aligned resMark Rutland
The vdso tries to check for a NULL res pointer in __kernel_clock_getres, but only checks the lower 32 bits as is uses CBZ on the W register the res pointer is held in. Thus, if the res pointer happened to be aligned to a 4GiB boundary, we'd spuriously skip storing the timespec to it, while returning a zero error code to the caller. Prevent this by checking the whole pointer, using CBZ on the X register the res pointer is held in. Fixes: 9031fefde6f2ac1d ("arm64: VDSO support") Signed-off-by: Mark Rutland <mark.rutland@arm.com> Reported-by: Andrew Pinski <apinski@cavium.com> Reported-by: Mark Salyzyn <salyzyn@android.com> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Will Deacon <will.deacon@arm.com> Signed-off-by: Will Deacon <will.deacon@arm.com>
2017-10-30arm64: dts: marvell: armada-3720-espressobin: fill UART nodesMiquel Raynal
Fill ESPRESSObin uart0 node with pinctrl information like in the Armada-3720-DB device tree (which uses the same node). Also explain how to enable the second UART port available on the headers. This second port is not enabled by default because both headers are dedicated to expose general purpose pins and remapping some of them to use the second UART would break existing users. Suggested-by: László ÁSHIN <laszlo@ashin.hu> Signed-off-by: Miquel Raynal <miquel.raynal@free-electrons.com> Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2017-10-30arm64: dts: marvell: armada-3720-db: enable second UART portMiquel Raynal
Enable Armada-3720-DB second UART port by adding the corresponding device tree node in the board DTS and enabling it. Signed-off-by: Miquel Raynal <miquel.raynal@free-electrons.com> Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com> Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2017-10-30arm64: dts: marvell: armada-37xx: add second UART portMiquel Raynal
Add a node in Armada 37xx DTSI file for the second UART, with a different compatible due to its extended IP which has some differences with the first UART already in place. Make use of this commit to also fully describe the first port and use the same clear and named interrupt bindings for both ports. The standard UART (UART0) uses level-interrupts while the extended UART (UART1) uses edge-triggered interrupts. Signed-off-by: Miquel Raynal <miquel.raynal@free-electrons.com> Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com> Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2017-10-30arm64: dts: marvell: armada-37xx: add UART clockMiquel Raynal
Add the missing clock property to armada-3700 UART node. This clock will be used to derive the prescaler value to comply with the requested baudrate. Signed-off-by: Miquel Raynal <miquel.raynal@free-electrons.com> Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com> Signed-off-by: Gregory CLEMENT <gregory.clement@free-electrons.com>
2017-10-30arm64: prevent regressions in compressed kernel image size when upgrading to ↵Nick Desaulniers
binutils 2.27 Upon upgrading to binutils 2.27, we found that our lz4 and gzip compressed kernel images were significantly larger, resulting is 10ms boot time regressions. As noted by Rahul: "aarch64 binaries uses RELA relocations, where each relocation entry includes an addend value. This is similar to x86_64. On x86_64, the addend values are also stored at the relocation offset for relative relocations. This is an optimization: in the case where code does not need to be relocated, the loader can simply skip processing relative relocations. In binutils-2.25, both bfd and gold linkers did this for x86_64, but only the gold linker did this for aarch64. The kernel build here is using the bfd linker, which stored zeroes at the relocation offsets for relative relocations. Since a set of zeroes compresses better than a set of non-zero addend values, this behavior was resulting in much better lz4 compression. The bfd linker in binutils-2.27 is now storing the actual addend values at the relocation offsets. The behavior is now consistent with what it does for x86_64 and what gold linker does for both architectures. The change happened in this upstream commit: https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=1f56df9d0d5ad89806c24e71f296576d82344613 Since a bunch of zeroes got replaced by non-zero addend values, we see the side effect of lz4 compressed image being a bit bigger. To get the old behavior from the bfd linker, "--no-apply-dynamic-relocs" flag can be used: $ LDFLAGS="--no-apply-dynamic-relocs" make With this flag, the compressed image size is back to what it was with binutils-2.25. If the kernel is using ASLR, there aren't additional runtime costs to --no-apply-dynamic-relocs, as the relocations will need to be applied again anyway after the kernel is relocated to a random address. If the kernel is not using ASLR, then presumably the current default behavior of the linker is better. Since the static linker performed the dynamic relocs, and the kernel is not moved to a different address at load time, it can skip applying the relocations all over again." Some measurements: $ ld -v GNU ld (binutils-2.25-f3d35cf6) 2.25.51.20141117 ^ $ ls -l vmlinux -rwxr-x--- 1 ndesaulniers eng 300652760 Oct 26 11:57 vmlinux $ ls -l Image.lz4-dtb -rw-r----- 1 ndesaulniers eng 16932627 Oct 26 11:57 Image.lz4-dtb $ ld -v GNU ld (binutils-2.27-53dd00a1) 2.27.0.20170315 ^ pre patch: $ ls -l vmlinux -rwxr-x--- 1 ndesaulniers eng 300376208 Oct 26 11:43 vmlinux $ ls -l Image.lz4-dtb -rw-r----- 1 ndesaulniers eng 18159474 Oct 26 11:43 Image.lz4-dtb post patch: $ ls -l vmlinux -rwxr-x--- 1 ndesaulniers eng 300376208 Oct 26 12:06 vmlinux $ ls -l Image.lz4-dtb -rw-r----- 1 ndesaulniers eng 16932466 Oct 26 12:06 Image.lz4-dtb By Siqi's measurement w/ gzip: binutils 2.27 with this patch (with --no-apply-dynamic-relocs): Image 41535488 Image.gz 13404067 binutils 2.27 without this patch (without --no-apply-dynamic-relocs): Image 41535488 Image.gz 14125516 Any compression scheme should be able to get better results from the longer runs of zeros, not just GZIP and LZ4. 10ms boot time savings isn't anything to get excited about, but users of arm64+compression+bfd-2.27 should not have to pay a penalty for no runtime improvement. Reported-by: Gopinath Elanchezhian <gelanchezhian@google.com> Reported-by: Sindhuri Pentyala <spentyala@google.com> Reported-by: Wei Wang <wvw@google.com> Suggested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Suggested-by: Rahul Chaudhry <rahulchaudhry@google.com> Suggested-by: Siqi Lin <siqilin@google.com> Suggested-by: Stephen Hines <srhines@google.com> Signed-off-by: Nick Desaulniers <ndesaulniers@google.com> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> [will: added comment to Makefile] Signed-off-by: Will Deacon <will.deacon@arm.com>
2017-10-30arm64: defconfig: enable CONFIG_GPIO_UNIPHIERMasahiro Yamada
Enable the GPIO controller driver used for UniPhier SoC family. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2017-10-30Merge tag 'amlogic-dt64-2' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic into next/dt Pull "Amlogic 64-bit DT updates for v4.15, round 2" from Kevin Hilman: - add support for new GPIO IRQ driver * tag 'amlogic-dt64-2' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic: ARM64: dts: meson-gx: add external PHY interrupt on some platforms ARM64: dts: meson-gx: add gpio interrupt controller ARM64: meson: enable MESON_IRQ_GPIO in Kconfig ARM64: dts: meson-gxbb-odroidc2: fix usb1 power supply
2017-10-30Merge tag 'imx-dt64-4.15' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into next/dt Pull "Freescale arm64 device tree updates for 4.15" from Shawn Guo: - Add GICv3 ITS node and PCIe devcies for LS1088A support. - Enable PCIe support for LS2088A SoC. - Add OP-TEE support for various Layerscape SoCs, LS1012A, LS1043A, LS1046A, LS1088A and LS208XA. - Update DPAA QBMan nodes to use constant defines in the interrupt description. - Add DSPI device to support SPI-NOR on LS1012A based boards. * tag 'imx-dt64-4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: arm64: dts: update the DPAA QBMan nodes arm64: dts: ls1088a: add PCIe controller DT nodes arm64: dts: ls1088a: add gicv3 ITS DT node arm64: dts: ls2088a: add pcie support arm64: dts: ls: Add optee node dt-bindings: mtd: add sst25wf040b and en25s64 to sip-nor list dt-bindings: spi: Add fsl,ls1012a-dspi compatible string arm64: dts: ls1012a: add the DTS node for DSPI support
2017-10-30Merge tag 'v4.14-next-dts64' of https://github.com/mbgg/linux-mediatek into ↵Arnd Bergmann
next/dt Pull "Mediatek: 64-bit DT update for v4.15" from Matthias Brugger: - mt2712: add cpuidle support * tag 'v4.14-next-dts64' of https://github.com/mbgg/linux-mediatek: arm64: dts: mediatek: Add cpuidle support for MT2712
2017-10-30Merge tag 'amlogic-dt64' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic into next/dt Pull "Amlogic 64-bit platforms: DT updates for v4.15" from Kevin Hilman: - new SoC support: A113D - new boards: Tronsmart Vega S96, Khadas vim2 - reserved memory fixups - gpio-names cleanups - MMC cleanups, enable high-speed modes - misc cleanups * tag 'amlogic-dt64' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-amlogic: arm64: dts: meson-axg: add initial A113D SoC DT support dt-bindings: arm: amlogic: Add Meson AXG binding ARM64: dts: meson-gx: remove unnecessary uart compatible ARM64: dts: meson-gx: remove unnecessary clocks properties ARM64: dts: meson-gxl: Add alternate ARM Trusted Firmware reserved memory zone ARM64: dts: meson-gxm: enable HS400 on the vim2 ARM64: dts: meson-gxbb-nexbox-a95x: Enable USB Nodes dt-bindings: arm: amlogic: Add Tronsmart Vega S96 binding ARM64: dts: meson-gxm: Add Vega S96 board ARM64: dts: meson-gxm: Add support for Khadas VIM2 ARM64: dts: meson-gxl: Take eMMC data strobe out of eMMC pins ARM64: dts: meson-gxl: adjust libretech-cc gpio-line-names ARM64: dts: meson-gxl: adjust kvim gpio-line-names ARM64: dts: meson-gxbb: adjust odroid-c2 gpio-line-names ARM64: dts: meson-gxbb: adjust nanopi-k2 gpio-line-names ARM64: dts: meson-gx: adjust gpio-ranges for TEST_N ARM64: dts: meson-gx: remove gpio offset ARM: dts: meson8: remove gpio offset ARM64: dts: meson-gxl-libretech-cc: enable internal phy leds ARM64: dts: meson-gxl-libretech-cc: enable saradc
2017-10-30Merge tag 'mvebu-dt64-4.15-1' of git://git.infradead.org/linux-mvebu into ↵Arnd Bergmann
next/dt Pull "mvebu dt64 for 4.15 (part 1)" from Gregory CLEMENT: On Armada 7K/8k: - Improve network support at SoC and board level - Enable watchdog - Add UART muxing - On 7040 DB: add CD SDIO and NAND support - On 8040 DB: add PCIE more ports and SPI1 On Armada 37xx: - Fix UART register size - Add vmmc regulator for SD on 3720 DB * tag 'mvebu-dt64-4.15-1' of git://git.infradead.org/linux-mvebu: arm64: dts: marvell: 7040-db: Add the carrier detect pin for SD card on CP arm64: dts: marvell: 7040-db: Document the gpio expander arm64: dts: marvell: enable additional PCIe ports on Armada 8040 DB arm64: dts: marvell: add NAND support on the 7040-DB board arm64: dts: marvell: Enable Armada-8040-DB CPS SPI1 arm64: dts: marvell: 8040-db: enable the SFP ports arm64: dts: marvell: 7040-db: enable the SFP port arm64: dts: marvell: 7040-db: add comphy reference to Ethernet port arm64: dts: marvell: mcbin: add comphy references to Ethernet ports arm64: dts: marvell: 37xx: remove empty line arm64: dts: marvell: cp110: add PPv2 port interrupts arm64: dts: marvell: add comphy nodes on cp110 master and slave arm64: dts: marvell: extend the cp110 syscon register area length arm64: dts: marvell: enable AP806 watchdog arm64: dts: marvell: Fix A37xx UART0 register size arm64: dts: marvell: armada-3720-db: Add vmmc regulator for SD slot arm64: dts: marvell: add UART muxing on Armada 7K/8K
2017-10-30Merge tag 'tegra-for-4.15-arm64-dt' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/dt Pull "arm64: tegra: Device tree changes for v4.15-rc1" from Thierry Reding: Enables host1x, VIC, PCIe and the BPMP thermal sensor on Tegra186. * tag 'tegra-for-4.15-arm64-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: arm64: tegra: Add BPMP thermal sensor to Tegra186 arm64: tegra: Enable PCIe on Jetson TX2 arm64: tegra: Add PCIe node for Tegra186 arm64: tegra: Add VIC on Tegra186 arm64: tegra: Add host1x on Tegra186 arm64: tegra: Add #power-domain-cells for BPMP
2017-10-30Merge tag 'renesas-arm64-dt2-for-v4.15' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt Pull "Second Round of Renesas ARM64 Based SoC DT Updates for v4.15" from Simon Horman: * r8a7795 (H3) and r8a7796 (M3-W) SoCs - Use R-Car Gen 3 fallback compat string for GPIO Simon Horman says "Use newly added R-Car GPIO Gen 1, 2 and 3 fallback compat strings in peace of now deprecated non-generation specific R-Car GPIO fallback compat string in the DT of Renesas ARM and arm64 based SoCs. * r8a7795 (H3) and r8a7796 (M3-W) Salvator boards - Add dr_mode property for USB2.0 channel 0 Shimoda-san says "Since Salvator-X[S] have a USB2.0 dual-role channel (CN9), this patch adds dr_mode property for USB2.0 channel 0 (EHCI/OHCI and HS-USB) as "otg". Using dual-role channel (or not) is related to the type of USB receptor on board specification. So, I added the property into the salvator-common.dtsi." - Add pfc node for USB3.0 channel 0 Shimoda-san says "Since a R-Car Gen3 bootloader enables the PFC of USB3.0 channel 0, the USB3.0 host controller works without this setting on the kernel. But, this setting should have salvator-common.dtsi. So, this patch adds the pfc node for USB3.0 channel 0." * r8a7795 (H3) and r8a7796 (M3-W) Salvator and ULCB boards - Correct audio_clkout Morimoto-san says ""audio_clkout" is dummy clock of <&rcar_sound 0> to avoid clock loop which invites probe conflct. Thus <&rcar_sound 0> and "audio_clkout" should be same value." * r8a7795 (H3) and r8a7796 (M3-W) Salvator and ULCB, and r8a77995 (D3) Draak boards - Drop "avb_phy_int" from avb_pins Shimoda-san says "Since the Ethernet AVB driver doesn't support AVB_PHY_INT handling and it will be handled by a phy driver as a gpio pin, this patch removes the "avb_phy_int" from the avb_pins node." * r8a77995 (D3) Draak board - Enable PWM channels Shimoda-san says "Each channel connects to LTC2644 for brightness control." * r8a77970 (V3M) Eagle and ULCB Kingfisher boards - Add initial device tree support * tag 'renesas-arm64-dt2-for-v4.15' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: (31 commits) arm64: dts: renesas: salvator-common: add dr_mode property for USB2.0 channel 0 arm64: dts: r8a7796: Use R-Car GPIO Gen3 fallback compat string arm64: dts: r8a7795: Use R-Car GPIO Gen3 fallback compat string arm64: renesas: ulcb: fixup audio_clkout arm64: renesas: salvator-common: fixup audio_clkout arm64: dts: renesas: eagle: add EtherAVB support arm64: dts: r8a77995: Add INTC-EX device node arm64: dts: r8a77970: Add INTC-EX device node arm64: dts: r8a7796: Add INTC-EX device node arm64: dts: ulcb-kf: hog USB3 hub control gpios arm64: dts: ulcb-kf: enable PCA9548 on I2C4 arm64: dts: ulcb-kf: enable PCA9548 on I2C2 arm64: dts: ulcb-kf: enable TCA9539 on I2C4 arm64: dts: ulcb-kf: enable TCA9539 on I2C2 arm64: dts: ulcb-kf: enable USB3.0 Host arm64: dts: ulcb-kf: enable PCIE0/1 arm64: dts: ulcb-kf: enable USB2.0 Host channel 0 arm64: dts: ulcb-kf: enable HSUSB arm64: dts: ulcb-kf: enable CAN0/1 arm64: dts: ulcb-kf: enable SCIF1 ...
2017-10-30Merge tag 'uniphier-dt64-v4.15' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-uniphier into next/dt Pull "UniPhier ARM64 SoC DT updates for v4.15" from Masahiro Yamada: - add thermal monitor and thermal zone nodes - add efuse nodes - fix W=2 warnings - add GPIO controller nodes and related properties - add resets properties * tag 'uniphier-dt64-v4.15' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-uniphier: arm64: dts: uniphier: add resets properties arm64: dts: uniphier: add eMMC hardware reset provider node arm64: dts: uniphier: add GPIO hog definition arm64: dts: uniphier: route on-board device IRQ to GPIO controller arm64: dts: uniphier: add GPIO controller nodes arm64: dts: uniphier: fix W=2 build warnings arm64: dts: uniphier: enable NAND for PXs3 reference board arm64: dts: uniphier: add efuse node for LD11, LD20, and PXs3 arm64: dts: uniphier: add nodes of thermal monitor and thermal zone for LD20
2017-10-30Merge tag 'sunxi-dt64-for-4.15' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into next/dt Pull "Allwinner arm64 DT changes for 4.15" from Maxime Ripard: Most notable changes: - SPI and DMA support on the a64 - New boards: NanoPi NEO Plus2 * tag 'sunxi-dt64-for-4.15' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux: arm: allwinner: Correct unit name in devicetree binding example arm64: allwinner: a64: add dma controller references to spi nodes arm64: allwinner: a64: Add device node for DMA controller arm64: allwinner: a64: Fix node with unit name and no reg property arm64: allwinner: a64: Fix simple-bus unit address format error arm64: allwinner: h5: add NanoPi NEO Plus2 DT support arm64: allwinner: a64: add SPI nodes
2017-10-30arm64: Implement arch-specific pte_access_permitted()Catalin Marinas
The generic pte_access_permitted() implementation only checks for pte_present() (together with the write permission where applicable). However, for both kernel ptes and PROT_NONE mappings pte_present() also returns true on arm64 even though such mappings are not user accessible. Additionally, arm64 now supports execute-only user permission (PROT_EXEC) which is implemented by clearing the PTE_USER bit. With this patch the arm64 implementation of pte_access_permitted() checks for the PTE_VALID and PTE_USER bits together with writable access if applicable. Cc: <stable@vger.kernel.org> Reported-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Will Deacon <will.deacon@arm.com>
2017-10-30Merge tag 'sunxi-dt-for-4.15' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into next/dt Pull "Allwinner DT changes for 4.15" from Maxime Ripard: The most notable changes are: - Conversion to the last SoC (A10, A20) to the new clock framework - HDMI and dual pipeline support for the A10, A20 and A31 DRM driver - Support for the various power supplies on a number of boards - Fix of DTC warnings on a number of SoCs, but most of them still need some work - New boards: A20-OLinuXino-MICRO-eMMC, TBS A711, Banana Pi M2 Berry, Banana Pi M2 Ultra - New R40 SoC support * tag 'sunxi-dt-for-4.15' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux: (63 commits) ARM: sun8i: r40: enable USB host for Banana Pi M2 Ultra ARM: sun8i: v40: add 5V regulator for Banana Pi M2 Berry ARM: sun8i: r40: add 5V regulator for Banana Pi M2 Ultra ARM: sun8i: r40: add USB host port nodes for R40 ARM: dts: sun4i: Enable HDMI support on some A10 devices ARM: dts: sun7i: Enable HDMI support on some A20 devices ARM: dts: sun7i: Add device nodes for display pipelines ARM: dts: sun4i: Add device nodes for display pipelines ARM: dts: sun8i: r40: add watchdog device node ARM: dts: sun5i: reference-design-tablet: Enable AXP209 AC and battery ARM: dts: sun9i: Change node names to remove underscores ARM: dts: sun9i: Change node names to remove underscores ARM: dts: sun4i: Remove underscores from nodes names ARM: dts: sun4i: Provide default muxing for relevant controllers ARM: dts: sun4i: Change pinctrl nodes to avoid warning ARM: dts: sun6i: Enable HDMI support on some A31/A31s devices ARM: dts: sun6i: Add device node for HDMI controller ARM: dts: sun4i: Change LRADC node names to avoid warnings ARM: dts: sun4i: Remove skeleton and memory to avoid warnings ARM: dts: sun4i: Remove gpio-keys warnings ...
2017-10-30Merge tag 'mvebu-arm64-4.15-1' of git://git.infradead.org/linux-mvebu into ↵Arnd Bergmann
next/soc Pull "mvebu arm64 for 4.15 (part 1)" from Gregory CLEMENT: For Armada 7K/8K, enable NAND, RTC, comphy and 10G PHY in the defconfig * tag 'mvebu-arm64-4.15-1' of git://git.infradead.org/linux-mvebu: arm64: defconfig: enable RTC on Armada 7K/8K SoCs arm64: defconfig: enable NAND on Armada 7K/8K SoCs arm64: defconfig: enable Marvell CP110 comphy arm64: defconfig: enable the Marvell 10G PHY as a module
2017-10-30Merge tag 'tegra-for-4.15-arm64-defconfig' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/soc Pull "arm64: tegra: Default configuration updates for v4.15-rc1" from Thierry Reding: This enables the PCI host controller on 64-bit ARM. It is supported and enabled via device tree on Tegra210 and Tegra186. * tag 'tegra-for-4.15-arm64-defconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: arm64: defconfig: Enable Tegra PCI controller
2017-10-30Merge tag 'uniphier-fixes-v4.14' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-uniphier into fixes Pull "UniPhier ARM SoC fixes for v4.14" from Masahiro Yamada: - Add necessary clock to EHCI node * tag 'uniphier-fixes-v4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-uniphier: arm64: dts: uniphier: add STDMAC clock to EHCI nodes ARM: dts: uniphier: add STDMAC clock to EHCI nodes
2017-10-29ARM64: dts: meson-gx: add external PHY interrupt on some platformsJerome Brunet
Add the external PHY interrupt on the nanopi-k2, odroid-c2, p200, p230 and q200 Signed-off-by: Jerome Brunet <jbrunet@baylibre.com> Reviewed-by: Neil Armstrong <narmstrong@baylibre.com> Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-10-29ARM64: dts: meson-gx: add gpio interrupt controllerJerome Brunet
Add gpio interrupt controller to Amlogic GX family SoCs Signed-off-by: Jerome Brunet <jbrunet@baylibre.com> Reviewed-by: Neil Armstrong <narmstrong@baylibre.com> Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-10-29ARM64: meson: enable MESON_IRQ_GPIO in KconfigJerome Brunet
select MESON_IRQ_GPIO in Kconfig for Amlogic's meson SoC family Signed-off-by: Jerome Brunet <jbrunet@baylibre.com> Reviewed-by: Neil Armstrong <narmstrong@baylibre.com> Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-10-29ARM64: dts: meson-gxbb-odroidc2: fix usb1 power supplyNeil Armstrong
Looking at the schematics, the USB Power Supply is shared between the two USB interfaces, If the usb0 fails to initialize, the second one won't have power. Fixes: 5a0803bd5ae2 ("ARM64: dts: meson-gxbb-odroidc2: Enable USB Nodes") Signed-off-by: Neil Armstrong <narmstrong@baylibre.com> Signed-off-by: Kevin Hilman <khilman@baylibre.com>
2017-10-27arm64: uapi: Remove PSR_Q_BITWill Deacon
PSTATE.Q only exists for AArch32, which can be referred to using COMPAT_PSR_Q_BIT. Remove PSR_Q_BIT, since the native bit doesn't exist in the architecture Tested-by: Laura Abbott <labbott@redhat.com> Signed-off-by: Will Deacon <will.deacon@arm.com>
2017-10-27arm64: traps: Pretty-print pstate in register dumpsWill Deacon
We can decode the PSTATE easily enough, so pretty-print it in register dumps. Tested-by: Laura Abbott <labbott@redhat.com> Signed-off-by: Will Deacon <will.deacon@arm.com>
2017-10-27arm64: traps: Don't print stack or raw PC/LR values in backtracesWill Deacon
Printing raw pointer values in backtraces has potential security implications and are of questionable value anyway. This patch follows x86's lead and removes the "Exception stack:" dump from kernel backtraces, as well as converting PC/LR values to symbols such as "sysrq_handle_crash+0x20/0x30". Tested-by: Laura Abbott <labbott@redhat.com> Signed-off-by: Will Deacon <will.deacon@arm.com>
2017-10-27arm64: consistently log ESR and page tableMark Rutland
When we take a fault we can't handle, we try to dump some relevant information, but we're not consistent about doing so. In do_mem_abort(), we log the full ESR, but don't dump a page table walk. In __do_kernel_fault, we dump an attempted decoding of the ESR (but not the ESR itself) along with a page table walk. Let's try to make things more consistent by dumping the full ESR in mem_abort_decode(), and having do_mem_abort dump a page table walk. The existing dump of the ESR in do_mem_abort() is rendered redundant, and removed. Tested-by: Laura Abbott <labbott@redhat.com> Signed-off-by: Mark Rutland <mark.rutland@arm.com> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Julien Thierry <julien.thierry@arm.com> Cc: Kristina Martsenko <kristina.martsenko@arm.com> Cc: Will Deacon <will.deacon@arm.com> Signed-off-by: Will Deacon <will.deacon@arm.com>
2017-10-26arm64: dts: realtek: Add MeLE V9Andreas Färber
Add an initial Device Tree for MeLE V9 Media Player. Cc: meleservice@mele.cn Signed-off-by: Andreas Färber <afaerber@suse.de>
2017-10-26arm64: dts: realtek: Factor out common RTD129x partsAndreas Färber
Prepares for RTD1293 and RTD1296. Signed-off-by: Andreas Färber <afaerber@suse.de>
2017-10-25arm64: asm-bug: Renumber macro local labels to avoid clashesDave Martin
Currently ASM_BUG() and its constituent macros define local assembler labels 0, 1 and 2 internally, which carries a high risk of clash with callers' labels and consequent mis-assembly. This patch gives the labels a big random offset to minimise the chance of such errors. Signed-off-by: Dave Martin <Dave.Martin@arm.com> Signed-off-by: Will Deacon <will.deacon@arm.com>
2017-10-25arm64: Fix single stepping in kernel trapsJulien Thierry
Software Step exception is missing after stepping a trapped instruction. Ensure SPSR.SS gets set to 0 after emulating/skipping a trapped instruction before doing ERET. Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Mark Rutland <mark.rutland@arm.com> Signed-off-by: Julien Thierry <julien.thierry@arm.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> [will: replaced AARCH32_INSN_SIZE with 4] Signed-off-by: Will Deacon <will.deacon@arm.com>
2017-10-25arm64: Use existing defines for mdscrJulien Thierry
Literal values are being used to set single stepping in mdscr from assembly code. There are already existing defines representing those values, use those instead of the literal values. Signed-off-by: Julien Thierry <julien.thierry@arm.com> Reviewed-by: Alex Bennée <alex.bennee@linaro.org> Acked-by: Mark Rutland <mark.rutland@arm.com> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Will Deacon <will.deacon@arm.com> Signed-off-by: Will Deacon <will.deacon@arm.com>
2017-10-25locking/qrwlock, arm64: Move rwlock implementation over to qrwlocksWill Deacon
Now that the qrwlock can make use of WFE, remove our homebrewed rwlock code in favour of the generic queued implementation. Tested-by: Waiman Long <longman@redhat.com> Tested-by: Jeremy Linton <jeremy.linton@arm.com> Tested-by: Adam Wallis <awallis@codeaurora.org> Tested-by: Jan Glauber <jglauber@cavium.com> Signed-off-by: Will Deacon <will.deacon@arm.com> Acked-by: Peter Zijlstra <peterz@infradead.org> Cc: Jeremy.Linton@arm.com Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: boqun.feng@gmail.com Cc: linux-arm-kernel@lists.infradead.org Cc: paulmck@linux.vnet.ibm.com Link: http://lkml.kernel.org/r/1507810851-306-5-git-send-email-will.deacon@arm.com Signed-off-by: Ingo Molnar <mingo@kernel.org>
2017-10-24arm64: Avoid aligning normal memory pointers in __memcpy_{to,from}ioMark Salyzyn
__memcpy_{to,from}io fall back to byte-at-a-time copying if both the source and destination pointers are not 8-byte aligned. Since one of the pointers always points at normal memory, this is unnecessary and detrimental to performance, so only do byte copying until we hit an 8-byte boundary for the device pointer. This change was motivated by performance issues in the pstore driver. On a test platform, measuring probe time for pstore, console buffer size of 1/4MB and pmsg of 1/2MB, was in the 90-107ms region. Change managed to reduce it to 10-25ms, an improvement in boot time. Cc: Kees Cook <keescook@chromium.org> Cc: Anton Vorontsov <anton@enomsg.org> Cc: Tony Luck <tony.luck@intel.com> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Will Deacon <will.deacon@arm.com> Cc: Anton Vorontsov <anton@enomsg.org> Cc: Robin Murphy <robin.murphy@arm.com> Signed-off-by: Mark Salyzyn <salyzyn@android.com> Signed-off-by: Will Deacon <will.deacon@arm.com>
2017-10-24Merge branch 'for-next/perf' into aarch64/for-next/coreWill Deacon
Merge in ARM PMU and perf updates for 4.15: - Support for the Statistical Profiling Extension - Support for Hisilicon's SoC PMU Signed-off-by: Will Deacon <will.deacon@arm.com>
2017-10-24arm64: dts: rockchip: add efuse for RK3368 SoCsRomain Perier
This adds the definition for eFuse that is found on RK3368 SoCs with the corresponding data cells. Signed-off-by: Romain Perier <romain.perier@collabora.com> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
2017-10-24Merge tag 'v4.14-rc6' into locking/core, to pick up fixesIngo Molnar
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2017-10-24arm64: dts: uniphier: add resets propertiesMasahiro Yamada
Add resets properties to all nodes that have reset lines. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2017-10-24arm64: dts: uniphier: add eMMC hardware reset provider nodeMasahiro Yamada
Add mmc-pwrseq-emmc node to perform standard eMMC hardware reset procedure. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2017-10-24arm64: dts: uniphier: add GPIO hog definitionMasahiro Yamada
Interrupt lines from on-board devices are connected to the GPIO controller. Add GPIO hogging so that the corresponding GPIO line is automatically requested. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2017-10-24arm64: dts: uniphier: route on-board device IRQ to GPIO controllerMasahiro Yamada
Interrupt lines from on-board devices are connected to the GPIO controller. Handle this correctly. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2017-10-24arm64: dts: uniphier: add GPIO controller nodesMasahiro Yamada
The GPIO controller also acts as an interrupt controller and the interrupt lines are connected to the AIDET block. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2017-10-24arm64: dts: uniphier: fix W=2 build warningsMasahiro Yamada
Fix warnings like follows: Warning (node_name_chars_strict): Character '_' not recommended in ... Commit 8654cb8d0371 ("dtc: update warning settings for new bus and node/property name checks") says these checks are a bit subjective, but Rob also says to not add new W=2 warnings. The exising warnings should be fixed in order to catch new ones easily. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2017-10-23arm64: dts: uniphier: enable NAND for PXs3 reference boardMasahiro Yamada
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>