sfrench/cifs-2.6.git
3 years agoMerge branches 'omap-for-v5.13/genpd-dra7', 'omap-for-v5.13/genpd-omap4' and 'omap...
Tony Lindgren [Wed, 10 Mar 2021 12:19:20 +0000 (14:19 +0200)]
Merge branches 'omap-for-v5.13/genpd-dra7', 'omap-for-v5.13/genpd-omap4' and 'omap-for-v5.13/genpd-omap5' into omap-for-v5.13/genpd-drop-legacy

Merge together branches dropping legacy data to avoid a minor merge conflict.

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: OMAP2+: Drop legacy platform data for omap5 hwmod
Tony Lindgren [Wed, 10 Mar 2021 12:05:02 +0000 (14:05 +0200)]
ARM: OMAP2+: Drop legacy platform data for omap5 hwmod

We can now probe interconnects with simple-pm-bus and genpd.

Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoARM: OMAP2+: Drop legacy platform data for omap5 l3
Tony Lindgren [Wed, 10 Mar 2021 12:05:02 +0000 (14:05 +0200)]
ARM: OMAP2+: Drop legacy platform data for omap5 l3

We can now probe interconnects with simple-pm-bus and genpd.

Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoARM: OMAP2+: Drop legacy platform data for omap5 l4_cfg
Tony Lindgren [Wed, 10 Mar 2021 12:05:01 +0000 (14:05 +0200)]
ARM: OMAP2+: Drop legacy platform data for omap5 l4_cfg

We can now probe interconnects with simple-pm-bus and genpd.

Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoARM: OMAP2+: Drop legacy platform data for omap5 l4_per
Tony Lindgren [Wed, 10 Mar 2021 12:05:01 +0000 (14:05 +0200)]
ARM: OMAP2+: Drop legacy platform data for omap5 l4_per

We can now probe interconnects with simple-pm-bus and genpd.

Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoARM: OMAP2+: Drop legacy platform data for omap5 l4_wkup
Tony Lindgren [Wed, 10 Mar 2021 12:05:00 +0000 (14:05 +0200)]
ARM: OMAP2+: Drop legacy platform data for omap5 l4_wkup

We can now probe interconnects with simple-pm-bus and genpd.

Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoARM: OMAP2+: Drop legacy platform data for omap5 sata
Tony Lindgren [Wed, 10 Mar 2021 12:05:00 +0000 (14:05 +0200)]
ARM: OMAP2+: Drop legacy platform data for omap5 sata

We can now probe devices with ti-sysc interconnect driver and dts data.
Let's drop the related platform data and custom ti,hwmods dts property.

As we're just dropping data, and the early platform data init is based on
the custom ti,hwmods property, we want to drop both the platform data and
ti,hwmods property in a single patch.

Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoARM: OMAP2+: Drop legacy platform data for omap5 mpu
Tony Lindgren [Wed, 10 Mar 2021 12:05:00 +0000 (14:05 +0200)]
ARM: OMAP2+: Drop legacy platform data for omap5 mpu

We can now probe devices with ti-sysc interconnect driver and dts data.
Let's drop the related platform data and custom ti,hwmods dts property.

As we're just dropping data, and the early platform data init is based on
the custom ti,hwmods property, we want to drop both the platform data and
ti,hwmods property in a single patch.

Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoARM: OMAP2+: Drop legacy platform data for omap5 emif
Tony Lindgren [Wed, 10 Mar 2021 12:04:59 +0000 (14:04 +0200)]
ARM: OMAP2+: Drop legacy platform data for omap5 emif

We can now probe devices with ti-sysc interconnect driver and dts data.
Let's drop the related platform data and custom ti,hwmods dts property.

As we're just dropping data, and the early platform data init is based on
the custom ti,hwmods property, we want to drop both the platform data and
ti,hwmods property in a single patch.

Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoARM: OMAP2+: Drop legacy platform data for omap5 dmm
Tony Lindgren [Wed, 10 Mar 2021 12:04:59 +0000 (14:04 +0200)]
ARM: OMAP2+: Drop legacy platform data for omap5 dmm

We can now probe devices with ti-sysc interconnect driver and dts data.
Let's drop the related platform data and custom ti,hwmods dts property.

As we're just dropping data, and the early platform data init is based on
the custom ti,hwmods property, we want to drop both the platform data and
ti,hwmods property in a single patch.

Signed-off-by: Tony Lindgren <tony@atomide.com>
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: OMAP2+: Drop legacy platform data for omap4 hwmod
Tony Lindgren [Wed, 10 Mar 2021 12:04:37 +0000 (14:04 +0200)]
ARM: OMAP2+: Drop legacy platform data for omap4 hwmod

We can now probe interconnects with simple-pm-bus and genpd.

Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoARM: OMAP2+: Drop legacy platform data for omap4 l3
Tony Lindgren [Wed, 10 Mar 2021 12:04:37 +0000 (14:04 +0200)]
ARM: OMAP2+: Drop legacy platform data for omap4 l3

We can now probe interconnects with simple-pm-bus and genpd.

Let's drop the legacy data along with the ti,hwmods property and flip
over to using simple-pm-bus instead of simple-bus.

Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoARM: OMAP2+: Drop legacy platform data for omap4 l4_cfg
Tony Lindgren [Wed, 10 Mar 2021 12:04:36 +0000 (14:04 +0200)]
ARM: OMAP2+: Drop legacy platform data for omap4 l4_cfg

We can now probe interconnects with simple-pm-bus and genpd.

Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoARM: OMAP2+: Drop legacy platform data for omap4 l4_per
Tony Lindgren [Wed, 10 Mar 2021 12:04:36 +0000 (14:04 +0200)]
ARM: OMAP2+: Drop legacy platform data for omap4 l4_per

We can now probe interconnects with simple-pm-bus and genpd.

Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoARM: OMAP2+: Drop legacy platform data for omap4 l4_wkup
Tony Lindgren [Wed, 10 Mar 2021 12:04:35 +0000 (14:04 +0200)]
ARM: OMAP2+: Drop legacy platform data for omap4 l4_wkup

We can now probe interconnects with simple-pm-bus and genpd.

Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoARM: OMAP2+: Drop legacy platform data for omap4 mpu
Tony Lindgren [Wed, 10 Mar 2021 12:04:35 +0000 (14:04 +0200)]
ARM: OMAP2+: Drop legacy platform data for omap4 mpu

We can now probe devices with ti-sysc interconnect driver and dts data.
Let's drop the related platform data and custom ti,hwmods dts property.

As we're just dropping data, and the early platform data init is based on
the custom ti,hwmods property, we want to drop both the platform data and
ti,hwmods property in a single patch.

Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoARM: OMAP2+: Drop legacy platform data for omap4 debugss
Tony Lindgren [Wed, 10 Mar 2021 12:04:35 +0000 (14:04 +0200)]
ARM: OMAP2+: Drop legacy platform data for omap4 debugss

We can now probe devices with ti-sysc interconnect driver and dts data.
Let's drop the related platform data and custom ti,hwmods dts property.

As we're just dropping data, and the early platform data init is based on
the custom ti,hwmods property, we want to drop both the platform data and
ti,hwmods property in a single patch.

Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoARM: OMAP2+: Drop legacy platform data for omap4 emif
Tony Lindgren [Wed, 10 Mar 2021 12:04:34 +0000 (14:04 +0200)]
ARM: OMAP2+: Drop legacy platform data for omap4 emif

We can now probe devices with ti-sysc interconnect driver and dts data.
Let's drop the related platform data and custom ti,hwmods dts property.

As we're just dropping data, and the early platform data init is based on
the custom ti,hwmods property, we want to drop both the platform data and
ti,hwmods property in a single patch.

Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoARM: OMAP2+: Drop legacy platform data for omap4 dmm
Tony Lindgren [Wed, 10 Mar 2021 12:04:34 +0000 (14:04 +0200)]
ARM: OMAP2+: Drop legacy platform data for omap4 dmm

We can now probe devices with ti-sysc interconnect driver and dts data.
Let's drop the related platform data and custom ti,hwmods dts property.

As we're just dropping data, and the early platform data init is based on
the custom ti,hwmods property, we want to drop both the platform data and
ti,hwmods property in a single patch.

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: OMAP2+: Drop legacy platform data for omap4 control modules
Tony Lindgren [Wed, 10 Mar 2021 12:04:33 +0000 (14:04 +0200)]
ARM: OMAP2+: Drop legacy platform data for omap4 control modules

We can now probe devices with ti-sysc interconnect driver and dts
data. Let's drop the related platform data and custom ti,hwmods
dts property.

Signed-off-by: Tony Lindgren <tony@atomide.com>
3 years agoARM: OMAP2+: Drop legacy platform data for omap4 iss
Tony Lindgren [Wed, 10 Mar 2021 12:04:33 +0000 (14:04 +0200)]
ARM: OMAP2+: Drop legacy platform data for omap4 iss

We can now probe devices with ti-sysc interconnect driver and dts
data. Let's drop the related platform data and custom ti,hwmods
dts property.

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: OMAP2+: Drop legacy platform data for dra7 hwmod
Tony Lindgren [Wed, 10 Mar 2021 12:03:55 +0000 (14:03 +0200)]
ARM: OMAP2+: Drop legacy platform data for dra7 hwmod

We can now probe interconnects 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: OMAP2+: Drop legacy platform data for dra7 l3
Tony Lindgren [Wed, 10 Mar 2021 12:03:54 +0000 (14:03 +0200)]
ARM: OMAP2+: Drop legacy platform data for dra7 l3

We can now probe interconnects with simple-pm-bus and genpd.

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: OMAP2+: Drop legacy platform data for dra7 l4_cfg
Tony Lindgren [Wed, 10 Mar 2021 12:03:54 +0000 (14:03 +0200)]
ARM: OMAP2+: Drop legacy platform data for dra7 l4_cfg

We can now probe interconnects with simple-pm-bus and genpd.

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: OMAP2+: Drop legacy platform data for dra7 l4_per3
Tony Lindgren [Wed, 10 Mar 2021 12:03:53 +0000 (14:03 +0200)]
ARM: OMAP2+: Drop legacy platform data for dra7 l4_per3

We can now probe interconnects with simple-pm-bus and genpd.

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: OMAP2+: Drop legacy platform data for dra7 l4_per2
Tony Lindgren [Wed, 10 Mar 2021 12:03:53 +0000 (14:03 +0200)]
ARM: OMAP2+: Drop legacy platform data for dra7 l4_per2

We can now probe interconnects with simple-pm-bus and genpd.

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: OMAP2+: Drop legacy platform data for dra7 l4_per1
Tony Lindgren [Wed, 10 Mar 2021 12:03:53 +0000 (14:03 +0200)]
ARM: OMAP2+: Drop legacy platform data for dra7 l4_per1

We can now probe interconnects with simple-pm-bus and genpd.

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: OMAP2+: Drop legacy platform data for dra7 l4_wkup
Tony Lindgren [Wed, 10 Mar 2021 12:03:52 +0000 (14:03 +0200)]
ARM: OMAP2+: Drop legacy platform data for dra7 l4_wkup

We can now probe interconnects with simple-pm-bus and genpd.

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: OMAP2+: Drop legacy platform data for dra7 dmm
Tony Lindgren [Wed, 10 Mar 2021 12:03:52 +0000 (14:03 +0200)]
ARM: OMAP2+: Drop legacy platform data for dra7 dmm

We can now probe devices with ti-sysc interconnect driver and dts data.
Let's drop the related platform data and custom ti,hwmods dts property.

As we're just dropping data, and the early platform data init is based on
the custom ti,hwmods property, we want to drop both the platform data and
ti,hwmods property in a single patch.

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: OMAP2+: Drop legacy platform data for dra7 mpu
Tony Lindgren [Wed, 10 Mar 2021 12:03:51 +0000 (14:03 +0200)]
ARM: OMAP2+: Drop legacy platform data for dra7 mpu

We can now probe devices with ti-sysc interconnect driver and dts data.
Let's drop the related platform data and custom ti,hwmods dts property.

As we're just dropping data, and the early platform data init is based on
the custom ti,hwmods property, we want to drop both the platform data and
ti,hwmods property in a single patch.

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: OMAP2+: Drop legacy platform data for dra7 sata
Tony Lindgren [Wed, 10 Mar 2021 12:03:51 +0000 (14:03 +0200)]
ARM: OMAP2+: Drop legacy platform data for dra7 sata

We can now probe devices with ti-sysc interconnect driver and dts data.
Let's drop the related platform data and custom ti,hwmods dts property.

As we're just dropping data, and the early platform data init is based on
the custom ti,hwmods property, we want to drop both the platform data and
ti,hwmods property in a single patch.

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: OMAP2+: Drop legacy platform data for dra7 qspi
Tony Lindgren [Wed, 10 Mar 2021 12:03:51 +0000 (14:03 +0200)]
ARM: OMAP2+: Drop legacy platform data for dra7 qspi

We can now probe devices with ti-sysc interconnect driver and dts data.
Let's drop the related platform data and custom ti,hwmods dts property.

As we're just dropping data, and the early platform data init is based on
the custom ti,hwmods property, we want to drop both the platform data and
ti,hwmods property in a single patch.

Cc: Vignesh Raghavendra <vigneshr@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: OMAP2+: Drop legacy platform data for dra7 pcie
Tony Lindgren [Wed, 10 Mar 2021 12:03:50 +0000 (14:03 +0200)]
ARM: OMAP2+: Drop legacy platform data for dra7 pcie

We can now probe devices with ti-sysc interconnect driver and dts data.
Let's drop the related platform data and custom ti,hwmods dts property.

As we're just dropping data, and the early platform data init is based on
the custom ti,hwmods property, we want to drop both the platform data and
ti,hwmods property in a single patch.

Cc: 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 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 agoLinux 5.12-rc2 v5.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

3 years agoMerge tag 'devicetree-fixes-for-5.12-1' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Fri, 5 Mar 2021 20:12:28 +0000 (12:12 -0800)]
Merge tag 'devicetree-fixes-for-5.12-1' of git://git./linux/kernel/git/robh/linux

Pull devicetree fixes from Rob Herring:

 - Another batch of graph and video-interfaces schema conversions

 - Drop DT header symlink for dropped C6X arch

 - Fix bcm2711-hdmi schema error

* tag 'devicetree-fixes-for-5.12-1' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
  dt-bindings: media: Use graph and video-interfaces schemas, round 2
  dts: drop dangling c6x symlink
  dt-bindings: bcm2711-hdmi: Fix broken schema

3 years agoMerge tag 'trace-v5.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt...
Linus Torvalds [Fri, 5 Mar 2021 20:04:59 +0000 (12:04 -0800)]
Merge tag 'trace-v5.12-rc1' of git://git./linux/kernel/git/rostedt/linux-trace

Pull tracing fixes from Steven Rostedt:
 "Functional fixes:

   - Fix big endian conversion for arm64 in recordmcount processing

   - Fix timestamp corruption in ring buffer on discarding events

   - Fix memory leak in __create_synth_event()

   - Skip selftests if tracing is disabled as it will cause them to
     fail.

  Non-functional fixes:

   - Fix help text in Kconfig

   - Remove duplicate prototype for trace_empty()

   - Fix stale comment about the trace_event_call flags.

  Self test update:

   - Add more information to the validation output of when a corrupt
     timestamp is found in the ring buffer, and also trigger a warning
     to make sure that tests catch it"

* tag 'trace-v5.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
  tracing: Fix comment about the trace_event_call flags
  tracing: Skip selftests if tracing is disabled
  tracing: Fix memory leak in __create_synth_event()
  ring-buffer: Add a little more information and a WARN when time stamp going backwards is detected
  ring-buffer: Force before_stamp and write_stamp to be different on discard
  tracing: Fix help text of TRACEPOINT_BENCHMARK in Kconfig
  tracing: Remove duplicate declaration from trace.h
  ftrace: Have recordmcount use w8 to read relp->r_info in arm64_is_fake_mcount

3 years agoRDMA/rxe: Fix errant WARN_ONCE in rxe_completer()
Bob Pearson [Thu, 4 Mar 2021 19:20:49 +0000 (13:20 -0600)]
RDMA/rxe: Fix errant WARN_ONCE in rxe_completer()

In rxe_comp.c in rxe_completer() the function free_pkt() did not clear skb
which triggered a warning at 'done:' and could possibly at 'exit:'. The
WARN_ONCE() calls are not actually needed.  The call to free_pkt() is
moved to the end to clearly show that all skbs are freed.

Fixes: 899aba891cab ("RDMA/rxe: Fix FIXME in rxe_udp_encap_recv()")
Link: https://lore.kernel.org/r/20210304192048.2958-1-rpearson@hpe.com
Signed-off-by: Bob Pearson <rpearsonhpe@gmail.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
3 years agoRDMA/rxe: Fix extra deref in rxe_rcv_mcast_pkt()
Bob Pearson [Thu, 4 Mar 2021 19:20:49 +0000 (13:20 -0600)]
RDMA/rxe: Fix extra deref in rxe_rcv_mcast_pkt()

rxe_rcv_mcast_pkt() dropped a reference to ib_device when no error
occurred causing an underflow on the reference counter.  This code is
cleaned up to be clearer and easier to read.

Fixes: 899aba891cab ("RDMA/rxe: Fix FIXME in rxe_udp_encap_recv()")
Link: https://lore.kernel.org/r/20210304192048.2958-1-rpearson@hpe.com
Signed-off-by: Bob Pearson <rpearsonhpe@gmail.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
3 years agoRDMA/rxe: Fix missed IB reference counting in loopback
Bob Pearson [Thu, 4 Mar 2021 19:20:49 +0000 (13:20 -0600)]
RDMA/rxe: Fix missed IB reference counting in loopback

When the noted patch below extending the reference taken by
rxe_get_dev_from_net() in rxe_udp_encap_recv() until each skb is freed it
was not matched by a reference in the loopback path resulting in
underflows.

Fixes: 899aba891cab ("RDMA/rxe: Fix FIXME in rxe_udp_encap_recv()")
Link: https://lore.kernel.org/r/20210304192048.2958-1-rpearson@hpe.com
Signed-off-by: Bob Pearson <rpearsonhpe@gmail.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
3 years agoio_uring: don't restrict issue_flags for io_openat
Pavel Begunkov [Sun, 28 Feb 2021 22:35:14 +0000 (22:35 +0000)]
io_uring: don't restrict issue_flags for io_openat

45d189c606292 ("io_uring: replace force_nonblock with flags") did
something strange for io_openat() slicing all issue_flags but
IO_URING_F_NONBLOCK. Not a bug for now, but better to just forward the
flags.

Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
3 years agoMerge tag 'nvme-5.12-2021-03-05' of git://git.infradead.org/nvme into block-5.12
Jens Axboe [Fri, 5 Mar 2021 16:13:07 +0000 (09:13 -0700)]
Merge tag 'nvme-5.12-2021-03-05' of git://git.infradead.org/nvme into block-5.12

Pull NVMe fixes from Christoph:

"nvme fixes for 5.12:

 - 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)"

* tag 'nvme-5.12-2021-03-05' of git://git.infradead.org/nvme:
  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.