summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-08-16Merge tag 'hisi-arm64-dt-for-4.14-v2' of ↵Arnd Bergmann
git://github.com/hisilicon/linux-hisi into next/dt64 Pull "ARM64: DT: Hisilicon SoC DT updates for 4.14" from Wei Xu: - Add PCIe node for hip07 - Add acpu_sctrl node and refine the usb tx fifo size for hi6220 - Add cpu idle states, L2 cache, PMU, OP-TEE, reboot, pstore, k3-dma and watchdog nodes for hi3660 and hikey960 - Update mmc and bluetooth nodes for hi3660 and hikey960 * tag 'hisi-arm64-dt-for-4.14-v2' of git://github.com/hisilicon/linux-hisi: arm64: dts: hi3660: enable watchdog arm64: dts: hi3660: add bindings for DMA arm64: dts: hikey960: change bluetooth uart max-speed to 3mbps arm64: dts: hi3660: Reset the mmc hosts arm64: dts: hikey960: Add pstore support arm64: dts: hikey960: Add support for syscon-reboot-mode arm64: dts: hikey960: Add optee node arm64: dts: hi3660: add pmu dt node for hi3660 arm64: dts: hi3660: add L2 cache topology arm64: dts: hi3660: enable idle states arm64: dts: hi6220: improve g-tx-fifo-size setting for usb device arm64: dts: hi6220: add acpu_sctrl arm64: dts: hisi: add PCIe host controller node for hip07 SoC
2017-08-16Merge tag 'uniphier-dt64-v4.14' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-uniphier into next/dt64 Pull "UniPhier ARM64 SoC DT updates for v4.14" from Masahiro Yamada: - add nodes for NAND, Watchdog - replace /include/ with #include - use #include <arm/...> instead of symlinks * tag 'uniphier-dt64-v4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-uniphier: arm64: dts: uniphier: add Denali NAND controller nodes arm64: dts: uniphier: use cross-arch include instead of symlinks arm64: dts: uniphier: use #include instead of /include/ arm64: dts: uniphier: add watchdog node for LD11 and LD20
2017-08-16Merge tag 'juno-updates-4.14' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into next/dt64 Pull "ARMv8 Vexpress/Juno DT updates for v4.14" from Sudeep Holla: 1. Replaces old coresight ATB programmable replicator compatible with new and more generic one 2. Replaces incorrect usage of underscores for device node names in the device tree with hyphen * tag 'juno-updates-4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux: arm64: dts: juno: replace underscores with hyphen in device node names arm64: dts: juno: Use the new coresight replicator string
2017-08-16Merge tag 'sunxi-dt64-for-4.14' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into next/dt64 Pull "Allwinner arm64 DT changes for 4.14" from Chen-Yu Tsai: The usual improvement patches: - R_INTC interrupt controller enabled for the A64 SoC - AXP803 PMIC added and enabled on the Pine64 and SoPine boards * tag 'sunxi-dt64-for-4.14' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux: arm64: allwinner: a64: add AXP803 PMIC support to SoPine and the baseboard arm64: allwinner: a64: enable AXP803 regulators for Pine64 arm64: allwinner: a64: add DTSI file for AXP803 PMIC arm64: allwinner: a64: add AXP803 node to Pine64 device tree arm64: allwinner: a64: add NMI (R_INTC) controller on A64
2017-08-16Merge tag 'v4.14-rockchip-dts64-1' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/dt64 Pull "Rockchip dts64 changes for 4.14" from Heiko Stübner: 64bit Rockchip devicetree changes containing fixes for pinctrl typos and the use of keep-power-in-suspend in non-sdio nodes as well as the removal of the deprecated num-slots property from dwmmc nodes. rk3328 gets support for spdif, io-domains and usb (including enablement of usb on the evaluation board), while rk3368 gains support for spdif. The biggest chunk of course aims for the rk3399 with a number of pcie changes, support for the mali gpu, a new power-domain, sdmmc support on the firefly board and dynamic-power-coefficients. The gru family also gets support for their quite central pwm regulators using the newly introduced vctrl regulator types. * tag 'v4.14-rockchip-dts64-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: arm64: dts: rockchip: update dynamic-power-coefficient for rk3399 arm64: dts: rockchip: add rk3328 spdif node arm64: dts: rockchip: add rk3368 spdif node arm64: dts: rockchip: enable sdmmc controller on rk3399-firefly arm64: dts: rockchip: Add rk3328 io-domain node arm64: dts: rockchip: kill pcie_clkreqn and pcie_clkreqnb for rk3399 arm64: dts: rockchip: change clkreq mode for rk3399-firefly arm64: dts: rockchip: enable the GPU for RK3399-GRU arm64: dts: rockchip: add ARM Mali GPU node for RK3399 SoCs dt-bindings: gpu: add the RK3399 mali for rockchip specifics arm64: dts: rockchip: remove abused keep-power-in-suspend arm64: dts: rockchip: remove num-slots from all platforms arm64: dts: rockchip: change clkreq mode for rk3399-evb arm64: dts: rockchip: add SdioAudio pd control for rk3399 arm64: dts: rockchip: enable usb2 for RK3328 evaluation board arm64: dts: rockchip: add usb2 nodes for RK3328 SoCs arm64: dts: rockchip: set rk3399 dynamic CPU power coefficients arm64: dts: rockchip: Use vctrl regulators for dynamic CPU voltages on Gru/Kevin arm64: dts: rockchip: Update CPU regulator voltage ranges for Gru arm64: dts: rockchip: fix typo in mmc pinctrl
2017-08-16Merge tag 'mvebu-dt64-4.14-1' of git://git.infradead.org/linux-mvebu into ↵Arnd Bergmann
next/dt64 Pull "mvebu dt64 for 4.14 (part 1)" from Gregory CLEMENT: For Armada 37xx: - GIC improvement - Add PMUv3 - Enable USB2 on EspressoBin For Armada 7K/8K: - add GPIO interrupts for CP110 - add pinctrl nodes to describe the CPM I2C0 and CPS SPI1 - re-order RTC nodes in Marvell CP110 description - on MacchiatoBin - fix USB3 regulator definition - add support for i2c mux - add support for PCIe - add an stdout-path * tag 'mvebu-dt64-4.14-1' of git://git.infradead.org/linux-mvebu: arm64: dts: marvell: re-order RTC nodes in Marvell CP110 description arm64: dts: marvell: mcbin: add an stdout-path arm64: dts: marvell: mcbin: add support for PCIe arm64: dts: marvell: mcbin: add support for i2c mux arm64: dts: marvell: fix USB3 regulator definition on MacchiatoBin arm64: dts: marvell: mcbin: add pinctrl nodes arm64: dts: marvell: cp110: add GPIO interrupts ARM64: dts: marvell: armada-37xx: Enable USB2 on espressobin ARM64: dts: marvell: armada-37xx: Wire PMUv3 ARM64: dts: marvell: armada-37xx: Enable memory-mapped GIC CPU interface ARM64: dts: marvell: armada-37xx: Fix GIC maintenance interrupt
2017-08-16Merge tag 'renesas-arm64-dt-for-v4.14' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/dt64 Pull "Renesas ARM64 Based SoC DT Updates for v4.14" from Simon Horman: * Add usb2.0 for R-Car H3 (r8a7795) ES2.0 SoC * Add R-Car D3 (r8a77995) SoC and Draak board support Adds minimal support for the R-Car D3 SoC and the Draak development board, allowing to boot from a ramdisk using a serial console. * Add Add VC6 clock generator to R-Car H3 (r8a7795)/Salvator-XS board The VC6 is an I2C-controlled programmable clock generator, used on the board to provide a display dot clock. Add it to DT. * Add missing second pair of DMA names to MSIOF nodes to R-Car M3-W (r8a7796) SoC MSIOF0 and MSIOF1 are tied to two DMA controllers through two pairs of DMA specifiers. However, the second pair of corresponding DMA names was missing. * Add support for the DU to R-Car H3 (r8a7795) SoC Add a compatible string and VSP links to the DU node. The H3 ES1.x and H3 ES2.0 are compatible save for the links to the VSPs that are described explicitly in DT, so there's no need for a new ES2-specific compatible string. * Enable HDMI on R-Car H3 (r8a7795) and M3-W (r8a7796) ULCB boards * Enable DU on R-Car M3-W (r8a7796) Salvator-X board * Enable I2C for DVFS on R-Car H3 (r8a7795) and M3-W (r8a7796) ULCB boards * Add Add DRIF support to R-Car H3 (r8a7795) and M3-W (r8a7796) SoCs Ramesh Shanmugasundaram says, "R-Car Gen3 DRIF is a SPI like receive only slave device." * Move CPG_AUDIO_CLK_I from board to soc files Geert Uytterhoeven says, "The definition of CPG_AUDIO_CLK_I is SoC-specific, not board-specific." * Add IMR-LX4 support to R-Car H3 (r8a7795) and M3-W (r8a7796) SoCs Sergei Shtylyov says, "The image renderer light extended 4 (IMR-LX4) or the distortion correction engine is a drawing processor with a simple instruction system capable of referencing data on an external memory as 2D texture data and performing texture mapping and drawing with respect to any shape that is split into triangular objects." * tag 'renesas-arm64-dt-for-v4.14' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: (31 commits) arm64: dts: renesas: r8a7795: add hsusb ch3 device node arm64: dts: renesas: r8a7795: add usb-dmac ch2 and ch3 device nodes arm64: dts: renesas: r8a7795: add usb2.0 host ch3 device nodes arm64: dts: renesas: r8a7795: add usb2_phy ch3 device node arm64: dts: renesas: r8a7795: Add usb companion property in EHCI arm64: dts: renesas: Add Renesas Draak board support arm64: dts: renesas: Add Renesas R8A77995 SoC support arm64: renesas: Add Renesas R8A77995 Kconfig support arm64: dts: r8a7795: salvator-xs: Connect DU dot clocks 0 and 3 arm64: dts: salvator-xs: Add VC6 clock generator arm64: dts: r8a7796: Add missing second pair of DMA names to MSIOF nodes arm64: dts: r8a7795: Add all MSIOF nodes arm64: dts: r8a7795: Add support for the DU arm64: dts: ulcb: Enable HDMI output arm64: dts: ulcb: Add HDMI output connector arm64: dts: r8a7796: m3ulcb: Add DU external dot clocks arm64: dts: r8a7795: h3ulcb: Add DU external dot clocks arm64: dts: ulcb: Add DU external dot clock sources arm64: dts: r8a7796: salvator-x: Enable HDMI output arm64: dts: r8a7796: salvator-x: Add DU external dot clocks ...
2017-08-16Merge tag 'samsung-dt64-4.14' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into next/dt64 Pull "Samsung DTS ARM64 changes for v4.14" from Krzysztof Kozłowski: 1. Remove deprecated and unneeded properties from Exynos boards. 2. Implement proper (working) support for USB On-The-Go on Exynos5433 TM2/TM2E boards. * tag 'samsung-dt64-4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux: arm64: dts: exynos: Remove num-slots from exynos platforms arm64: dts: exynos: Add extcon property for TM2 and TM2E arm64: dts: exynos: Fix wrong label for USB 3.0 controller node arm64: dts: exynos: Remove the OF graph from DSI node
2017-08-16arm64: dts: hi3660: enable watchdogLeo Yan
This patch is to add watchdog binding for Hi3660 on Hikey960 board. Cc: Guodong Xu <guodong.xu@linaro.org> Cc: Zhong Kaihua <zhongkaihua@huawei.com> Signed-off-by: Leo Yan <leo.yan@linaro.org> Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
2017-08-16arm64: dts: hi3660: add bindings for DMAWang Ruyi
Add bindings for DMA. Signed-off-by: Wang Ruyi <wangruyi@huawei.com> Signed-off-by: Guodong Xu <guodong.xu@linaro.org> Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
2017-08-16arm64: dts: hikey960: change bluetooth uart max-speed to 3mbpsGuodong Xu
Update bluetooth UART max-speed to 3Mbps Signed-off-by: Guodong Xu <guodong.xu@linaro.org> Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
2017-08-16arm64: dts: hi3660: Reset the mmc hostsGuodong Xu
Add reset-names = "reset" into mmc nodes. Signed-off-by: Guodong Xu <guodong.xu@linaro.org> Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
2017-08-16arm64: dts: hikey960: Add pstore supportGuodong Xu
This patch reserves some memory in the DTS and sets up a pstore device tree node to enable pstore support on HiKey960. Cc: John Stultz <john.stultz@linaro.org> Signed-off-by: Guodong Xu <guodong.xu@linaro.org> Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
2017-08-16arm64: dts: hikey960: Add support for syscon-reboot-modeGuodong Xu
Add support to hikey960 dts for the syscon-reboot-mode driver. Cc: John Stultz <john.stultz@linaro.org> Signed-off-by: Guodong Xu <guodong.xu@linaro.org> Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
2017-08-16arm64: dts: hikey960: Add optee nodeVictor Chong
This patch adds op-tee node for hikey960 Signed-off-by: Victor Chong <victor.chong@linaro.org> Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
2017-08-16arm64: dts: hi3660: add pmu dt node for hi3660YiPing Xu
Add pmu dt node for hi3660 Signed-off-by: YiPing Xu <xuyiping@hisilicon.com> Signed-off-by: Zhong Kaihua <zhongkaihua@huawei.com> Signed-off-by: Leo Yan <leo.yan@linaro.org> Tested-by: Jumana Mundichipparakkal <jumana.mp@arm.com> Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
2017-08-16arm64: dts: hi3660: add L2 cache topologyLeo Yan
This patch adds the L2 cache topology on 96boards Hikey960. Signed-off-by: Leo Yan <leo.yan@linaro.org> Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
2017-08-16arm64: dts: hi3660: enable idle statesLeo Yan
There are two clusters on the Hi3660, the first one is Cortex-A53 based and the other one is Cortex-A73 based. These two clusters have different idle states. Thanks to Daniel Lezcano's recent changes, the generic ARM cpuidle driver can now support several clusters with different idle states, thus supporting the big.Little architecture. In addition to the WFI idle state which is the default shallowest state for all ARM cpus, the Hi3660 supports the following states: - CA53 CPUs: - CPU_SLEEP: CPU power off state - CLUSTER_SLEEP_0: Cluster power off state - CA73 CPUs: - CPU_NAP: CPU retention state - CPU_SLEEP: CPU power off state - CLUSTER_SLEEP_1: Cluster power off state This patch adds the idle states description for the Hi3660 to the device tree. Cc: Kevin Wang <jean.wangtao@linaro.org> Signed-off-by: Leo Yan <leo.yan@linaro.org> Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org> Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
2017-08-16arm64: dts: hi6220: improve g-tx-fifo-size setting for usb deviceShawn Guo
The current usb device g-tx-fifo-size setting in DT causes two problems for kernel driver. 1. On hi6220, there are 15 tx_fifo dedicated for all EPs except EP0, while DT only provides tx_fifo settings for 6 EPs. It results in the following annoying complaints from kernel. [ 4.451623] dwc2 f72c0000.usb: dwc2_check_param_tx_fifo_sizes: Invalid parameter g_tx_fifo_size[7]=0 [ 4.461303] dwc2 f72c0000.usb: dwc2_check_param_tx_fifo_sizes: Invalid parameter g_tx_fifo_size[8]=0 [ 4.470969] dwc2 f72c0000.usb: dwc2_check_param_tx_fifo_sizes: Invalid parameter g_tx_fifo_size[9]=0 [ 4.480632] dwc2 f72c0000.usb: dwc2_check_param_tx_fifo_sizes: Invalid parameter g_tx_fifo_size[10]=0 [ 4.490385] dwc2 f72c0000.usb: dwc2_check_param_tx_fifo_sizes: Invalid parameter g_tx_fifo_size[11]=0 [ 4.500140] dwc2 f72c0000.usb: dwc2_check_param_tx_fifo_sizes: Invalid parameter g_tx_fifo_size[12]=0 [ 4.509892] dwc2 f72c0000.usb: dwc2_check_param_tx_fifo_sizes: Invalid parameter g_tx_fifo_size[13]=0 [ 4.519646] dwc2 f72c0000.usb: dwc2_check_param_tx_fifo_sizes: Invalid parameter g_tx_fifo_size[14]=0 [ 4.529399] dwc2 f72c0000.usb: dwc2_check_param_tx_fifo_sizes: Invalid parameter g_tx_fifo_size[15]=0 [ 4.539244] dwc2 f72c0000.usb: EPs: 16, dedicated fifos, 1920 entries in SPRAM Besides of that, the total 1920 fifo entries isn't fully utilized. Endpoint Info Control block consumes 128 entries, g-rx-fifo-size is 512, and g-np-tx-fifo-size is 128. So the fifi entries available for tx_fifo is: 1920 - 128 - 512 - 128 = 1152. Considering that the minimal valid tx_fifo size for each EP is 16, it should be reasonable to allocate 1152 entries as: 128 x 8 + 16 x 7 = 1136 (only 16 entries unused). With this new setting, we can get more EPs to use while removing the above warning messages in the meantime. 2. Another consequence of above invalid g_tx_fifo_size parameter is that kernel driver will use values read from hardware register as the fall-back. The value is 2048 for each EP fifo. That's obviously invalid either, because even fifo entries for one EP exceeds the total entries 1920. That's why we see the following fat warning from function dwc2_hsotg_init_fifo(). The new g-tx-fifo-size settings help to remove the warning as well. [ 65.431634] dwc2 f72c0000.usb: Do port resume before switching to device mode [ 65.624176] insufficient fifo memory [ 65.624369] ------------[ cut here ]------------ [ 65.633633] WARNING: CPU: 0 PID: 5 at drivers/usb/dwc2/gadget.c:330 dwc2_hsotg_init_fifo+0x164/0x1ac [ 65.643808] CPU: 0 PID: 5 Comm: kworker/u16:0 Not tainted 4.13.0-rc1-00022-g50861cf9dc1b-dirty #81 [ 65.653769] Hardware name: HiKey Development Board (DT) [ 65.659624] Workqueue: dwc2 dwc2_conn_id_status_change [ 65.665377] task: ffffffc005f73400 task.stack: ffffffc005f98000 [ 65.671987] PC is at dwc2_hsotg_init_fifo+0x164/0x1ac [ 65.677633] LR is at dwc2_hsotg_init_fifo+0x164/0x1ac [ 65.683275] pc : [<ffffff8008638044>] lr : [<ffffff8008638044>] pstate: 600001c5 [ 65.691504] sp : ffffffc005f9bce0 [ 65.695218] x29: ffffffc005f9bce0 x28: ffffffc005f6ac00 [ 65.701172] x27: ffffffc005f73400 x26: 0000000008000580 [ 65.707124] x25: ffffff8008bb4af0 x24: ffffff8008d02b70 [ 65.713074] x23: 0000003fcc831084 x22: ffffffc0337cf0bc [ 65.719024] x21: 0000000000000580 x20: ffffffc0337cf018 [ 65.724976] x19: ffffffc0337cf098 x18: 0000000000000000 [ 65.730926] x17: 0000000000000000 x16: 0000000000000000 [ 65.736873] x15: 0000000000000000 x14: ffffff8008ca8900 [ 65.742825] x13: 0000004035299000 x12: 0000000034d5d91d [ 65.748775] x11: 0000000000000000 x10: 00000000000008d0 [ 65.754726] x9 : ffffffc005f9bce0 x8 : 00000000000001b5 [ 65.760674] x7 : 66696620746e6569 x6 : ffffff8008d60050 [ 65.766623] x5 : 0000000000000000 x4 : 0000000000000000 [ 65.772573] x3 : 0000000000000002 x2 : 0000000000000002 [ 65.778521] x1 : 0000000000000001 x0 : 0000000000000018 [ 65.784469] Call trace: [ 65.787236] Exception stack(0xffffffc005f9bb10 to 0xffffffc005f9bc40) [ 65.794420] bb00: ffffffc0337cf098 0000008000000000 [ 65.803145] bb20: ffffffc005f9bce0 ffffff8008638044 ffffff8008bb4af0 0000000008000580 [ 65.811870] bb40: ffffffc005f73400 ffffffc005f6ac00 0000000000000000 ffffff8008da2998 [ 65.820595] bb60: ffffffc005f9bce0 ffffffc005f9bce0 ffffffc005f9bca0 00000000ffffffc8 [ 65.829315] bb80: ffffffc005f9bbb0 ffffff80081046a0 ffffffc005f9bce0 ffffffc005f9bce0 [ 65.838038] bba0: ffffffc005f9bca0 00000000ffffffc8 0000000000000018 0000000000000001 [ 65.846761] bbc0: 0000000000000002 0000000000000002 0000000000000000 0000000000000000 [ 65.855485] bbe0: ffffff8008d60050 66696620746e6569 00000000000001b5 ffffffc005f9bce0 [ 65.864207] bc00: 00000000000008d0 0000000000000000 0000000034d5d91d 0000004035299000 [ 65.872928] bc20: ffffff8008ca8900 0000000000000000 0000000000000000 0000000000000000 [ 65.900856] [<ffffff8008638044>] dwc2_hsotg_init_fifo+0x164/0x1ac [ 65.927195] [<ffffff800863b390>] dwc2_hsotg_core_init_disconnected+0x80/0x3c0 [ 65.954736] [<ffffff800862fef0>] dwc2_conn_id_status_change+0xfc/0x21c [ 65.981561] [<ffffff80080d1ca8>] process_one_work+0x124/0x294 [ 66.007419] [<ffffff80080d1e70>] worker_thread+0x58/0x3c8 [ 66.023243] [<ffffff80080d79a0>] kthread+0x100/0x12c [ 66.032455] [<ffffff8008082ec0>] ret_from_fork+0x10/0x50 [ 66.041987] ---[ end trace 7079dcaa2d9e46fa ]--- Signed-off-by: Shawn Guo <shawn.guo@linaro.org> Tested-by: John Stultz <john.stultz@linaro.org> Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
2017-08-16arm64: dts: hi6220: add acpu_sctrlZhangfei Gao
Add acpu_sctrl clock node Signed-off-by: Zhangfei Gao <zhangfei.gao@linaro.org> Signed-off-by: Li Pengcheng <lipengcheng8@huawei.com> Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
2017-08-14arm64: dts: hisi: add PCIe host controller node for hip07 SoCZhou Wang
Add one PCIe host controller node for HiSilicon Hip07 SoC and enable it in D05 board. Signed-off-by: Zhou Wang <wangzhou1@hisilicon.com> Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
2017-08-13arm64: dts: uniphier: add Denali NAND controller nodesMasahiro Yamada
Add NAND controller node to LD11 and LD20. Neither of them supports the CS1 line, so pinctrl is set up for a single CS line. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2017-08-10arm64: dts: uniphier: use cross-arch include instead of symlinksMasahiro Yamada
On UniPhier platform, some DTSI files are shared between arm and arm64. Recently, inclusion of DT material of different architectures has been supported by the build system level. Use #include <arm/...>, which will work without relying on the exact same hierarchy as the kernel. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2017-08-10arm64: dts: uniphier: use #include instead of /include/Masahiro Yamada
To include dt-bindings headers. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
2017-08-06Linux 4.13-rc4v4.13-rc4Linus Torvalds
2017-08-06Merge tag 'platform-drivers-x86-v4.13-4' of ↵Linus Torvalds
git://git.infradead.org/linux-platform-drivers-x86 Pull x86 platform driver fix from Darren Hart: "Fix loop preventing some platforms from waking up via the power button in s2idle: - intel-vbtn: match power button on press rather than release" * tag 'platform-drivers-x86-v4.13-4' of git://git.infradead.org/linux-platform-drivers-x86: platform/x86: intel-vbtn: match power button on press rather than release
2017-08-06Merge tag 'ext4_for_linus_stable' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 Pull ext4 fixes from Ted Ts'o: "A large number of ext4 bug fixes and cleanups for v4.13" * tag 'ext4_for_linus_stable' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: ext4: fix copy paste error in ext4_swap_extents() ext4: fix overflow caused by missing cast in ext4_resize_fs() ext4, project: expand inode extra size if possible ext4: cleanup ext4_expand_extra_isize_ea() ext4: restructure ext4_expand_extra_isize ext4: fix forgetten xattr lock protection in ext4_expand_extra_isize ext4: make xattr inode reads faster ext4: inplace xattr block update fails to deduplicate blocks ext4: remove unused mode parameter ext4: fix warning about stack corruption ext4: fix dir_nlink behaviour ext4: silence array overflow warning ext4: fix SEEK_HOLE/SEEK_DATA for blocksize < pagesize ext4: release discard bio after sending discard commands ext4: convert swap_inode_data() over to use swap() on most of the fields ext4: error should be cleared if ea_inode isn't added to the cache ext4: Don't clear SGID when inheriting ACLs ext4: preserve i_mode if __ext4_set_acl() fails ext4: remove unused metadata accounting variables ext4: correct comment references to ext4_ext_direct_IO()
2017-08-06Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linusLinus Torvalds
Pull MIPS fixes from Ralf Baechle: "This fixes two build issues for ralink platforms, both due to missing #includes which used to be included indirectly via other headers" * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: MIPS: ralink: mt7620: Add missing header MIPS: ralink: Fix build error due to missing header
2017-08-06Fix compat_sys_sigpending breakageDmitry V. Levin
The latest change of compat_sys_sigpending in commit 8f13621abced ("sigpending(): move compat to native") has broken it in two ways. First, it tries to write 4 bytes more than userspace expects: sizeof(old_sigset_t) == sizeof(long) == 8 instead of sizeof(compat_old_sigset_t) == sizeof(u32) == 4. Second, on big endian architectures these bytes are being written in the wrong order. This bug was found by strace test suite. Reported-by: Anatoly Pugachev <matorola@gmail.com> Inspired-by: Eugene Syromyatnikov <evgsyr@gmail.com> Fixes: 8f13621abced ("sigpending(): move compat to native") Signed-off-by: Dmitry V. Levin <ldv@altlinux.org> Acked-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2017-08-06ext4: fix copy paste error in ext4_swap_extents()Maninder Singh
This bug was found by a static code checker tool for copy paste problems. Signed-off-by: Maninder Singh <maninder1.s@samsung.com> Signed-off-by: Vaneet Narang <v.narang@samsung.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2017-08-06ext4: fix overflow caused by missing cast in ext4_resize_fs()Jerry Lee
On a 32-bit platform, the value of n_blcoks_count may be wrong during the file system is resized to size larger than 2^32 blocks. This may caused the superblock being corrupted with zero blocks count. Fixes: 1c6bd7173d66 Signed-off-by: Jerry Lee <jerrylee@qnap.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu> Cc: stable@vger.kernel.org # 3.7+
2017-08-06ext4, project: expand inode extra size if possibleMiao Xie
When upgrading from old format, try to set project id to old file first time, it will return EOVERFLOW, but if that file is dirtied(touch etc), changing project id will be allowed, this might be confusing for users, we could try to expand @i_extra_isize here too. Reported-by: Zhang Yi <yi.zhang@huawei.com> Signed-off-by: Miao Xie <miaoxie@huawei.com> Signed-off-by: Wang Shilong <wshilong@ddn.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2017-08-06ext4: cleanup ext4_expand_extra_isize_ea()Miao Xie
Clean up some goto statement, make ext4_expand_extra_isize_ea() clearer. Signed-off-by: Miao Xie <miaoxie@huawei.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu> Reviewed-by: Wang Shilong <wshilong@ddn.com>
2017-08-06ext4: restructure ext4_expand_extra_isizeMiao Xie
Current ext4_expand_extra_isize just tries to expand extra isize, if someone is holding xattr lock or some check fails, it will give up. So rename its name to ext4_try_to_expand_extra_isize. Besides that, we clean up unnecessary check and move some relative checks into it. Signed-off-by: Miao Xie <miaoxie@huawei.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu> Reviewed-by: Wang Shilong <wshilong@ddn.com>
2017-08-06ext4: fix forgetten xattr lock protection in ext4_expand_extra_isizeMiao Xie
We should avoid the contention between the i_extra_isize update and the inline data insertion, so move the xattr trylock in front of i_extra_isize update. Signed-off-by: Miao Xie <miaoxie@huawei.com> Reviewed-by: Wang Shilong <wshilong@ddn.com>
2017-08-06ext4: make xattr inode reads fasterTahsin Erdogan
ext4_xattr_inode_read() currently reads each block sequentially while waiting for io operation to complete before moving on to the next block. This prevents request merging in block layer. Add a ext4_bread_batch() function that starts reads for all blocks then optionally waits for them to complete. A similar logic is used in ext4_find_entry(), so update that code to use the new function. Signed-off-by: Tahsin Erdogan <tahsin@google.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2017-08-05ext4: inplace xattr block update fails to deduplicate blocksTahsin Erdogan
When an xattr block has a single reference, block is updated inplace and it is reinserted to the cache. Later, a cache lookup is performed to see whether an existing block has the same contents. This cache lookup will most of the time return the just inserted entry so deduplication is not achieved. Running the following test script will produce two xattr blocks which can be observed in "File ACL: " line of debugfs output: mke2fs -b 1024 -I 128 -F -O extent /dev/sdb 1G mount /dev/sdb /mnt/sdb touch /mnt/sdb/{x,y} setfattr -n user.1 -v aaa /mnt/sdb/x setfattr -n user.2 -v bbb /mnt/sdb/x setfattr -n user.1 -v aaa /mnt/sdb/y setfattr -n user.2 -v bbb /mnt/sdb/y debugfs -R 'stat x' /dev/sdb | cat debugfs -R 'stat y' /dev/sdb | cat This patch defers the reinsertion to the cache so that we can locate other blocks with the same contents. Signed-off-by: Tahsin Erdogan <tahsin@google.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu> Reviewed-by: Andreas Dilger <adilger@dilger.ca>
2017-08-05ext4: remove unused mode parameterTahsin Erdogan
ext4_alloc_file_blocks() does not use its mode parameter. Remove it. Signed-off-by: Tahsin Erdogan <tahsin@google.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2017-08-05ext4: fix warning about stack corruptionArnd Bergmann
After commit 62d1034f53e3 ("fortify: use WARN instead of BUG for now"), we get a warning about possible stack overflow from a memcpy that was not strictly bounded to the size of the local variable: inlined from 'ext4_mb_seq_groups_show' at fs/ext4/mballoc.c:2322:2: include/linux/string.h:309:9: error: '__builtin_memcpy': writing between 161 and 1116 bytes into a region of size 160 overflows the destination [-Werror=stringop-overflow=] We actually had a bug here that would have been found by the warning, but it was already fixed last year in commit 30a9d7afe70e ("ext4: fix stack memory corruption with 64k block size"). This replaces the fixed-length structure on the stack with a variable-length structure, using the correct upper bound that tells the compiler that everything is really fine here. I also change the loop count to check for the same upper bound for consistency, but the existing code is already correct here. Note that while clang won't allow certain kinds of variable-length arrays in structures, this particular instance is fine, as the array is at the end of the structure, and the size is strictly bounded. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2017-08-05ext4: fix dir_nlink behaviourAndreas Dilger
The dir_nlink feature has been enabled by default for new ext4 filesystems since e2fsprogs-1.41 in 2008, and was automatically enabled by the kernel for older ext4 filesystems since the dir_nlink feature was added with ext4 in kernel 2.6.28+ when the subdirectory count exceeded EXT4_LINK_MAX-1. Automatically adding the file system features such as dir_nlink is generally frowned upon, since it could cause the file system to not be mountable on older kernel, thus preventing the administrator from rolling back to an older kernel if necessary. In this case, the administrator might also want to disable the feature because glibc's fts_read() function does not correctly optimize directory traversal for directories that use st_nlinks field of 1 to indicate that the number of links in the directory are not tracked by the file system, and could fail to traverse the full directory hierarchy. Fortunately, in the past ten years very few users have complained about incomplete file system traversal by glibc's fts_read(). This commit also changes ext4_inc_count() to allow i_nlinks to reach the full EXT4_LINK_MAX links on the parent directory (including "." and "..") before changing i_links_count to be 1. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=196405 Signed-off-by: Andreas Dilger <adilger@dilger.ca> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2017-08-05ext4: silence array overflow warningDan Carpenter
I get a static checker warning: fs/ext4/ext4.h:3091 ext4_set_de_type() error: buffer overflow 'ext4_type_by_mode' 15 <= 15 It seems unlikely that we would hit this read overflow in real life, but it's also simple enough to make the array 16 bytes instead of 15. Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2017-08-05ext4: fix SEEK_HOLE/SEEK_DATA for blocksize < pagesizeJan Kara
ext4_find_unwritten_pgoff() does not properly handle a situation when starting index is in the middle of a page and blocksize < pagesize. The following command shows the bug on filesystem with 1k blocksize: xfs_io -f -c "falloc 0 4k" \ -c "pwrite 1k 1k" \ -c "pwrite 3k 1k" \ -c "seek -a -r 0" foo In this example, neither lseek(fd, 1024, SEEK_HOLE) nor lseek(fd, 2048, SEEK_DATA) will return the correct result. Fix the problem by neglecting buffers in a page before starting offset. Reported-by: Andreas Gruenbacher <agruenba@redhat.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu> Signed-off-by: Jan Kara <jack@suse.cz> CC: stable@vger.kernel.org # 3.8+
2017-08-05platform/x86: intel-vbtn: match power button on press rather than releaseMario Limonciello
This fixes a problem where the system gets stuck in a loop unable to wakeup via power button in s2idle. The problem happens because: - press power button: - system emits 0xc0 (power press), event ignored - system emits 0xc1 (power release), event processed, emited as KEY_POWER - set wakeup_mode to true - system goes to s2idle - press power button - system emits 0xc0 (power press), wakeup_mode is true, system wakes - system emits 0xc1 (power release), event processed, emited as KEY_POWER - system goes to s2idle again To avoid this situation, process the presses (which matches what intel-hid does too). Verified on an Dell XPS 9365 Signed-off-by: Mario Limonciello <mario.limonciello@dell.com> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Signed-off-by: Darren Hart (VMware) <dvhart@infradead.org>
2017-08-05Merge tag 'media/v4.13-2' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media Pull media fixes from Mauro Carvalho Chehab: "This series is larger than I would like to submit for -rc4. My original intent were to sent it to either -rc2 or -rc3. Unfortunately, due to my vacations, I got a lot of pending stuff after my return, and had to do some biz trips, with prevented me to send this earlier. Several fixes: - some fixes at atomisp staging driver - several gcc 7 warning fixes - cleanup media SVG files, in order to fix PDF build on some distros - fix random Kconfig build of venus driver - some fixes for the venus driver - some changes from semaphone to mutex in ngene's driver - some locking fixes at dib0700 driver - several fixes on ngene's driver and frontends to make it properly support some new boards added on Kernel 4.13 - some fixes to CEC drivers - omap_vout: vrfb: convert to dmaengine - docs-rst: document EBUSY for VIDIOC_S_FMT Please notice that the big diffstat changes here are at the SVG files. Visually, the images look the same, but the file size is now a lot smaller than before, and they don't use some XML tags that would cause them to be badly parsed by some ImageMagick versions, or to require a lot of memory by TeTex, with would break PDF output on some distributions" * tag 'media/v4.13-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (68 commits) media: atomisp2: array underflow in imx_enum_frame_size() media: atomisp2: array underflow in ap1302_enum_frame_size() media: atomisp2: Array underflow in atomisp_enum_input() media: platform: davinci: drop VPFE_CMD_S_CCDC_RAW_PARAMS media: platform: davinci: return -EINVAL for VPFE_CMD_S_CCDC_RAW_PARAMS ioctl media: venus: don't abuse dma_alloc for non-DMA allocations media: venus: hfi: fix error handling in hfi_sys_init_done() media: venus: fix compile-test build on non-qcom ARM platform media: venus: mark PM functions as __maybe_unused media: cec-notifier: small improvements media: pulse8-cec: persistent_config should be off by default media: cec: cec_transmit_attempt_done: ignore CEC_TX_STATUS_MAX_RETRIES media: staging: atomisp: array underflow in ioctl media: lirc: LIRC_GET_REC_RESOLUTION should return microseconds media: svg: avoid too long lines media: svg files: simplify files media: selection.svg: simplify the SVG file media: vimc: set id_table for platform drivers media: staging: atomisp: disable warnings with cc-disable-warning media: davinci: variable 'common' set but not used ...
2017-08-05ext4: release discard bio after sending discard commandsDaeho Jeong
We've changed the discard command handling into parallel manner. But, in this change, I forgot decreasing the usage count of the bio which was used to send discard request. I'm sorry about that. Fixes: a015434480dc ("ext4: send parallel discards on commit completions") Signed-off-by: Daeho Jeong <daeho.jeong@samsung.com> Signed-off-by: Theodore Ts'o <tytso@mit.edu> Reviewed-by: Jan Kara <jack@suse.cz>
2017-08-05Merge tag 'gpio-v4.13-2' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio Pull GPIO fixes from Linus Walleij: - LP87565: set the proper output level for direction_output. - stm32: fix the kernel build by selecting the hierarchical irqdomain symbol properly - this happens to be done in the pin control framework but whatever, it had dependencies to GPIO so we need to apply it here. - Select the hierarchical IRQ domain also for Xgene. - Fix wakeups to work on MXC. - Fix up the device tree binding on Exar that went astray, also add the right bindings. - Fix the unwanted events for edges from the library. - Fix the unbalanced chanined IRQ on the Tegra. * tag 'gpio-v4.13-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: gpio: tegra: fix unbalanced chained_irq_enter/exit gpiolib: skip unwanted events, don't convert them to opposite edge gpio: exar: Use correct property prefix and document bindings gpio: gpio-mxc: Fix: higher 16 GPIOs usable as wake source gpio: xgene-sb: select IRQ_DOMAIN_HIERARCHY pinctrl: stm32: select IRQ_DOMAIN_HIERARCHY instead of depends on gpio: lp87565: Set proper output level and direction for direction_output MAINTAINERS: Add entry for Whiskey Cove PMIC GPIO driver
2017-08-04Merge tag 'clk-fixes-for-linus' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux Pull clk fixes from Stephen Boyd: "A handful of critical fixes for changes introduce this merge window. - The TI sci_clk_get() API was pretty broken and nobody noticed. - There were some CPUfreq crashes on C.H.I.P devices because we failed to propagate rates up the clk tree. - Also, the Intel Atom PMC clk driver needs to mark a clk critical if the firmware has it enabled already so that audio doesn't get killed on Baytrail. - Gemini devices have a dead serial console because the reset control usage in the serial driver assume one method of reset that gemini doesn't support (this will be fixed in the next version in the reset framework so this is the small fix for -rc series). - Finally we have two rate calculation fixes, one for Exynos and one for Meson SoCs, that fix rate inconsistencies" * tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux: clk: keystone: sci-clk: Fix sci_clk_get clk: meson: mpll: fix mpll0 fractional part ignored clk: samsung: exynos5420: The EPLL rate table corrections clk: sunxi-ng: sun5i: Add clk_set_rate_parent to the CPU clock clk: x86: Do not gate clocks enabled by the firmware clk: gemini: Fix reset regression
2017-08-04Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvmLinus Torvalds
Pull KVM fixes from Radim Krčmář: "ARM: - Yet another race with VM destruction plugged - A set of small vgic fixes x86: - Preserve pending INIT - RCU fixes in paravirtual async pf, VM teardown, and VMXOFF emulation - nVMX interrupt injection and dirty tracking fixes - initialize to make UBSAN happy" * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: KVM: arm/arm64: vgic: Use READ_ONCE fo cmpxchg KVM: nVMX: Fix interrupt window request with "Acknowledge interrupt on exit" KVM: nVMX: mark vmcs12 pages dirty on L2 exit kvm: nVMX: don't flush VMCS12 during VMXOFF or VCPU teardown KVM: nVMX: do not pin the VMCS12 KVM: avoid using rcu_dereference_protected KVM: X86: init irq->level in kvm_pv_kick_cpu_op KVM: X86: Fix loss of pending INIT due to race KVM: async_pf: make rcu irq exit if not triggered from idle task KVM: nVMX: fixes to nested virt interrupt injection KVM: nVMX: do not fill vm_exit_intr_error_code in prepare_vmcs12 KVM: arm/arm64: Handle hva aging while destroying the vm KVM: arm/arm64: PMU: Fix overflow interrupt injection KVM: arm/arm64: Fix bug in advertising KVM_CAP_MSI_DEVID capability
2017-08-04Merge branch 'x86-urgent-for-linus' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 fix from Thomas Gleixner: "The recent irq core changes unearthed API abuse in the HPET code, which manifested itself in a suspend/resume regression. The fix replaces the cruft with the proper function calls and cures the regression" * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/hpet: Cure interface abuse in the resume path
2017-08-04Merge branch 'timers-urgent-for-linus' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull timer fix from Thomas Gleixner: "A single fix for a multiplication overflow in the timer code on 32bit systems" * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: timers: Fix overflow in get_next_timer_interrupt