summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-09-05Merge branch 'next/cleanup' into next/socOlof Johansson
* next/cleanup: soc: versatile: remove unnecessary static in realview_soc_probe() ARM: Convert to using %pOF instead of full_name ARM: hisi: Fix typo in comment ARM: OMAP4+: PRM: fix of_irq_get() result checks ARM: OMAP3+: PRM: fix of_irq_get() result check ARM: dts: dra72-evm-revc: workaround incorrect DP83867 RX_CTRL pin strap ARM: dts: dra71-evm: workaround incorrect DP83867 RX_CTRL pin strap ARM: OMAP2+: omap_device: drop broken RPM status update from suspend_noirq bus: omap-ocp2scp: Fix error handling in omap_ocp2scp_probe
2017-08-29MAINTAINERS: Update Cavium ThunderX2 entryRobert Richter
Add Robert Richter as the primary maintainer for this platform. Signed-off-by: Jayachandran C <jnair@caviumnetworks.com> Signed-off-by: Robert Richter <rrichter@cavium.com> Signed-off-by: Olof Johansson <olof@lixom.net>
2017-08-24Merge tag 'v4.14-rockchip-soc32-2' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/soc Pull "second round of Rockchip soc32 changes for 4.14" from Heiko Stübner: Enable the ARCH_DMA_ADDR_T_64BIT kconfig option for LPAE builds, as some peripherals like the Mali gpu do support 64bit dma addresses. * tag 'v4.14-rockchip-soc32-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: ARM: rockchip: select ARCH_DMA_ADDR_T_64BIT for LPAE
2017-08-23Merge tag 'samsung-soc-4.14-2' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into next/soc Pull "Samsung mach/soc changes for v4.14, part 2" from Krzysztof Kozłowski: Fix NAND ECC mode for mini2440 board. * tag 'samsung-soc-4.14-2' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux: ARM: s3c24xx: Fix NAND ECC mode for mini2440 board
2017-08-21ARM: s3c24xx: Fix NAND ECC mode for mini2440 boardSylwester Nawrocki
After commit e9f66ae23c20 ("mtd: s3c2410: make ecc mode configurable via platform data") booting of the mini2440 board is broken, since for this board we have CONFIG_MTD_NAND_S3C2410_HWECC set. The console gets flooded with errors reported by the mtd subsystem. This patch changes ecc_mode to NAND_ECC_HW which restores proper operation of the NAND flash memory. Cc: Sergio Prado <sergio.prado@e-labworks.com> Fixes: e9f66ae23c20 ("mtd: s3c2410: make ecc mode configurable via platform data") Signed-off-by: Sylwester Nawrocki <snawrocki@kernel.org> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2017-08-19Merge tag 'omap-for-v4.14/fixes-not-urgent-v2-signed' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/cleanup Pull "non-urgent fixes for omaps for v4.14" from Tony Lindgren: Non-urgent fixes for omaps for v4.14 merge window. These all can wait for the merge window as we have not seemed to hit any of these so far: - Fix error handling in omap_ocp2scp_probe affecting runtime PM error path - Drop broken RPM status update for omap_device - Two fixes for of_irq_get() usage that can return 0 * tag 'omap-for-v4.14/fixes-not-urgent-v2-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: OMAP4+: PRM: fix of_irq_get() result checks ARM: OMAP3+: PRM: fix of_irq_get() result check ARM: OMAP2+: omap_device: drop broken RPM status update from suspend_noirq bus: omap-ocp2scp: Fix error handling in omap_ocp2scp_probe
2017-08-18Merge tag 'tegra-for-4.14-arm-core' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into next/soc Pull "ARM: tegra: Changes for v4.14-rc1" from Thierry Reding: Contains a single fix for platforms with more than 2 GiB of memory running on a kernel with LPAE enabled. * tag 'tegra-for-4.14-arm-core' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: ARM: tegra: Select appropriate DMA options for LPAE
2017-08-16Merge tag 'v4.14-rockchip-soc32-1' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into next/soc Pull "Rockchip soc32 changes for 4.14" from Heiko Stübner: 32bit arch changes for Rockchip socs containing enablement for ZONE_DMA for LPAE builds due to the peripherals only being 32bit capable and conversion to the exclusive reset controls in smp code. * tag 'v4.14-rockchip-soc32-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: ARM: rockchip: enable ZONE_DMA for non 64-bit capable peripherals ARM: rockchip: explicitly request exclusive reset control in smp code
2017-08-16Merge tag 'gemini-for-arm-soc-1' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik into next/soc Pull "Gemini changes for v4.14" from Linus Walleij: They all deal with fixing up the Kconfig selects for misc stuff that has been merged in different subsystems: - We have a reset controller - We have a clock controller - We need ARM_AMBA for FTDMAC020 which is PL08x - We need to select the pin controller (being merged for v4.14) * tag 'gemini-for-arm-soc-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik: ARM: gemini: select pin controller ARM: gemini: select ARM_AMBA ARM: gemini: select the clock controller ARM: gemini: tag the arch as having reset controller
2017-08-16Merge tag 'mvebu-soc-4.14-1' of git://git.infradead.org/linux-mvebu into ↵Arnd Bergmann
next/soc Pull "mvebu soc for 4.14 (part 1)" from Gregory CLEMENT: Enabling ARM_GLOBAL_TIMER in mvebu_v7_defconfig for Armada 38x * tag 'mvebu-soc-4.14-1' of git://git.infradead.org/linux-mvebu: ARM: mvebu: enable ARM_GLOBAL_TIMER compilation Armada 38x platforms
2017-08-16MAINTAINERS: update ARM/ZTE entryShawn Guo
Update ARM/ZTE entry to include all those ZTE ZX platform drivers and files that do not have a separate MAINTAINERS entry. Since I have been contributing a lot for ZTE ZX SoCs support and collecting platform patches for a few cycles, add myself as one maintainer for the platform. Cc: Jun Nie <jun.nie@linaro.org> Cc: Baoyou Xie <baoyou.xie@linaro.org> Signed-off-by: Shawn Guo <shawnguo@kernel.org> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2017-08-16Merge tag 'omap-for-v4.14/debug-ll-signed' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/soc Pull "Updates to for omap debug_ll code to use generic DEBUG_UART_8250 code" from Tony Lindgren: The legacy code to try to detect the debug_ll uart based on machine is no longer needed, and we can remove it. Note that the Kconfig options stay the same, we just need to define the port configuration now. * tag 'omap-for-v4.14/debug-ll-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: debug: Use generic 8250 debug_ll for am3517 and am335x ARM: debug: Use generic 8250 debug_ll for ti81xx ARM: debug: Use generic 8250 debug_ll for omap3/4/5 ARM: debug: Use generic 8250 debug_ll for omap2 and omap3/4/5 common uarts
2017-08-16Merge tag 'omap-for-v4.14/soc-signed' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/soc Pull "soc changes for omaps for v4.14" from Tony Lindgren: SoC updates for omaps for v4.14. Most of the chages are to add support for new dra762 SoC. The other changes are are for legacy DMA code removal, and MMC quirk and iodelay config for dra7. * tag 'omap-for-v4.14/soc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: OMAP: dra7: powerdomain data: Register SoC specific powerdomains ARM: dra762: Enable SMP for dra762 ARM: dra7: hwmod: Register dra76x specific hwmod ARM: dra762: Add support for device identification ARM: OMAP2+: board-generic: add support for dra762 family ARM: OMAP2+: Select PINCTRL_TI_IODELAY for SOC_DRA7XX ARM: OMAP2+: Add pdata-quirks for MMC/SD on DRA74x EVM ARM: OMAP2+: Remove unused legacy code for DMA
2017-08-16Merge tag 'renesas-soc-for-v4.14' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas into next/soc Pull "Renesas ARM Based SoC Updates for v4.14" Simon Horman: * Add debug-ll support to RZ/G1M (r8a7743) SoC Chris Paterson says, "RZ/G1M uses SCIF0 for the debug console, like most of the R-Car Gen2 SoCs." * Remove ARCH_SHMOBILE_MULTI Geert Uytterhoeven says, "The migration from ARCH_SHMOBILE_MULTI to ARCH_RENESAS has been completed in v4.12..." * Correct arch timer frequency on RZ/G1M (r8a7743) SoC Geert Uytterhoeven says, "According to the datasheet, the frequency of the ARM architecture timer on RZ/G1E depends on the frequency of the ZS clock..." * Add support for CPG/MSSR bindings Geert Uytterhoeven says, "When using the new CPG/MSSR bindings, there is no longer a "renesas,rcar-gen2-cpg-clocks" node, and the code to obtain the external clock crystal frequency falls back to a default of 20 MHz. While this is correct for all upstream R-Car Gen2 and RZ/G1 boards, this is not necessarily the case for out-of-tree third party boards. Add support for finding the external clock crystal oscillator on RZ/G1M, and on R-Car H2, M2-W, and M2-N using the new CPG/MSSR bindings, through the corresponding "renesas,r8a77xx-cpg-mssr" nodes." * Obtain jump stub region from DT Geert Uytterhoeven says, "Add support for obtaining from DT the SRAM region to store the jump stub for CPU core bringup, according to the renesas,smp-sram DT bindings." * tag 'renesas-soc-for-v4.14' of https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas: ARM: shmobile: Remove ARCH_SHMOBILE_MULTI ARM: shmobile: rcar-gen2: Correct arch timer frequency on RZ/G1E ARM: shmobile: rcar-gen2: Add support for CPG/MSSR bindings ARM: shmobile: rcar-gen2: Obtain jump stub region from DT ARM: debug-ll: Add support for r8a7743
2017-08-16soc: versatile: remove unnecessary static in realview_soc_probe()Gustavo A. R. Silva
Remove unnecessary static on local variables syscon_regmap. Such variables are initialized before being used, on every execution path throughout the functions. The static has no benefit and, removing it reduces the object file size. This issue was detected using Coccinelle and the following semantic patch: @bad exists@ position p; identifier x; type T; @@ static T x@p; ... x = <+...x...+> @@ identifier x; expression e; type T; position p != bad.p; @@ -static T x@p; ... when != x when strict ?x = e; In the following log you can see the difference in the object file size. This log is the output of the size command, before and after the code change: before: text data bss dec hex filename 3339 2104 128 5571 15c3 drivers/soc/versatile/soc-realview.o after: text data bss dec hex filename 3321 2048 64 5433 1539 drivers/soc/versatile/soc-realview.o Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2017-08-16ARM: Convert to using %pOF instead of full_nameRob Herring
Now that we have a custom printf format specifier, convert users of full_name to use %pOF instead. This is preparation to remove storing of the full path string for each node. Signed-off-by: Rob Herring <robh@kernel.org> Acked-by: Krzysztof Kozlowski <krzk@kernel.org> Acked-by: Heiko Stuebner <heiko@sntech.de> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com> Acked-by: Shawn Guo <shawnguo@kernel.org> Acked-by: Simon Horman <horms+renesas@verge.net.au> Cc: Russell King <linux@armlinux.org.uk> Cc: Kukjin Kim <kgene@kernel.org> Cc: Javier Martinez Canillas <javier@osg.samsung.com> Cc: Fabio Estevam <fabio.estevam@nxp.com> Cc: Jason Cooper <jason@lakedaemon.net> Cc: Andrew Lunn <andrew@lunn.ch> Cc: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Cc: Tony Lindgren <tony@atomide.com> Cc: "Benoît Cousson" <bcousson@baylibre.com> Cc: Paul Walmsley <paul@pwsan.com> Cc: Magnus Damm <magnus.damm@gmail.com> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2017-08-16Merge tag 'omap-for-v4.14/fixes-not-urgent-dt-signed' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap into next/cleanup Pull "non-urgent dts fixes for omaps for v4.14" from Tony Lindgren: Two non-urgent dts fixes for dra7 Ethernet quirk. These are sent separately from the rest of the dts changes to avoid merge conflicts as these depend on earlier fixes sent during v4.13-rc cycle. * tag 'omap-for-v4.14/fixes-not-urgent-dt-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: ARM: dts: dra72-evm-revc: workaround incorrect DP83867 RX_CTRL pin strap ARM: dts: dra71-evm: workaround incorrect DP83867 RX_CTRL pin strap
2017-08-16Merge tag 'hisi-fixes-for-4.14' of git://github.com/hisilicon/linux-hisi ↵Arnd Bergmann
into next/cleanup Pull "ARM: hisi fixes for 4.14" from Wei Xu: - Fix the comment typo of the machine code "0xe51ff004" to avoid confusion. * tag 'hisi-fixes-for-4.14' of git://github.com/hisilicon/linux-hisi: ARM: hisi: Fix typo in comment
2017-08-16Merge tag 'arm-ep93xx-adc' of https://github.com/sverdlin/linux into next/socArnd Bergmann
Pull "ADC device support for Cirrus Logic EP93xx SoC" from Alexander Sverdlin: - Add ADC specific clock - Add ADC device support to EP93xx core - Add ADC instance to EDB93xx boards The above doesn't include a driver for ADC device. * tag 'arm-ep93xx-adc' of https://github.com/sverdlin/linux: ARM: edb93xx: Add ADC platform device ARM: ep93xx: Add ADC platform device support to core ARM: ep93xx: Add ADC clock
2017-08-16Merge tag 'samsung-soc-4.14' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into next/soc Pull "Samsung mach/soc changes for v4.14" from Krzysztof Kozłowski: Only for S3C24xx platform: 1. Cleanup from non-existent CONFIG entries. 2. Fix unmet NET dependency when H1940 bluetooth chip is selected.. * tag 'samsung-soc-4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux: ARM: s3c24xx: make H1940BT depend on RFKILL ARM: s3c24xx: Do not confuse local define with Kconfig ARM: s3c24xx: Remove non-existing SND_SOC_SMDK2443_WM9710 ARM: s3c24xx: Remove non-existing CONFIG_CPU_S3C2413
2017-08-16ARM: hisi: Fix typo in commentYunzhi Li
The machine code "0xe51ff004" means "ldr pc, [pc, #-4]". This patch fixed the comment typo to avoid any confusion. Signed-off-by: Yunzhi Li <yunzhi.li@deephi.tech> Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
2017-08-15ARM: OMAP4+: PRM: fix of_irq_get() result checksSergei Shtylyov
of_irq_get() may return 0 as well as a nagative error number on failure, (and never on success), however omap44xx_prm_late_init() regards 0 as a valid IRQ -- fix this. Fixes: a8f83aefcd5a ("ARM: OMAP4+: PRM: register interrupt information from DT") Fixes: c5b3955828ba ("ARM: OMAP4: Fix legacy code clean-up regression") Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-08-15ARM: OMAP3+: PRM: fix of_irq_get() result checkSergei Shtylyov
of_irq_get() may return 0 as well as a nagative error number on failure (and never on success), however omap3xxx_prm_late_init() regards 0 as a valid IRQ -- fix this. Fixes: 1e037794f7f ("ARM: OMAP3+: PRM: register interrupt information from DT") Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-08-14ARM: OMAP: dra7: powerdomain data: Register SoC specific powerdomainsLokesh Vutla
Custom efuse powerdomain is always on in dra72 ES2.0 and dra76 SoCs. So register it as aon for these SoCs. Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-08-14ARM: dra762: Enable SMP for dra762Lokesh Vutla
smp specific routines are called based on soc_is_*() api in omap-smc.c. Add soc_is_dra76x() to the condition so that smp specific routines are called for dra76 SoC. Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-08-14ARM: dra7: hwmod: Register dra76x specific hwmodLokesh Vutla
Certain IPs are available on dra76 which are not present either in dra74 or dra72. So add provision to register dra76 specific IPs separately. Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-08-14ARM: dra762: Add support for device identificationLokesh Vutla
Add ID code detection for dra762 SoC. Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-08-14ARM: OMAP2+: board-generic: add support for dra762 familyLokesh Vutla
Adding board generic support for dra762 family. Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-08-10ARM: dts: dra72-evm-revc: workaround incorrect DP83867 RX_CTRL pin strapSekhar Nori
The DRA72 EVM Rev C straps the DP83867 GigaBit Ethernet phy's RX_DV/RX_CTRL pin in mode 1. Unfortunately, the phy data manual disallows this. Add "ti,dp83867-rxctrl-strap-quirk" property to the phy's device-tree node to allow kernel to enable software workaround for this incorrect strap setting. This is as suggested by the phy's datamanual and ensures proper operation of this PHY. This needs to be done for both instances of this PHY present on the board. Signed-off-by: Sekhar Nori <nsekhar@ti.com> Reviewed-by: Grygorii Strashko <grygorii.strashko@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-08-10ARM: dts: dra71-evm: workaround incorrect DP83867 RX_CTRL pin strapSekhar Nori
The DRA71 EVM straps the DP83867 GigaBit Ethernet phy's RX_DV/RX_CTRL pin in mode 1. Unfortunately, the phy data manual disallows this. Add "ti,dp83867-rxctrl-strap-quirk" property to the phy's device-tree node to allow kernel to enable software workaround for this incorrect strap setting. This is as suggested by the phy's datamanual and ensures proper operation of this PHY. This needs to be done for both instances of this PHY present on the board. Signed-off-by: Sekhar Nori <nsekhar@ti.com> Reviewed-by: Grygorii Strashko <grygorii.strashko@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-08-10ARM: OMAP2+: Select PINCTRL_TI_IODELAY for SOC_DRA7XXKishon Vijay Abraham I
PINCTRL_TI_IODELAY should be enabled so that "pinctrl_dev" can be created for pinctrl entries populated with iodelay values in device tree data. Select PINCTRL_TI_IODELAY for SOC_DRA7XX here. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-08-10ARM: OMAP2+: Add pdata-quirks for MMC/SD on DRA74x EVMSekhar Nori
DRA74x EVM Rev H EVM comes with revision 2.0 silicon. However, earlier versions of EVM can come with either revision 1.1 or revision 1.0 of silicon. The device-tree file is written to support rev 2.0 of silicon. pdata quirks are used to then override the settings needed for PG 1.1 silicon. PG 1.1 silicon has limitations w.r.t frequencies at which MMC1/2/3 can operate as well as different IOdelay numbers. Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Signed-off-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-08-10ARM: OMAP2+: Remove unused legacy code for DMATony Lindgren
We are now booting all mach-omap2 in device tree only mode. Any code that is only called in legacy boot mode where of_have_populated_dt() is not set is safe to remove now. Let's leave the dummy omap2_system_dma_init_dev() check in place for now to avoid a pointless merge conflict with tusb6010 dmaengine conversion as pointed out by Peter Ujfalusi <peter.ujfalusi@ti.com>. Signed-off-by: Tony Lindgren <tony@atomide.com>
2017-08-10ARM: OMAP2+: omap_device: drop broken RPM status update from suspend_noirqJohan Hovold
Since commit a8636c89648a ("PM / Runtime: Don't allow to suspend a device with an active child"), which went into 4.10, it is no longer permitted to set RPM_SUSPENDED state for a device with active children (unless power.ignore_children is set). This specifically means that the attempts to do just that from the omap pm-domain suspend_noirq callback have since been failing whenever a child is active, for example: am335x-usb-childs 47400000.usb: runtime PM trying to suspend device but active child Silence this warning by dropping the broken pm_runtime_set_suspended() call from the omap suspend_noirq callback along with the redundant pm_runtime_set_active() in resume_noirq. This effectively reverts commit 3522bf7bfa24 ("ARM: OMAP2+: omap_device: maintain sane runtime pm status around suspend/resume"), which started updating the RPM state after the runtime_suspend callback (!) for active omap devices had been called during system suspend. The rationale was that a later pm_runtime_get_sync() would then fail (even after runtime pm had been disabled) and that this in turn would avoid any external aborts when accessing registers with clocks disabled. (See also commit 6f3c77b040fc ("PM / Runtime: let rpm_resume() succeed if RPM_ACTIVE, even when disabled, v2"). But during the suspend_noirq phase all children would already have been suspended and their drivers would specifically not attempt any further register accesses. And if this was all just a workaround for random device drivers doing cross-tree calls during system suspend, those drivers should be fixed and updated to explicitly model such dependencies using device-links instead (and either way, any such calls have been causing crashes since 4.10). Fixes: 3522bf7bfa24 ("ARM: OMAP2+: omap_device: maintain sane runtime pm status around suspend/resume") Fixes: a8636c89648a ("PM / Runtime: Don't allow to suspend a device with an active child") Cc: Alan Stern <stern@rowland.harvard.edu> Cc: Dave Gerlach <d-gerlach@ti.com> Cc: Kevin Hilman <khilman@baylibre.com> Cc: Nishanth Menon <nm@ti.com> Cc: Rafael J. Wysocki <rjw@rjwysocki.net> Cc: Tony Lindgren <tony@atomide.com> Cc: Ulf Hansson <ulf.hansson@linaro.org> Signed-off-by: Johan Hovold <johan@kernel.org> Tested-by: Grygorii Strashko <grygorii.strashko@ti.com> Signed-off-by: Tony Lindgren <tony@atomide.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-06ARM: rockchip: select ARCH_DMA_ADDR_T_64BIT for LPAETao Huang
Rockchip RK3288 has some 64-bit capable DMA and therefore needs dma_addr_t to be a 64-bit size. One user is the Mali GPU. Signed-off-by: Tao Huang <huangtao@rock-chips.com> Signed-off-by: Heiko Stuebner <heiko@sntech.de>
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>