platform/kernel/linux-rpi.git
3 years agoMerge tag 'arm-soc/for-5.13/devicetree' of https://github.com/Broadcom/stblinux into...
Arnd Bergmann [Thu, 1 Apr 2021 19:34:48 +0000 (21:34 +0200)]
Merge tag 'arm-soc/for-5.13/devicetree' of https://github.com/Broadcom/stblinux into arm/dt

This pull request contains Broadcom ARM-based SoCs Device Tree changes
for 5.13, please pull the following:

- Rafal fixes YAML warnings for the memory nodes of BCM5301X nodes and
  adds support for the NVMEM NVRAM node on Linksys and Luxul WLAN
  routers. He also fixes up the partitions for the Linksys EA9400 to
  use the newly introduced parser compatible and sets the power LED to
  its default state.

* tag 'arm-soc/for-5.13/devicetree' of https://github.com/Broadcom/stblinux:
  ARM: dts: BCM5301X: Set Linksys EA9500 power LED
  ARM: dts: BCM5301X: Fix Linksys EA9500 partitions
  ARM: dts: BCM5301X: Describe NVMEM NVRAM on Linksys & Luxul routers
  ARM: dts: BCM5301X: fix "reg" formatting in /memory node

Link: https://lore.kernel.org/r/20210330184006.1451315-1-f.fainelli@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoMerge tag 'socfpga_dts_update_for_v5.13' of git://git.kernel.org/pub/scm/linux/kernel...
Arnd Bergmann [Thu, 1 Apr 2021 19:33:43 +0000 (21:33 +0200)]
Merge tag 'socfpga_dts_update_for_v5.13' of git://git./linux/kernel/git/dinguyen/linux into arm/dt

SoCFPGA DTS updates for v5.13
- Patches from Krzysztof Kozlowski that fixes dtc warnings
  and dtbs_check warnings
- Adjust the "cnds,read-delay" value for the Agilex devkit to 2

* tag 'socfpga_dts_update_for_v5.13' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux:
  arm64: dts: intel: adjust qpsi read-delay property
  arm64: dts: intel: socfpga_agilex_socdk_nand: align LED node names with dtschema
  arm64: dts: intel: socfpga_agilex: align node names with dtschema
  arm64: dts: intel: socfpga_agilex: use defined for GIC interrupts
  arm64: dts: intel: socfpga_agilex: move usbphy out of soc node
  arm64: dts: intel: socfpga_agilex: remove default status=okay
  arm64: dts: intel: socfpga_agilex: move timer out of soc node
  arm64: dts: intel: socfpga_agilex: move clocks out of soc node
  arm64: dts: intel: socfpga: override clocks by label

Link: https://lore.kernel.org/r/20210330110430.558182-2-dinguyen@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoMerge tag 'omap-for-v5.13/dts-genpd-signed' of git://git.kernel.org/pub/scm/linux...
Arnd Bergmann [Thu, 1 Apr 2021 19:26:02 +0000 (21:26 +0200)]
Merge tag 'omap-for-v5.13/dts-genpd-signed' of git://git./linux/kernel/git/tmlind/linux-omap into arm/dt

Devicetree changes for omaps for genpd support for v5.13

In order to move omap4/5 and dra7 to probe with devicetree data and genpd,
we need to add the missing interconnect target module configuration for
the drivers that do not still have it. This is similar to what we have
already done earlier for am3 and 4 earlier.

These patches are very much similar for all the three SoCs here. The dra7
changes were already available for v5.12 merge window, but were considered
too late to add for v5.12. The patches for omap4 and 5 follow the same
pattern, except for PCIe that is available only on dra7.

We do the changes one driver at a time, and still keep the legacy property
for "ti,hwmods" mostly around, except for cases when already not needed.
We will be dropping the custom property and related legacy data in a
follow-up series.

* tag 'omap-for-v5.13/dts-genpd-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (53 commits)
  ARM: dts: Configure simple-pm-bus for omap5 l3
  ARM: dts: Configure simple-pm-bus for omap5 l4_cfg
  ARM: dts: Configure simple-pm-bus for omap5 l4_per
  ARM: dts: Configure simple-pm-bus for omap5 l4_wkup
  ARM: dts: Move omap5 l3-noc to a separate node
  ARM: dts: Move omap5 mmio-sram out of l3 interconnect
  ARM: dts: Configure interconnect target module for omap5 sata
  ARM: dts: Configure interconnect target module for omap5 gpmc
  ARM: dts: Configure interconnect target module for omap5 mpu
  ARM: dts: Configure interconnect target module for omap5 emif
  ARM: dts: Configure interconnect target module for omap5 dmm
  ARM: dts: Prepare for simple-pm-bus for omap4 l3
  ARM: dts: Configure simple-pm-bus for omap4 l4_cfg
  ARM: dts: Configure simple-pm-bus for omap4 l4_per
  ARM: dts: Configure simple-pm-bus for omap4 l4_wkup
  ARM: dts: Move omap4 l3-noc to a separate node
  ARM: dts: Move omap4 mmio-sram out of l3 interconnect
  ARM: dts: Configure interconnect target module for omap4 mpu
  ARM: dts: Configure interconnect target module for omap4 debugss
  ARM: dts: Configure interconnect target module for omap4 emif
  ...

Link: https://lore.kernel.org/r/pull-1617004205-537424@atomide.com-2
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoARM: mstar: Add mpll to base dtsi
Daniel Palmer [Mon, 1 Mar 2021 12:35:42 +0000 (21:35 +0900)]
ARM: mstar: Add mpll to base dtsi

All of the currently known MStar/SigmaStar ARMv7 SoCs have at least
one MPLL and it seems to always be at the same place so add it to
the base dtsi.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
Link: https://lore.kernel.org/r/20210301123542.2800643-4-daniel@0x0f.com'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoARM: mstar: Add the external clocks to the base dsti
Daniel Palmer [Mon, 1 Mar 2021 12:35:41 +0000 (21:35 +0900)]
ARM: mstar: Add the external clocks to the base dsti

All of the currently known MStar/SigmaStar ARMv7 SoCs have an "xtal"
clock input that is usually 24MHz and an "RTC xtal" that is usually 32KHz.

The xtal input has to be connected to something so it's enabled by default.

The MSC313 and MSC313E do not bring the RTC clock input out to the pins
so it's impossible to connect it. The SSC8336 does bring the input
out to the pins but it's not always actually connected to something.

The RTC node needs to always be present because in the future the nodes
for the clock muxes will refer to it even if it's not usable.

The RTC node is disabled by default and should be enabled at the board
level if the RTC input is wired up.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
Link: https://lore.kernel.org/r/20210301123542.2800643-3-daniel@0x0f.com'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoARM: mstar: Select MSTAR_MSC313_MPLL
Daniel Palmer [Mon, 1 Mar 2021 12:35:40 +0000 (21:35 +0900)]
ARM: mstar: Select MSTAR_MSC313_MPLL

All of the ARCH_MSTARV7 chips have an MPLL as the source for
peripheral clocks so select MSTAR_MSC313_MPLL.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
Link: https://lore.kernel.org/r/20210301123542.2800643-2-daniel@0x0f.com'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoarm64: dts: intel: adjust qpsi read-delay property
Dinh Nguyen [Tue, 23 Mar 2021 15:55:15 +0000 (10:55 -0500)]
arm64: dts: intel: adjust qpsi read-delay property

The "cnds,read-delay" value needs to be 2 for the Agilex devkit.

Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
3 years agoarm64: dts: intel: socfpga_agilex_socdk_nand: align LED node names with dtschema
Krzysztof Kozlowski [Mon, 8 Mar 2021 17:09:45 +0000 (18:09 +0100)]
arm64: dts: intel: socfpga_agilex_socdk_nand: align LED node names with dtschema

Align the LED node names with dtschema to silence dtbs_check warnings
like:

    leds: 'hps0', 'hps1', 'hps2' do not match any of the regexes: '(^led-[0-9a-f]$|led)', 'pinctrl-[0-9]+'

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
3 years agoarm64: dts: intel: socfpga_agilex: align node names with dtschema
Krzysztof Kozlowski [Mon, 8 Mar 2021 17:09:43 +0000 (18:09 +0100)]
arm64: dts: intel: socfpga_agilex: align node names with dtschema

Align the NAND, GIC and UART node names with dtschema to silence
dtbs_check warnings like:

    arch/arm64/boot/dts/intel/socfpga_agilex_socdk.dt.yaml:
        intc@fffc1000: $nodename:0: 'intc@fffc1000' does not match '^interrupt-controller(@[0-9a-f,]+)*$'
    arch/arm64/boot/dts/intel/socfpga_agilex_socdk.dt.yaml:
        serial0@ffc02000: $nodename:0: 'serial0@ffc02000' does not match '^serial(@[0-9a-f,]+)*$'

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
3 years agoarm64: dts: intel: socfpga_agilex: use defined for GIC interrupts
Krzysztof Kozlowski [Mon, 8 Mar 2021 17:09:42 +0000 (18:09 +0100)]
arm64: dts: intel: socfpga_agilex: use defined for GIC interrupts

Use human-readable defines for GIC interrupt type and flag, instead of
hard-coding the numbers.  It makes review easier.  No functional change.

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
3 years agoarm64: dts: intel: socfpga_agilex: move usbphy out of soc node
Krzysztof Kozlowski [Mon, 8 Mar 2021 17:09:41 +0000 (18:09 +0100)]
arm64: dts: intel: socfpga_agilex: move usbphy out of soc node

The usual usb-nop-xceiv USB phy node should be under root node, to fix
dtc warning:

    arch/arm64/boot/dts/intel/socfpga_agilex.dtsi:472.21-476.5:
        Warning (simple_bus_reg): /soc/usbphy@0: missing or empty reg/ranges property

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
3 years agoarm64: dts: intel: socfpga_agilex: remove default status=okay
Krzysztof Kozlowski [Mon, 8 Mar 2021 17:09:40 +0000 (18:09 +0100)]
arm64: dts: intel: socfpga_agilex: remove default status=okay

New nodes are okay by default.

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
3 years agoarm64: dts: intel: socfpga_agilex: move timer out of soc node
Krzysztof Kozlowski [Mon, 8 Mar 2021 17:09:39 +0000 (18:09 +0100)]
arm64: dts: intel: socfpga_agilex: move timer out of soc node

The ARM architected timer is part of ARM CPU design therefore by
convention it should not be inside the soc node.  This also fixes dtc
warning like:

    arch/arm64/boot/dts/intel/socfpga_agilex.dtsi:410.9-416.5:
        Warning (simple_bus_reg): /soc/timer: missing or empty reg/ranges property

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
3 years agoarm64: dts: intel: socfpga_agilex: move clocks out of soc node
Krzysztof Kozlowski [Mon, 8 Mar 2021 17:09:38 +0000 (18:09 +0100)]
arm64: dts: intel: socfpga_agilex: move clocks out of soc node

The clocks are usually not part of the SoC but provided on the board
(external oscillators).  Moving them out of soc node fixes dtc warning:

    arch/arm64/boot/dts/intel/socfpga_agilex.dtsi:111.10-137.5:
        Warning (simple_bus_reg): /soc/clocks: missing or empty reg/ranges property

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
3 years agoarm64: dts: intel: socfpga: override clocks by label
Krzysztof Kozlowski [Mon, 8 Mar 2021 17:09:37 +0000 (18:09 +0100)]
arm64: dts: intel: socfpga: override clocks by label

Using full paths to extend or override a device tree node is error
prone.  If there was a typo error, a new node will be created instead of
extending the existing node.  This will lead to run-time errors that
could be hard to detect.

A mistyped label on the other hand, will cause a dtc compile error
(during build time).

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
3 years agoARM: dts: BCM5301X: Set Linksys EA9500 power LED
Rafał Miłecki [Mon, 29 Mar 2021 08:04:09 +0000 (10:04 +0200)]
ARM: dts: BCM5301X: Set Linksys EA9500 power LED

Set Linux default trigger to default on, just like it's normally done
for power LEDs.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
3 years agoARM: dts: BCM5301X: Fix Linksys EA9500 partitions
Rafał Miłecki [Mon, 29 Mar 2021 05:54:30 +0000 (07:54 +0200)]
ARM: dts: BCM5301X: Fix Linksys EA9500 partitions

Partitions are basically fixed indeed but firmware ones don't have
hardcoded function ("firmware" vs "failsafe"). Actual function depends
on bootloader configuration. Use a proper binding for that.

While at it fix numbers formatting to avoid:
arch/arm/boot/dts/bcm47094-linksys-panamera.dt.yaml: partitions: 'partition@1F00000' does not match any of the regexes: '^partition@[0-9a-f]+$', 'pinctrl-[0-9]+'
        From schema: Documentation/devicetree/bindings/mtd/partitions/linksys,ns-partitions.yaml

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
3 years agoARM: dts: BCM5301X: Describe NVMEM NVRAM on Linksys & Luxul routers
Rafał Miłecki [Wed, 10 Mar 2021 21:04:46 +0000 (22:04 +0100)]
ARM: dts: BCM5301X: Describe NVMEM NVRAM on Linksys & Luxul routers

Provide access to NVRAM which contains device environment variables.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
3 years agoARM: dts: BCM5301X: fix "reg" formatting in /memory node
Rafał Miłecki [Tue, 9 Mar 2021 12:55:00 +0000 (13:55 +0100)]
ARM: dts: BCM5301X: fix "reg" formatting in /memory node

This fixes warnings/errors like:
arch/arm/boot/dts/bcm4708-buffalo-wzr-1750dhp.dt.yaml: /: memory@0:reg:0: [0, 1342177282281701376402653184] is too long
        From schema: /lib/python3.6/site-packages/dtschema/schemas/reg.yaml

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
3 years agoMerge tag 'renesas-arm-dt-for-v5.13-tag1' of git://git.kernel.org/pub/scm/linux/kerne...
Arnd Bergmann [Tue, 23 Mar 2021 17:22:41 +0000 (18:22 +0100)]
Merge tag 'renesas-arm-dt-for-v5.13-tag1' of git://git./linux/kernel/git/geert/renesas-devel into arm/dt

Renesas ARM DT updates for v5.13

  - OV7725 camera support for the iWave RainboW Qseven board (G21D), and
    its camera expansion board,
  - Add mmc aliases to fix /dev/mmcblkN order,
  - HDMI Display support for the R-Car Starter Kit Pro with R-Car M3-W+,
  - Support for running upstream kernels on the RZA2MEVB board, using
    the SDRAM present on the sub-board,
  - I2C EEPROM support for the Falcon development board,
  - Timer, thermal sensor, and CAN support for the R-Car V3U SoC.
  - Miscellaneous fixes and improvements.

* tag 'renesas-arm-dt-for-v5.13-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  arm64: dts: renesas: r8a77980: Fix vin4-7 endpoint binding
  arm64: dts: renesas: r8a77961: Add CAN nodes
  arm64: dts: renesas: r8a779a0: Add CMT support
  arm64: dts: renesas: r8a779a0: Add thermal support
  arm64: dts: renesas: r8a779a0: Add TMU support
  arm64: dts: renesas: falcon: Add Ethernet sub-board
  arm64: dts: renesas: falcon: Add CSI/DSI sub-board
  arm64: dts: renesas: falcon: Add I2C EEPROM nodes
  ARM: dts: rza2mevb: Upstream Linux requires SDRAM
  arm64: dts: renesas: Consolidate Salvator-X(S) HDMI0 handling
  arm64: dts: renesas: Add mmc aliases into board dts files
  arm64: dts: renesas: r8a77961-ulcb: add HDMI Display support
  ARM: dts: renesas: Add mmc aliases into R-Car Gen2 board dts files
  arm64: dts: renesas: Group tuples in pin control properties
  arm64: dts: renesas: Group tuples in playback and capture properties
  ARM: dts: renesas: Group tuples in pin control properties
  ARM: dts: renesas: Group tuples in playback and capture properties
  ARM: dts: renesas: Group tuples in APMU cpus properties
  ARM: dts: r8a7742-iwg21d-q7-dbcm-ca: Add support for 8-bit ov7725 sensors
  ARM: dts: r8a7742-iwg21d-q7-dbcm-ca: Separate out ov5640 nodes

Link: https://lore.kernel.org/r/20210319085146.2709844-3-geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoarm64: dts: renesas: r8a77980: Fix vin4-7 endpoint binding
Vladimir Barinov [Fri, 12 Mar 2021 17:47:35 +0000 (18:47 +0100)]
arm64: dts: renesas: r8a77980: Fix vin4-7 endpoint binding

This fixes the bindings in media framework:
The CSI40 is endpoint number 2
The CSI41 is endpoint number 3

Signed-off-by: Vladimir Barinov <vladimir.barinov@cogentembedded.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Link: https://lore.kernel.org/r/20210312174735.2118212-1-niklas.soderlund+renesas@ragnatech.se
Fixes: 3182aa4e0bf4d0ee ("arm64: dts: renesas: r8a77980: add CSI2/VIN support")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
3 years agoarm64: dts: renesas: r8a77961: Add CAN nodes
Yoshihiro Shimoda [Fri, 12 Mar 2021 02:54:20 +0000 (11:54 +0900)]
arm64: dts: renesas: r8a77961: Add CAN nodes

Add the device nodes for all CAN nodes on R-Car M3-W+.

Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Tested-by: Yusuke Goda <yusuke.goda.sx@renesas.com>
Link: https://lore.kernel.org/r/20210312025420.529339-3-yoshihiro.shimoda.uh@renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
3 years agoarm64: dts: renesas: r8a779a0: Add CMT support
Phong Hoang [Thu, 11 Mar 2021 09:29:38 +0000 (10:29 +0100)]
arm64: dts: renesas: r8a779a0: Add CMT support

This patch adds CMT{0|1|2|3} device nodes for R-Car V3U (r8a779a0) SoC.

Signed-off-by: Phong Hoang <phong.hoang.wz@renesas.com>
[wsa: rebased, double checked values, corrected sorting]
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Link: https://lore.kernel.org/r/20210311092939.3129-3-wsa+renesas@sang-engineering.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
3 years agoarm64: dts: renesas: r8a779a0: Add thermal support
Niklas Söderlund [Wed, 10 Mar 2021 11:09:51 +0000 (12:09 +0100)]
arm64: dts: renesas: r8a779a0: Add thermal support

Add support for thermal.

Signed-off-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Link: https://lore.kernel.org/r/20210310110951.3299524-1-niklas.soderlund+renesas@ragnatech.se
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
3 years agoMerge tags 'genpd-dts-dra7', 'genpd-dts-omap4' and 'genpd-dts-omap5' into omap-for...
Tony Lindgren [Wed, 10 Mar 2021 12:16:34 +0000 (14:16 +0200)]
Merge tags 'genpd-dts-dra7', 'genpd-dts-omap4' and 'genpd-dts-omap5' into omap-for-v5.13/dts-genpd

Merge together genpd related dts changes to provide base for dropping the
legacy data to prevent merge conflicts and to send dts changes separately.

3 years agoARM: dts: Configure simple-pm-bus for omap5 l3
Tony Lindgren [Wed, 10 Mar 2021 12:04:58 +0000 (14:04 +0200)]
ARM: dts: Configure simple-pm-bus for omap5 l3

We can now probe interconnects with device tree only configuration using
simple-pm-bus and genpd.

Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoARM: dts: Configure simple-pm-bus for omap5 l4_cfg
Tony Lindgren [Wed, 10 Mar 2021 12:04:58 +0000 (14:04 +0200)]
ARM: dts: Configure simple-pm-bus for omap5 l4_cfg

We can now probe interconnects with device tree only configuration using
simple-pm-bus and genpd.

Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoARM: dts: Configure simple-pm-bus for omap5 l4_per
Tony Lindgren [Wed, 10 Mar 2021 12:04:58 +0000 (14:04 +0200)]
ARM: dts: Configure simple-pm-bus for omap5 l4_per

We can now probe interconnects with device tree only configuration using
simple-pm-bus and genpd.

Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoARM: dts: Configure simple-pm-bus for omap5 l4_wkup
Tony Lindgren [Wed, 10 Mar 2021 12:04:57 +0000 (14:04 +0200)]
ARM: dts: Configure simple-pm-bus for omap5 l4_wkup

We can now probe interconnects with device tree only configuration using
simple-pm-bus and genpd.

Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoARM: dts: Move omap5 l3-noc to a separate node
Tony Lindgren [Wed, 10 Mar 2021 12:04:57 +0000 (14:04 +0200)]
ARM: dts: Move omap5 l3-noc to a separate node

In preparation for probing l3 with simple-pm-bus and genpd, we must move
l3 noc to a separate node. This is to prevent omap_l3_noc.c driver from
claiming the whole l3 instance before simple-pm-bus has a chance to probe.

Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoARM: dts: Move omap5 mmio-sram out of l3 interconnect
Tony Lindgren [Wed, 10 Mar 2021 12:04:57 +0000 (14:04 +0200)]
ARM: dts: Move omap5 mmio-sram out of l3 interconnect

We need mmio-sram early for omap4_sram_init() for IO barrier init, and
will be moving l3 interconnect to probe with simple-pm-bus that probes
at module_init() time. So let's move mmio-sram out of l3 to prepare for
that.

Otherwise we will get the following after probing the interconnects with
simple-pm-bus:

omap4_sram_init:Unable to get sram pool needed to handle errata I688

Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoARM: dts: Configure interconnect target module for omap5 sata
Tony Lindgren [Wed, 10 Mar 2021 12:04:56 +0000 (14:04 +0200)]
ARM: dts: Configure interconnect target module for omap5 sata

We can now probe devices with device tree only configuration using
ti-sysc interconnect target module driver. Let's configure the
module, but keep the legacy "ti,hwmods" peroperty to avoid new boot
time warnings. The legacy property will be removed in later patches
together with the legacy platform data.

Note that the old sysc register offset is wrong, the real offset is at
0x1100 as listed in TRM for SATA_SYSCONFIG register. Looks like we've been
happily using sata on the bootloader configured sysconfig register and
nobody noticed. Also the old register range for SATAMAC_wrapper registers
is wrong at 7 while it should be 8. But that too seems harmless.

There is also an L3 parent interconnect range that we don't seem to be
using. That can be added as needed later on.

Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoARM: dts: Configure interconnect target module for omap5 gpmc
Tony Lindgren [Wed, 10 Mar 2021 12:04:56 +0000 (14:04 +0200)]
ARM: dts: Configure interconnect target module for omap5 gpmc

We can now probe devices with device tree only configuration using
ti-sysc interconnect target module driver. Let's configure the
module, but keep the legacy "ti,hwmods" property to avoid new boot
time warnings. The legacy property will be removed in later patches
together with the legacy platform data.

Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoARM: dts: Configure interconnect target module for omap5 mpu
Tony Lindgren [Wed, 10 Mar 2021 12:04:55 +0000 (14:04 +0200)]
ARM: dts: Configure interconnect target module for omap5 mpu

We can now probe devices with device tree only configuration using
ti-sysc interconnect target module driver.

Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoARM: dts: Configure interconnect target module for omap5 emif
Tony Lindgren [Wed, 10 Mar 2021 12:04:55 +0000 (14:04 +0200)]
ARM: dts: Configure interconnect target module for omap5 emif

We can now probe devices with device tree only configuration using
ti-sysc interconnect target module driver. Let's configure the
module, but keep the legacy "ti,hwmods" property to avoid new boot
time warnings. The legacy property will be removed in later patches
together with the legacy platform data.

Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoARM: dts: Configure interconnect target module for omap5 dmm
Tony Lindgren [Wed, 10 Mar 2021 12:04:54 +0000 (14:04 +0200)]
ARM: dts: Configure interconnect target module for omap5 dmm

We can now probe devices with device tree only configuration using
ti-sysc interconnect target module driver. Let's configure the
module, but keep the legacy "ti,hwmods" property to avoid new boot
time warnings. The legacy property will be removed in later patches
together with the legacy platform data.

Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoARM: dts: Prepare for simple-pm-bus for omap4 l3
Tony Lindgren [Wed, 10 Mar 2021 12:04:33 +0000 (14:04 +0200)]
ARM: dts: Prepare for simple-pm-bus for omap4 l3

Let's configure omap4 l3 for power-domain and clocks in preparation for
starting to use simple-pm-bus. We will flip over to using simple-pm-bus
later on after dropping the legacy data for all the devices on l3
interconnect.

Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoARM: dts: Configure simple-pm-bus for omap4 l4_cfg
Tony Lindgren [Wed, 10 Mar 2021 12:04:32 +0000 (14:04 +0200)]
ARM: dts: Configure simple-pm-bus for omap4 l4_cfg

We can now probe interconnects with device tree only configuration using
simple-pm-bus and genpd.

Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoARM: dts: Configure simple-pm-bus for omap4 l4_per
Tony Lindgren [Wed, 10 Mar 2021 12:04:32 +0000 (14:04 +0200)]
ARM: dts: Configure simple-pm-bus for omap4 l4_per

We can now probe interconnects with device tree only configuration using
simple-pm-bus and genpd.

Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoARM: dts: Configure simple-pm-bus for omap4 l4_wkup
Tony Lindgren [Wed, 10 Mar 2021 12:04:31 +0000 (14:04 +0200)]
ARM: dts: Configure simple-pm-bus for omap4 l4_wkup

We can now probe interconnects with device tree only configuration using
simple-pm-bus and genpd.

Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoARM: dts: Move omap4 l3-noc to a separate node
Tony Lindgren [Wed, 10 Mar 2021 12:04:31 +0000 (14:04 +0200)]
ARM: dts: Move omap4 l3-noc to a separate node

In preparation for probing l3 with simple-pm-bus and genpd, we must move
l3 noc to a separate node. This is to prevent omap_l3_noc.c driver from
claiming the whole l3 instance before simple-pm-bus has a chance to probe.

Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoARM: dts: Move omap4 mmio-sram out of l3 interconnect
Tony Lindgren [Wed, 10 Mar 2021 12:04:31 +0000 (14:04 +0200)]
ARM: dts: Move omap4 mmio-sram out of l3 interconnect

We need mmio-sram early for omap4_sram_init() for IO barrier init, and
will be moving l3 interconnect to probe with simple-pm-bus that probes
at module_init() time. So let's move mmio-sram out of l3 to prepare for
that.

Otherwise we will get the following after probing the interconnects with
simple-pm-bus:

omap4_sram_init:Unable to get sram pool needed to handle errata I688

Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoARM: dts: Configure interconnect target module for omap4 mpu
Tony Lindgren [Wed, 10 Mar 2021 12:04:30 +0000 (14:04 +0200)]
ARM: dts: Configure interconnect target module for omap4 mpu

We can now probe devices with device tree only configuration using
ti-sysc interconnect target module driver.

Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoARM: dts: Configure interconnect target module for omap4 debugss
Tony Lindgren [Wed, 10 Mar 2021 12:04:30 +0000 (14:04 +0200)]
ARM: dts: Configure interconnect target module for omap4 debugss

We can now probe devices with device tree only configuration using
ti-sysc interconnect target module driver. Let's configure the
module, but keep the legacy "ti,hwmods" property to avoid new boot
time warnings. The legacy property will be removed in later patches
together with the legacy platform data.

Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoARM: dts: Configure interconnect target module for omap4 emif
Tony Lindgren [Wed, 10 Mar 2021 12:04:29 +0000 (14:04 +0200)]
ARM: dts: Configure interconnect target module for omap4 emif

We can now probe devices with device tree only configuration using
ti-sysc interconnect target module driver. Let's configure the
module, but keep the legacy "ti,hwmods" property to avoid new boot
time warnings. The legacy property will be removed in later patches
together with the legacy platform data.

Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoARM: dts: Configure interconnect target module for omap4 dmm
Tony Lindgren [Wed, 10 Mar 2021 12:04:29 +0000 (14:04 +0200)]
ARM: dts: Configure interconnect target module for omap4 dmm

We can now probe devices with device tree only configuration using
ti-sysc interconnect target module driver. Let's configure the
module, but keep the legacy "ti,hwmods" property to avoid new boot
time warnings. The legacy property will be removed in later patches
together with the legacy platform data.

Let's also use GIC_SPI and IRQ_TYPE_LEVEL_HIGH defines while at it.

Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoARM: dts: Configure power-domain for omap4 dts iss
Tony Lindgren [Wed, 10 Mar 2021 12:04:29 +0000 (14:04 +0200)]
ARM: dts: Configure power-domain for omap4 dts iss

Configure power-domain for omap4 dts iss in preparation to
probing devices with simple-pm-bus and genpd.

Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoARM: dts: Configure power-domain for omap4 gfx
Tony Lindgren [Wed, 10 Mar 2021 12:04:28 +0000 (14:04 +0200)]
ARM: dts: Configure power-domain for omap4 gfx

Configure power-domain for omap4 dts gfx in preparation to
probing devices with simple-pm-bus and genpd.

Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoARM: dts: Configure simple-pm-bus for dra7 l3
Tony Lindgren [Wed, 10 Mar 2021 12:03:50 +0000 (14:03 +0200)]
ARM: dts: Configure simple-pm-bus for dra7 l3

We can now probe interconnects with device tree only configuration using
simple-pm-bus and genpd.

Tested-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoARM: dts: Configure simple-pm-bus for dra7 l4_cfg
Tony Lindgren [Wed, 10 Mar 2021 12:03:49 +0000 (14:03 +0200)]
ARM: dts: Configure simple-pm-bus for dra7 l4_cfg

We can now probe interconnects with device tree only configuration using
simple-pm-bus and genpd.

Tested-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoARM: dts: Configure simple-pm-bus for dra7 l4_per3
Tony Lindgren [Wed, 10 Mar 2021 12:03:49 +0000 (14:03 +0200)]
ARM: dts: Configure simple-pm-bus for dra7 l4_per3

We can now probe interconnects with device tree only configuration using
simple-pm-bus and genpd.

Tested-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoARM: dts: Configure simple-pm-bus for dra7 l4_per2
Tony Lindgren [Wed, 10 Mar 2021 12:03:49 +0000 (14:03 +0200)]
ARM: dts: Configure simple-pm-bus for dra7 l4_per2

We can now probe interconnects with device tree only configuration using
simple-pm-bus and genpd.

Tested-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoARM: dts: Configure simple-pm-bus for dra7 l4_per1
Tony Lindgren [Wed, 10 Mar 2021 12:03:48 +0000 (14:03 +0200)]
ARM: dts: Configure simple-pm-bus for dra7 l4_per1

We can now probe interconnects with device tree only configuration using
simple-pm-bus and genpd.

Tested-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoARM: dts: Configure simple-pm-bus for dra7 l4_wkup
Tony Lindgren [Wed, 10 Mar 2021 12:03:48 +0000 (14:03 +0200)]
ARM: dts: Configure simple-pm-bus for dra7 l4_wkup

We can now probe interconnects with device tree only configuration using
simple-pm-bus and genpd.

Tested-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoARM: dts: Configure interconnect target module for dra7 dmm
Tony Lindgren [Wed, 10 Mar 2021 12:03:47 +0000 (14:03 +0200)]
ARM: dts: Configure interconnect target module for dra7 dmm

We can now probe devices with device tree only configuration using
ti-sysc interconnect target module driver. Let's configure the
module, but keep the legacy "ti,hwmods" peroperty to avoid new boot
time warnings. The legacy property will be removed in later patches
together with the legacy platform data.

Tested-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoARM: dts: Configure interconnect target module for dra7 mpu
Tony Lindgren [Wed, 10 Mar 2021 12:03:47 +0000 (14:03 +0200)]
ARM: dts: Configure interconnect target module for dra7 mpu

We can now probe devices with device tree only configuration using
ti-sysc interconnect target module driver.

Tested-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoARM: dts: Configure interconnect target module for dra7 sata
Tony Lindgren [Wed, 10 Mar 2021 12:03:47 +0000 (14:03 +0200)]
ARM: dts: Configure interconnect target module for dra7 sata

We can now probe devices with device tree only configuration using
ti-sysc interconnect target module driver. Let's configure the
module, but keep the legacy "ti,hwmods" peroperty to avoid new boot
time warnings. The legacy property will be removed in later patches
together with the legacy platform data.

Note that the old sysc register offset is wrong, the real offset is at
0x1100 as listed in TRM for SATA_SYSCONFIG register. Looks like we've been
happily using sata on the bootloader configured sysconfig register and
nobody noticed. Also the old register range for SATAMAC_wrapper registers
is wrong at 7 while it should be 8. But that too seems harmless.

There is also an L3 parent interconnect range that we don't seem to be
using. That can be added as needed later on.

Tested-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoARM: dts: Configure interconnect target module for dra7 qspi
Tony Lindgren [Wed, 10 Mar 2021 12:03:46 +0000 (14:03 +0200)]
ARM: dts: Configure interconnect target module for dra7 qspi

We can now probe devices with device tree only configuration using
ti-sysc interconnect target module driver. Let's configure the
module, but keep the legacy "ti,hwmods" peroperty to avoid new boot
time warnings. The legacy property will be removed in later patches
together with the legacy platform data.

Cc: Vignesh Raghavendra <vigneshr@ti.com>
Tested-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoARM: dts: Move dra7 l3 noc to a separate node
Tony Lindgren [Wed, 10 Mar 2021 12:03:46 +0000 (14:03 +0200)]
ARM: dts: Move dra7 l3 noc to a separate node

In order to prepare for probing l3 with genpd, we need to move l3 noc
into a separate node for l3 interconnect to have it's own regs, and
to avoid it claiming more than it needs for the io regions.

Tested-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoARM: dts: Properly configure dra7 edma sysconfig registers
Tony Lindgren [Wed, 10 Mar 2021 12:03:45 +0000 (14:03 +0200)]
ARM: dts: Properly configure dra7 edma sysconfig registers

Looks like the TRM is not listing the sysconfig for edma, let's add it
based on am437x TRM edma registers as listed in sections "Table 10-26.
EDMA3CC Registers" and "Table 10-99. EDMA3TC Registers".

Tested-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoARM: dts: Configure interconnect target module for dra7 pcie
Tony Lindgren [Wed, 10 Mar 2021 12:03:45 +0000 (14:03 +0200)]
ARM: dts: Configure interconnect target module for dra7 pcie

We can now probe devices with device tree only configuration using
ti-sysc interconnect target module driver. Let's configure the
module, but keep the legacy "ti,hwmods" peroperty to avoid new boot
time warnings. The legacy property will be removed in later patches
together with the legacy platform data.

Tested-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoARM: dts: Update pcie ranges for dra7
Tony Lindgren [Wed, 10 Mar 2021 12:03:45 +0000 (14:03 +0200)]
ARM: dts: Update pcie ranges for dra7

In order to update pcie to probe with ti-sysc and genpd, let's update the
pcie ranges to not use address 0 for 0x20000000 and 0x30000000. The range
for 0 is typically used for child devices as the offset from the module
base. In the following patches, we will update pcie to probe with ti-sysc,
and the patches become a bit confusing to read compared to other similar
modules unless we update the ranges first. So let's just use the full
addresses for ranges for the 0x20000000 and 0x30000000 ranges.

Tested-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoPCI: pci-dra7xx: Prepare for deferred probe with module_platform_driver
Tony Lindgren [Wed, 10 Mar 2021 12:01:00 +0000 (14:01 +0200)]
PCI: pci-dra7xx: Prepare for deferred probe with module_platform_driver

After updating pci-dra7xx driver to probe with ti-sysc and genpd, I
noticed that dra7xx_pcie_probe() would not run if a power-domains property
was configured for the interconnect target module.

Turns out that module_platform_driver_probe uses platform_driver_probe(),
while builtin_platform_driver uses platform_driver_register().

Only platform_driver_register() works for deferred probe as noted in the
comments for __platform_driver_probe() in drivers/base/platform.c with a
line saying "Note that this is incompatible with deferred probing".

With module_platform_driver_probe, we have platform_driver_probe() produce
-ENODEV error at device_initcall() level, and no further attempts are done.
Let's fix this by using module_platform_driver instead.

Note this is not an issue currently as we probe devices with simple-bus,
and only is needed as we start probing the device with ti-sysc, or when
probed with simple-pm-bus.

Note that we must now also remove __init for probe related functions to
avoid a section mismatch warning.

Cc: linux-pci@vger.kernel.org
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Tested-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoclk: ti: omap5: Add missing gpmc and ocmc clkctrl
Tony Lindgren [Mon, 8 Mar 2021 09:35:08 +0000 (11:35 +0200)]
clk: ti: omap5: Add missing gpmc and ocmc clkctrl

The gpmc clock is needed to update omap5 to boot with genpd with the
related devicetree patches. The ocmc clock is currently not used but
let's add it so we have all the clocks for the l3main2 defined.

Cc: Stephen Boyd <sboyd@kernel.org>
Cc: Tero Kristo <kristo@kernel.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agosoc: ti: omap-prm: Allow hardware supported retention when idle
Tony Lindgren [Mon, 8 Mar 2021 09:35:08 +0000 (11:35 +0200)]
soc: ti: omap-prm: Allow hardware supported retention when idle

When moving the l4 interconnect instances to probe with simple-pm-bus and
genpd, we will have l4per and core domains stop idling unless we configure
the domain bits to allow retention when idle.

As the TI SoCs have hardware autoidle capabilities, this is safe to do.
The domains will only enter retention on WFI when none of the devices on
the domain block autoidle in the hardware. This follows what we are
already currently doing.

Cc: Santosh Shilimkar <ssantosh@kernel.org>
Cc: Tero Kristo <kristo@kernel.org>
Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoARM: OMAP2+: Init both prm and prcm nodes early for clocks
Tony Lindgren [Mon, 8 Mar 2021 09:35:08 +0000 (11:35 +0200)]
ARM: OMAP2+: Init both prm and prcm nodes early for clocks

We need to probe both prm and prcm nodes early for clocks
as they are needed by system timers.

Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agobus: ti-sysc: Check for old incomplete dtb
Tony Lindgren [Mon, 8 Mar 2021 09:35:09 +0000 (11:35 +0200)]
bus: ti-sysc: Check for old incomplete dtb

Let's be nice and show an error on the SoCs about old imcomplete devicetree
if the dtb is still using "simple-bus" instead of "simple-pm-bus" for the
root OCP node.

Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoarm64: dts: renesas: r8a779a0: Add TMU support
Phong Hoang [Fri, 5 Mar 2021 14:32:58 +0000 (15:32 +0100)]
arm64: dts: renesas: r8a779a0: Add TMU support

This patch adds TMU{0|1|2|3|4} device nodes for R-Car V3U (r8a779a0) SoC.

Signed-off-by: Phong Hoang <phong.hoang.wz@renesas.com>
[wsa: rebased, double checked values]
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund+renesas@ragnatech.se>
Link: https://lore.kernel.org/r/20210305143259.12622-3-wsa+renesas@sang-engineering.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
3 years agoarm64: dts: renesas: falcon: Add Ethernet sub-board
Geert Uytterhoeven [Thu, 4 Mar 2021 15:32:57 +0000 (16:32 +0100)]
arm64: dts: renesas: falcon: Add Ethernet sub-board

Add a DTS file for the Falcon Ethernet sub-board (RTP0RC779A0ETS0010S),
and include it from the main r8a779a0-falcon.dts.

For now its contents are limited to the Board ID EEPROM.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Tested-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Link: https://lore.kernel.org/r/20210304153257.4059277-4-geert+renesas@glider.be
3 years agoarm64: dts: renesas: falcon: Add CSI/DSI sub-board
Geert Uytterhoeven [Thu, 4 Mar 2021 15:32:56 +0000 (16:32 +0100)]
arm64: dts: renesas: falcon: Add CSI/DSI sub-board

Add a DTS file for the Falcon CSI/DSI sub-board (RTP0RC779A0DCS0010S),
and include it from the main r8a779a0-falcon.dts.

For now its contents are limited to the Board ID EEPROM.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Tested-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Link: https://lore.kernel.org/r/20210304153257.4059277-3-geert+renesas@glider.be
3 years agoarm64: dts: renesas: falcon: Add I2C EEPROM nodes
Geert Uytterhoeven [Thu, 4 Mar 2021 15:32:55 +0000 (16:32 +0100)]
arm64: dts: renesas: falcon: Add I2C EEPROM nodes

Add device nodes for the I2C EEPROMs on the Falcon CPU and BreakOut
boards.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Tested-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Link: https://lore.kernel.org/r/20210304153257.4059277-2-geert+renesas@glider.be
3 years agoARM: dts: rza2mevb: Upstream Linux requires SDRAM
Geert Uytterhoeven [Thu, 4 Mar 2021 09:49:45 +0000 (10:49 +0100)]
ARM: dts: rza2mevb: Upstream Linux requires SDRAM

As upstream Linux does not support XIP (eXecute-In-Place) for ARMv7-A
platforms that are part of the ARCH_MULTIPLATFORM framework, it cannot
run in the 8 MiB of HyperRAM present on the RZ/A2M CPU board.  Hence the
64 MiB of SDRAM on the sub-board needs to be enabled, which has the
following ramifications:
  - SCIF4 connected to the on-board USB-serial can no longer be used as
    the serial console,
  - Instead, SCIF2 is used as the serial console, by connecting a 3.3V
    TTL USB-to-Serial adapter to the CMOS camera connector,
  - The first Ethernet channel can no longer be used,
  - USB Channel 1 loses the overcurrent input signal.

Based on the Linux-4.19 BSP for RZ/A2.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Chris Brandt <chris.brandt@renesas.com>
Link: https://lore.kernel.org/r/20210304094945.4003097-1-geert+renesas@glider.be
3 years agoarm64: dts: renesas: Consolidate Salvator-X(S) HDMI0 handling
Geert Uytterhoeven [Wed, 3 Mar 2021 14:05:29 +0000 (15:05 +0100)]
arm64: dts: renesas: Consolidate Salvator-X(S) HDMI0 handling

Now all Salvator-X(S) SoC/board combinations have support for HDMI
sound, all HDMI0 connector and sound descriptions are identical.
Replace them by shared descriptions in salvator-common.dtsi, to reduce
duplication.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Link: https://lore.kernel.org/r/20210303140529.3941670-1-geert+renesas@glider.be
3 years agobus: ti-sysc: Detect more modules for debugging
Tony Lindgren [Mon, 8 Mar 2021 09:35:07 +0000 (11:35 +0200)]
bus: ti-sysc: Detect more modules for debugging

We want to see what the interconnect target module names are for
debugging.

Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agobus: ti-sysc: Probe for l4_wkup and l4_cfg interconnect devices first
Tony Lindgren [Mon, 8 Mar 2021 09:35:07 +0000 (11:35 +0200)]
bus: ti-sysc: Probe for l4_wkup and l4_cfg interconnect devices first

We want to probe l4_wkup and l4_cfg interconnect devices first to avoid
issues with missing resources. Otherwise we attempt to probe l4_per
devices first causing pointless deferred probe and also annoyingh
renumbering of the MMC devices for example.

Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agobus: ti-sysc: Fix initializing module_pa for modules without sysc register
Tony Lindgren [Mon, 8 Mar 2021 09:35:06 +0000 (11:35 +0200)]
bus: ti-sysc: Fix initializing module_pa for modules without sysc register

We have interconnect target modules with no known registers using only
clocks and resets, but we still want to detect them based on the module
IO range. So let's call sysc_parse_and_check_child_range() earlier so we
have module_pa properly initialized.

Fixes: 2928135c93f8 ("bus: ti-sysc: Support modules without control registers")
Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoMerge branch 'fixes-rc2' into fixes
Tony Lindgren [Mon, 8 Mar 2021 09:34:12 +0000 (11:34 +0200)]
Merge branch 'fixes-rc2' into fixes

3 years agoARM: dts: Fix moving mmc devices with aliases for omap4 & 5
Tony Lindgren [Mon, 8 Mar 2021 09:30:45 +0000 (11:30 +0200)]
ARM: dts: Fix moving mmc devices with aliases for omap4 & 5

Fix moving mmc devices with dts aliases as discussed on the lists.
Without this we now have internal eMMC mmc1 show up as mmc2 compared
to the earlier order of devices.

Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoARM: dts: Drop duplicate sha2md5_fck to fix clk_disable race
Tony Lindgren [Mon, 8 Mar 2021 09:26:25 +0000 (11:26 +0200)]
ARM: dts: Drop duplicate sha2md5_fck to fix clk_disable race

We have a duplicate legacy clock defined for sha2md5_fck that can
sometimes race with clk_disable() with the dts configured clock
for OMAP4_SHA2MD5_CLKCTRL when unused clocks are disabled during
boot causing an "Unhandled fault: imprecise external abort".

Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoarm64: dts: renesas: Add mmc aliases into board dts files
Yoshihiro Shimoda [Mon, 1 Mar 2021 11:06:26 +0000 (20:06 +0900)]
arm64: dts: renesas: Add mmc aliases into board dts files

After the commit 7320915c8861 ("mmc: Set PROBE_PREFER_ASYNCHRONOUS
for drivers that existed in v4.14"), the order of /dev/mmcblkN
was not fixed in some SoCs which have multiple sdhi controllers.
So, we were hard to use an sdhi device as rootfs by using
the kernel parameter like "root=/dev/mmcblkNpM".

According to the discussion on a mainling list [1], we can add
mmc aliases to fix the issue. So, add such aliases into Renesas
arm64 board dts files. Notes that mmc0 is an eMMC channel if
available.

[1]
https://lore.kernel.org/linux-arm-kernel/CAPDyKFptyEQNJu8cqzMt2WRFZcwEdjDiytMBp96nkoZyprTgmA@mail.gmail.com/

Fixes: 7320915c8861 ("mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.14")
Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Link: https://lore.kernel.org/r/1614596786-22326-1-git-send-email-yoshihiro.shimoda.uh@renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
3 years agoarm64: dts: renesas: r8a77961-ulcb: add HDMI Display support
Yuya Hamamachi [Wed, 17 Feb 2021 09:06:03 +0000 (18:06 +0900)]
arm64: dts: renesas: r8a77961-ulcb: add HDMI Display support

This patch enables HDMI Display on M3ULCB with R-Car M3-W+.

Signed-off-by: Yuya Hamamachi <yuya.hamamachi.sx@renesas.com>
Link: https://lore.kernel.org/r/20210217090603.1517-1-yuya.hamamachi.sx@renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
3 years agoARM: dts: renesas: Add mmc aliases into R-Car Gen2 board dts files
Yoshihiro Shimoda [Fri, 12 Feb 2021 12:01:56 +0000 (21:01 +0900)]
ARM: dts: renesas: Add mmc aliases into R-Car Gen2 board dts files

After set PROBE_PREFER_ASYNCHRONOUS flag on the mmc host drivers,
the order of /dev/mmcblkN was not fixed in some SoCs which have
multiple SDHI and/or MMCIF controllers. So, we were hard to use
such a device as rootfs by using the kernel parameter like
"root=/dev/mmcblkNpM".

According to the discussion on a mainling list [1], we can add
mmc aliases to fix the issue. So, add such aliases into R-Car Gen2
board dts files. Note that, since R-Car Gen2 is even more complicated
about SDHI and/or MMCIF channels variations and they share pins,
add the aliases into board dts files instead of SoC dtsi files.

[1]
https://lore.kernel.org/linux-arm-kernel/CAPDyKFptyEQNJu8cqzMt2WRFZcwEdjDiytMBp96nkoZyprTgmA@mail.gmail.com/

Fixes: 7320915c8861 ("mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.14")
Fixes: 21b2cec61c04 ("mmc: Set PROBE_PREFER_ASYNCHRONOUS for drivers that existed in v4.4")
Signed-off-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Link: https://lore.kernel.org/r/1613131316-30994-1-git-send-email-yoshihiro.shimoda.uh@renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
3 years agoarm64: dts: renesas: Group tuples in pin control properties
Geert Uytterhoeven [Thu, 4 Feb 2021 13:05:17 +0000 (14:05 +0100)]
arm64: dts: renesas: Group tuples in pin control properties

To improve human readability and enable automatic validation, the tuples
in "pinctrl-*" properties should be grouped using angle brackets.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20210204130517.1647073-6-geert+renesas@glider.be
3 years agoarm64: dts: renesas: Group tuples in playback and capture properties
Geert Uytterhoeven [Thu, 4 Feb 2021 13:05:16 +0000 (14:05 +0100)]
arm64: dts: renesas: Group tuples in playback and capture properties

To improve human readability and enable automatic validation, the tuples
in "playback" and "capture" properties in sound device nodes should be
grouped using angle brackets.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20210204130517.1647073-5-geert+renesas@glider.be
3 years agoARM: dts: renesas: Group tuples in pin control properties
Geert Uytterhoeven [Thu, 4 Feb 2021 13:05:15 +0000 (14:05 +0100)]
ARM: dts: renesas: Group tuples in pin control properties

To improve human readability and enable automatic validation, the tuples
in "pinctrl-*" properties should be grouped using angle brackets.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20210204130517.1647073-4-geert+renesas@glider.be
3 years agoARM: dts: renesas: Group tuples in playback and capture properties
Geert Uytterhoeven [Thu, 4 Feb 2021 13:05:14 +0000 (14:05 +0100)]
ARM: dts: renesas: Group tuples in playback and capture properties

To improve human readability and enable automatic validation, the tuples
in "playback" and "capture" properties in sound device nodes should be
grouped using angle brackets.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20210204130517.1647073-3-geert+renesas@glider.be
3 years agoARM: dts: renesas: Group tuples in APMU cpus properties
Geert Uytterhoeven [Thu, 4 Feb 2021 13:05:13 +0000 (14:05 +0100)]
ARM: dts: renesas: Group tuples in APMU cpus properties

To improve human readability and enable automatic validation, the tuples
in "cpus" properties in device nodes for Advanced Power Management Units
for AP-System Core (APMU) should be grouped using angle brackets.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20210204130517.1647073-2-geert+renesas@glider.be
3 years agoARM: dts: r8a7742-iwg21d-q7-dbcm-ca: Add support for 8-bit ov7725 sensors
Lad Prabhakar [Fri, 22 Jan 2021 11:34:24 +0000 (12:34 +0100)]
ARM: dts: r8a7742-iwg21d-q7-dbcm-ca: Add support for 8-bit ov7725 sensors

The 8-bit ov7725 sensors can also be connected to the camera daughter
board.

This patch creates a separate dtsi file to describe an ov7725 sensor,
and includes it multiple times in r8a7742-iwg21d-q7-dbcm-ca.dts. The
user can (un)comment #include statements depending on the cameras
connected.

Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Biju Das <biju.das.jz@bp.renesas.com>
[geert: describe a single camera in the .dtsi, include multiple times]
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Link: https://lore.kernel.org/r/20210122113424.2833127-3-geert+renesas@glider.be
3 years agoARM: dts: r8a7742-iwg21d-q7-dbcm-ca: Separate out ov5640 nodes
Lad Prabhakar [Fri, 22 Jan 2021 11:34:23 +0000 (12:34 +0100)]
ARM: dts: r8a7742-iwg21d-q7-dbcm-ca: Separate out ov5640 nodes

The camera daughter board can also be connected to 8-bit ov7725 sensors,
so in preparation for configurable option to choose depending on the
camera's connected separate out the ov5640 nodes in a dtsi file.

Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Biju Das <biju.das.jz@bp.renesas.com>
[geert: describe a single camera in the .dtsi, include multiple times]
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Link: https://lore.kernel.org/r/20210122113424.2833127-2-geert+renesas@glider.be
3 years agoLinux 5.12-rc2
Linus Torvalds [Sat, 6 Mar 2021 01:33:41 +0000 (17:33 -0800)]
Linux 5.12-rc2

3 years agoMerge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma
Linus Torvalds [Sat, 6 Mar 2021 01:27:59 +0000 (17:27 -0800)]
Merge tag 'for-linus' of git://git./linux/kernel/git/rdma/rdma

Pull rdma fixes from Jason Gunthorpe:
 "Nothing special here, though Bob's regression fixes for rxe would have
  made it before the rc cycle had there not been such strong winter
  weather!

   - Fix corner cases in the rxe reference counting cleanup that are
     causing regressions in blktests for SRP

   - Two kdoc fixes so W=1 is clean

   - Missing error return in error unwind for mlx5

   - Wrong lock type nesting in IB CM"

* tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rdma/rdma:
  RDMA/rxe: Fix errant WARN_ONCE in rxe_completer()
  RDMA/rxe: Fix extra deref in rxe_rcv_mcast_pkt()
  RDMA/rxe: Fix missed IB reference counting in loopback
  RDMA/uverbs: Fix kernel-doc warning of _uverbs_alloc
  RDMA/mlx5: Set correct kernel-doc identifier
  IB/mlx5: Add missing error code
  RDMA/rxe: Fix missing kconfig dependency on CRYPTO
  RDMA/cm: Fix IRQ restore in ib_send_cm_sidr_rep

3 years agoMerge tag 'gcc-plugins-v5.12-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git...
Linus Torvalds [Sat, 6 Mar 2021 01:23:03 +0000 (17:23 -0800)]
Merge tag 'gcc-plugins-v5.12-rc2' of git://git./linux/kernel/git/kees/linux

Pull gcc-plugins fixes from Kees Cook:
 "Tiny gcc-plugin fixes for v5.12-rc2. These issues are small but have
  been reported a couple times now by static analyzers, so best to get
  them fixed to reduce the noise. :)

   - Fix coding style issues (Jason Yan)"

* tag 'gcc-plugins-v5.12-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
  gcc-plugins: latent_entropy: remove unneeded semicolon
  gcc-plugins: structleak: remove unneeded variable 'ret'

3 years agoMerge tag 'pstore-v5.12-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/kees...
Linus Torvalds [Sat, 6 Mar 2021 01:21:25 +0000 (17:21 -0800)]
Merge tag 'pstore-v5.12-rc2' of git://git./linux/kernel/git/kees/linux

Pull pstore fixes from Kees Cook:

 - Rate-limit ECC warnings (Dmitry Osipenko)

 - Fix error path check for NULL (Tetsuo Handa)

* tag 'pstore-v5.12-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
  pstore/ram: Rate-limit "uncorrectable error in header" message
  pstore: Fix warning in pstore_kill_sb()

3 years agoMerge tag 'for-5.12/dm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device...
Linus Torvalds [Fri, 5 Mar 2021 21:25:23 +0000 (13:25 -0800)]
Merge tag 'for-5.12/dm-fixes' of git://git./linux/kernel/git/device-mapper/linux-dm

Pull device mapper fixes from Mike Snitzer:
 "Fix DM verity target's optional Forward Error Correction (FEC) for
  Reed-Solomon roots that are unaligned to block size"

* tag 'for-5.12/dm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
  dm verity: fix FEC for RS roots unaligned to block size
  dm bufio: subtract the number of initial sectors in dm_bufio_get_device_size

3 years agoMerge tag 'block-5.12-2021-03-05' of git://git.kernel.dk/linux-block
Linus Torvalds [Fri, 5 Mar 2021 20:59:37 +0000 (12:59 -0800)]
Merge tag 'block-5.12-2021-03-05' of git://git.kernel.dk/linux-block

Pull block fixes from Jens Axboe:

 - NVMe fixes:
      - more device quirks (Julian Einwag, Zoltán Böszörményi, Pascal
        Terjan)
      - fix a hwmon error return (Daniel Wagner)
      - fix the keep alive timeout initialization (Martin George)
      - ensure the model_number can't be changed on a used subsystem
        (Max Gurtovoy)

 - rsxx missing -EFAULT on copy_to_user() failure (Dan)

 - rsxx remove unused linux.h include (Tian)

 - kill unused RQF_SORTED (Jean)

 - updated outdated BFQ comments (Joseph)

 - revert work-around commit for bd_size_lock, since we removed the
   offending user in this merge window (Damien)

* tag 'block-5.12-2021-03-05' of git://git.kernel.dk/linux-block:
  nvmet: model_number must be immutable once set
  nvme-fabrics: fix kato initialization
  nvme-hwmon: Return error code when registration fails
  nvme-pci: add quirks for Lexar 256GB SSD
  nvme-pci: mark Kingston SKC2000 as not supporting the deepest power state
  nvme-pci: mark Seagate Nytro XM1440 as QUIRK_NO_NS_DESC_LIST.
  rsxx: Return -EFAULT if copy_to_user() fails
  block/bfq: update comments and default value in docs for fifo_expire
  rsxx: remove unused including <linux/version.h>
  block: Drop leftover references to RQF_SORTED
  block: revert "block: fix bd_size_lock use"

3 years agoMerge tag 'io_uring-5.12-2021-03-05' of git://git.kernel.dk/linux-block
Linus Torvalds [Fri, 5 Mar 2021 20:44:43 +0000 (12:44 -0800)]
Merge tag 'io_uring-5.12-2021-03-05' of git://git.kernel.dk/linux-block

Pull io_uring fixes from Jens Axboe:
 "A bit of a mix between fallout from the worker change, cleanups and
  reductions now possible from that change, and fixes in general. In
  detail:

   - Fully serialize manager and worker creation, fixing races due to
     that.

   - Clean up some naming that had gone stale.

   - SQPOLL fixes.

   - Fix race condition around task_work rework that went into this
     merge window.

   - Implement unshare. Used for when the original task does unshare(2)
     or setuid/seteuid and friends, drops the original workers and forks
     new ones.

   - Drop the only remaining piece of state shuffling we had left, which
     was cred. Move it into issue instead, and we can drop all of that
     code too.

   - Kill f_op->flush() usage. That was such a nasty hack that we had
     out of necessity, we no longer need it.

   - Following from ->flush() removal, we can also drop various bits of
     ctx state related to SQPOLL and cancelations.

   - Fix an issue with IOPOLL retry, which originally was fallout from a
     filemap change (removing iov_iter_revert()), but uncovered an issue
     with iovec re-import too late.

   - Fix an issue with system suspend.

   - Use xchg() for fallback work, instead of cmpxchg().

   - Properly destroy io-wq on exec.

   - Add create_io_thread() core helper, and use that in io-wq and
     io_uring. This allows us to remove various silly completion events
     related to thread setup.

   - A few error handling fixes.

  This should be the grunt of fixes necessary for the new workers, next
  week should be quieter. We've got a pending series from Pavel on
  cancelations, and how tasks and rings are indexed. Outside of that,
  should just be minor fixes. Even with these fixes, we're still killing
  a net ~80 lines"

* tag 'io_uring-5.12-2021-03-05' of git://git.kernel.dk/linux-block: (41 commits)
  io_uring: don't restrict issue_flags for io_openat
  io_uring: make SQPOLL thread parking saner
  io-wq: kill hashed waitqueue before manager exits
  io_uring: clear IOCB_WAITQ for non -EIOCBQUEUED return
  io_uring: don't keep looping for more events if we can't flush overflow
  io_uring: move to using create_io_thread()
  kernel: provide create_io_thread() helper
  io_uring: reliably cancel linked timeouts
  io_uring: cancel-match based on flags
  io-wq: ensure all pending work is canceled on exit
  io_uring: ensure that threads freeze on suspend
  io_uring: remove extra in_idle wake up
  io_uring: inline __io_queue_async_work()
  io_uring: inline io_req_clean_work()
  io_uring: choose right tctx->io_wq for try cancel
  io_uring: fix -EAGAIN retry with IOPOLL
  io-wq: fix error path leak of buffered write hash map
  io_uring: remove sqo_task
  io_uring: kill sqo_dead and sqo submission halting
  io_uring: ignore double poll add on the same waitqueue head
  ...

3 years agoMerge tag 'pm-5.12-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm
Linus Torvalds [Fri, 5 Mar 2021 20:36:33 +0000 (12:36 -0800)]
Merge tag 'pm-5.12-rc2' of git://git./linux/kernel/git/rafael/linux-pm

Pull power management fixes from Rafael Wysocki:
 "These fix the usage of device links in the runtime PM core code and
  update the DTPM (Dynamic Thermal Power Management) feature added
  recently.

  Specifics:

   - Make the runtime PM core code avoid attempting to suspend supplier
     devices before updating the PM-runtime status of a consumer to
     'suspended' (Rafael Wysocki).

   - Fix DTPM (Dynamic Thermal Power Management) root node
     initialization and label that feature as EXPERIMENTAL in Kconfig
     (Daniel Lezcano)"

* tag 'pm-5.12-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
  powercap/drivers/dtpm: Add the experimental label to the option description
  powercap/drivers/dtpm: Fix root node initialization
  PM: runtime: Update device status before letting suppliers suspend

3 years agoMerge tag 'acpi-5.12-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael...
Linus Torvalds [Fri, 5 Mar 2021 20:32:17 +0000 (12:32 -0800)]
Merge tag 'acpi-5.12-rc2' of git://git./linux/kernel/git/rafael/linux-pm

Pull ACPI fix from Rafael Wysocki:
 "Make the empty stubs of some helper functions used when CONFIG_ACPI is
  not set actually match those functions (Andy Shevchenko)"

* tag 'acpi-5.12-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
  ACPI: bus: Constify is_acpi_node() and friends (part 2)

3 years agoMerge tag 'iommu-fixes-v5.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git...
Linus Torvalds [Fri, 5 Mar 2021 20:26:24 +0000 (12:26 -0800)]
Merge tag 'iommu-fixes-v5.12-rc1' of git://git./linux/kernel/git/joro/iommu

Pull iommu fixes from Joerg Roedel:

 - Fix a sleeping-while-atomic issue in the AMD IOMMU code

 - Disable lazy IOTLB flush for untrusted devices in the Intel VT-d
   driver

 - Fix status code definitions for Intel VT-d

 - Fix IO Page Fault issue in Tegra IOMMU driver

* tag 'iommu-fixes-v5.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu:
  iommu/vt-d: Fix status code for Allocate/Free PASID command
  iommu: Don't use lazy flush for untrusted device
  iommu/tegra-smmu: Fix mc errors on tegra124-nyan
  iommu/amd: Fix sleeping in atomic in increase_address_space()

3 years agoMerge tag 'for-5.12-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave...
Linus Torvalds [Fri, 5 Mar 2021 20:21:14 +0000 (12:21 -0800)]
Merge tag 'for-5.12-rc1-tag' of git://git./linux/kernel/git/kdave/linux

Pull btrfs fixes from David Sterba:
 "More regression fixes and stabilization.

  Regressions:

   - zoned mode
      - count zone sizes in wider int types
      - fix space accounting for read-only block groups

   - subpage: fix page tail zeroing

  Fixes:

   - fix spurious warning when remounting with free space tree

   - fix warning when creating a directory with smack enabled

   - ioctl checks for qgroup inheritance when creating a snapshot

   - qgroup
      - fix missing unlock on error path in zero range
      - fix amount of released reservation on error
      - fix flushing from unsafe context with open transaction,
        potentially deadlocking

   - minor build warning fixes"

* tag 'for-5.12-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
  btrfs: zoned: do not account freed region of read-only block group as zone_unusable
  btrfs: zoned: use sector_t for zone sectors
  btrfs: subpage: fix the false data csum mismatch error
  btrfs: fix warning when creating a directory with smack enabled
  btrfs: don't flush from btrfs_delayed_inode_reserve_metadata
  btrfs: export and rename qgroup_reserve_meta
  btrfs: free correct amount of space in btrfs_delayed_inode_reserve_metadata
  btrfs: fix spurious free_space_tree remount warning
  btrfs: validate qgroup inherit for SNAP_CREATE_V2 ioctl
  btrfs: unlock extents in btrfs_zero_range in case of quota reservation errors
  btrfs: ref-verify: use 'inline void' keyword ordering