linux-2.6-block.git
3 years agoMerge branch 'arm/fixes' into for-next
Arnd Bergmann [Fri, 17 Dec 2021 15:09:27 +0000 (16:09 +0100)]
Merge branch 'arm/fixes' into for-next

* arm/fixes:
  optee: Suppress false positive kmemleak report in optee_handle_rpc()
  tee: optee: Fix incorrect page free bug
  tee: handle lookup of shm with reference count 0
  bus: sunxi-rsb: Fix shutdown
  arm64: dts: allwinner: orangepi-zero-plus: fix PHY mode

3 years agoMerge tag 'sunxi-drivers-for-5.17-1' of git://git.kernel.org/pub/scm/linux/kernel...
Arnd Bergmann [Fri, 17 Dec 2021 15:04:54 +0000 (16:04 +0100)]
Merge tag 'sunxi-drivers-for-5.17-1' of git://git./linux/kernel/git/sunxi/linux into arm/fixes

Some new drivers changes for the Allwinner SoCs, fixing the shutdown
path of the RSB driver

* tag 'sunxi-drivers-for-5.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
  bus: sunxi-rsb: Fix shutdown

Link: https://lore.kernel.org/r/6f2f75ad-de62-49a4-82a4-8655a567a09e.lettre@localhost
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoMerge tag 'sunxi-fixes-for-5.16-1' of git://git.kernel.org/pub/scm/linux/kernel/git...
Arnd Bergmann [Fri, 17 Dec 2021 14:51:29 +0000 (15:51 +0100)]
Merge tag 'sunxi-fixes-for-5.16-1' of git://git./linux/kernel/git/sunxi/linux into arm/fixes

One patch to fix the GMAC PHY mode on the OrangePi Zero Plus

* tag 'sunxi-fixes-for-5.16-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
  arm64: dts: allwinner: orangepi-zero-plus: fix PHY mode

Link: https://lore.kernel.org/r/e295f1f7-cd24-4a7a-ae83-aafb2a3263b6.lettre@localhost
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoMerge tag 'fixes-for-v5.16' of https://git.linaro.org/people/jens.wiklander/linux...
Arnd Bergmann [Fri, 17 Dec 2021 14:51:15 +0000 (15:51 +0100)]
Merge tag 'fixes-for-v5.16' of https://git.linaro.org/people/jens.wiklander/linux-tee into arm/fixes

TEE and OP-TEE fixes for v5.16

- Fixes a race when a tee_shm reaches reference count 0 and is about to
  be teared down
- Fixes an incorrect page free bug in an error path of the OP-TEE shared
  memory pool handling
- Suppresses a false positive kmemleak report when allocating driver
  private shared memory buffers for OP-TEE

* tag 'fixes-for-v5.16' of https://git.linaro.org/people/jens.wiklander/linux-tee:
  optee: Suppress false positive kmemleak report in optee_handle_rpc()
  tee: optee: Fix incorrect page free bug
  tee: handle lookup of shm with reference count 0

Link: https://lore.kernel.org/r/20211216150745.GA3347954@jade
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agosoc: document merges
Arnd Bergmann [Thu, 16 Dec 2021 16:55:25 +0000 (17:55 +0100)]
soc: document merges

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoMerge branch 'arm/newsoc' into for-next
Arnd Bergmann [Thu, 16 Dec 2021 16:53:55 +0000 (17:53 +0100)]
Merge branch 'arm/newsoc' into for-next

* arm/newsoc:
  RISC-V: Add BeagleV Starlight Beta device tree
  RISC-V: Add initial StarFive JH7100 device tree
  serial: 8250_dw: Add StarFive JH7100 quirk
  dt-bindings: serial: snps-dw-apb-uart: Add JH7100 uarts
  pinctrl: starfive: Add pinctrl driver for StarFive SoCs
  dt-bindings: pinctrl: Add StarFive JH7100 bindings
  dt-bindings: pinctrl: Add StarFive pinctrl definitions
  reset: starfive-jh7100: Add StarFive JH7100 reset driver
  dt-bindings: reset: Add Starfive JH7100 reset bindings
  dt-bindings: reset: Add StarFive JH7100 reset definitions
  clk: starfive: Add JH7100 clock generator driver
  dt-bindings: clock: starfive: Add JH7100 bindings
  dt-bindings: clock: starfive: Add JH7100 clock definitions
  dt-bindings: interrupt-controller: Add StarFive JH7100 plic
  dt-bindings: timer: Add StarFive JH7100 clint
  RISC-V: Add StarFive SoC Kconfig option

3 years agoMerge tag 'jh7100-for-5.17' of https://github.com/esmil/linux into arm/newsoc
Arnd Bergmann [Thu, 16 Dec 2021 16:51:38 +0000 (17:51 +0100)]
Merge tag 'jh7100-for-5.17' of https://github.com/esmil/linux into arm/newsoc

Basic StarFive JH7100 RISC-V SoC support

This adds support for the StarFive JH7100 RISC-V SoC. The SoC has many
devices that need non-coherent DMA operations to work which isn't
upstream yet[1], so this just adds basic support to boot up, get a
serial console, blink an LED and reboot itself. Unlike the Allwinner D1
this chip doesn't use any extra pagetable bits, but instead the DDR RAM
appears twice in the memory map, with and without the cache.

The JH7100 is a test chip for the upcoming JH7110 and about 300 BeagleV
Starlight Beta boards were sent out with them as part of a now cancelled
BeagleBoard.org project. However StarFive has produced more of the
JH7100s and will be selling VisionFive boards with them soon[2].

[1]: https://lore.kernel.org/linux-riscv/20210723214031.3251801-2-atish.patra@wdc.com/
[2]: https://www.cnx-software.com/2021/12/09/starfive-visionfive-single-board-computer-for-sale-accelerating-risc-v-ecosystem-development/

* tag 'jh7100-for-5.17' of https://github.com/esmil/linux:
  RISC-V: Add BeagleV Starlight Beta device tree
  RISC-V: Add initial StarFive JH7100 device tree
  serial: 8250_dw: Add StarFive JH7100 quirk
  dt-bindings: serial: snps-dw-apb-uart: Add JH7100 uarts
  pinctrl: starfive: Add pinctrl driver for StarFive SoCs
  dt-bindings: pinctrl: Add StarFive JH7100 bindings
  dt-bindings: pinctrl: Add StarFive pinctrl definitions
  reset: starfive-jh7100: Add StarFive JH7100 reset driver
  dt-bindings: reset: Add Starfive JH7100 reset bindings
  dt-bindings: reset: Add StarFive JH7100 reset definitions
  clk: starfive: Add JH7100 clock generator driver
  dt-bindings: clock: starfive: Add JH7100 bindings
  dt-bindings: clock: starfive: Add JH7100 clock definitions
  dt-bindings: interrupt-controller: Add StarFive JH7100 plic
  dt-bindings: timer: Add StarFive JH7100 clint
  RISC-V: Add StarFive SoC Kconfig option

Link: https://lore.kernel.org/r/20211216164205.286138-1-kernel@esmil.dk
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoRISC-V: Add BeagleV Starlight Beta device tree
Emil Renner Berthing [Sun, 10 Oct 2021 17:48:36 +0000 (19:48 +0200)]
RISC-V: Add BeagleV Starlight Beta device tree

Add initial device tree for the BeagleV Starlight Beta board. About 300
of these boards were sent out as part of a now cancelled BeagleBoard.org
project.

I2C timing data is based on the device tree in the vendor u-boot port.
Heartbeat LED added by Geert.

Acked-by: Palmer Dabbelt <palmer@rivosinc.com>
Co-developed-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Emil Renner Berthing <kernel@esmil.dk>
3 years agoRISC-V: Add initial StarFive JH7100 device tree
Emil Renner Berthing [Sun, 10 Oct 2021 14:48:27 +0000 (16:48 +0200)]
RISC-V: Add initial StarFive JH7100 device tree

Add initial device tree for the JH7100 RISC-V SoC by StarFive Ltd. This
is a test chip for their upcoming JH7110 SoC.

The CPU and cache data is based on the device tree in the vendor u-boot
port.

Acked-by: Palmer Dabbelt <palmer@rivosinc.com>
Signed-off-by: Emil Renner Berthing <kernel@esmil.dk>
3 years agoserial: 8250_dw: Add StarFive JH7100 quirk
Emil Renner Berthing [Mon, 4 Oct 2021 17:40:29 +0000 (19:40 +0200)]
serial: 8250_dw: Add StarFive JH7100 quirk

On the StarFive JH7100 RISC-V SoC the UART core clocks can't be set to
exactly 16 * 115200Hz and many other common bitrates. Trying this will
only result in a higher input clock, but low enough that the UART's
internal divisor can't come close enough to the baud rate target.
So rather than try to set the input clock it's better to skip the
clk_set_rate call and rely solely on the UART's internal divisor.

Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Emil Renner Berthing <kernel@esmil.dk>
3 years agodt-bindings: serial: snps-dw-apb-uart: Add JH7100 uarts
Emil Renner Berthing [Thu, 7 Oct 2021 12:24:29 +0000 (14:24 +0200)]
dt-bindings: serial: snps-dw-apb-uart: Add JH7100 uarts

Add compatibles for the StarFive JH7100 uarts.

Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Emil Renner Berthing <kernel@esmil.dk>
3 years agopinctrl: starfive: Add pinctrl driver for StarFive SoCs
Emil Renner Berthing [Tue, 6 Jul 2021 18:19:06 +0000 (20:19 +0200)]
pinctrl: starfive: Add pinctrl driver for StarFive SoCs

Add a combined pinctrl and GPIO driver for the JH7100 RISC-V SoC by
StarFive Ltd. This is a test chip for their upcoming JH7110 SoC, which
is said to feature only minor changes to these pinctrl/GPIO parts.

For each "GPIO" there are two registers for configuring the output and
output enable signals which may come from other peripherals. Among these
are two special signals that are constant 0 and constant 1 respectively.
Controlling the GPIOs from software is done by choosing one of these
signals. In other words the same registers are used for both pin muxing
and controlling the GPIOs, which makes it easier to combine the pinctrl
and GPIO driver in one.

I wrote the pinconf and pinmux parts, but the GPIO part of the code is
based on the GPIO driver in the vendor tree written by Huan Feng with
cleanups and fixes by Drew and me.

Datasheet: https://github.com/starfive-tech/JH7100_Docs/blob/main/JH7100%20Data%20Sheet%20V01.01.04-EN%20(4-21-2021).pdf
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Co-developed-by: Huan Feng <huan.feng@starfivetech.com>
Signed-off-by: Huan Feng <huan.feng@starfivetech.com>
Co-developed-by: Drew Fustini <drew@beagleboard.org>
Signed-off-by: Drew Fustini <drew@beagleboard.org>
Signed-off-by: Emil Renner Berthing <kernel@esmil.dk>
3 years agodt-bindings: pinctrl: Add StarFive JH7100 bindings
Emil Renner Berthing [Tue, 27 Jul 2021 12:34:33 +0000 (14:34 +0200)]
dt-bindings: pinctrl: Add StarFive JH7100 bindings

Add bindings for the GPIO/pin controller on the JH7100 RISC-V SoC by
StarFive Ltd. This is a test chip for their upcoming JH7110 SoC.

Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Emil Renner Berthing <kernel@esmil.dk>
3 years agodt-bindings: pinctrl: Add StarFive pinctrl definitions
Emil Renner Berthing [Tue, 6 Jul 2021 18:19:06 +0000 (20:19 +0200)]
dt-bindings: pinctrl: Add StarFive pinctrl definitions

Add definitons for pins and GPIO input, output and output enable
signals on the StarFive JH7100 SoC.

Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Emil Renner Berthing <kernel@esmil.dk>
3 years agoreset: starfive-jh7100: Add StarFive JH7100 reset driver
Emil Renner Berthing [Sun, 19 Sep 2021 12:21:05 +0000 (14:21 +0200)]
reset: starfive-jh7100: Add StarFive JH7100 reset driver

Add a driver for the StarFive JH7100 reset controller.

Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Emil Renner Berthing <kernel@esmil.dk>
3 years agodt-bindings: reset: Add Starfive JH7100 reset bindings
Emil Renner Berthing [Sun, 19 Sep 2021 12:34:34 +0000 (14:34 +0200)]
dt-bindings: reset: Add Starfive JH7100 reset bindings

Add bindings for the reset controller on the JH7100 RISC-V SoC by
StarFive Ltd. This is a test chip for their upcoming JH7110 SoC.

Reviewed-by: Geert Uytterhoeven <geert@linux-m68k.org>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Emil Renner Berthing <kernel@esmil.dk>
3 years agodt-bindings: reset: Add StarFive JH7100 reset definitions
Geert Uytterhoeven [Fri, 25 Jun 2021 09:30:00 +0000 (11:30 +0200)]
dt-bindings: reset: Add StarFive JH7100 reset definitions

Add all resets for the StarFive JH7100 reset controller.

Based on work by Ahmad Fatoum for Barebox, with "JH7100_" prefixes added
to all definitions.

Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Emil Renner Berthing <kernel@esmil.dk>
3 years agoclk: starfive: Add JH7100 clock generator driver
Geert Uytterhoeven [Tue, 1 Jun 2021 13:57:52 +0000 (15:57 +0200)]
clk: starfive: Add JH7100 clock generator driver

Add a driver for the StarFive JH7100 clock generator.

Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Acked-by: Stephen Boyd <sboyd@kernel.org>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Co-developed-by: Emil Renner Berthing <kernel@esmil.dk>
Signed-off-by: Emil Renner Berthing <kernel@esmil.dk>
3 years agodt-bindings: clock: starfive: Add JH7100 bindings
Geert Uytterhoeven [Tue, 1 Jun 2021 14:02:23 +0000 (16:02 +0200)]
dt-bindings: clock: starfive: Add JH7100 bindings

Add bindings for the clock generator on the JH7100 RISC-V SoC by
StarFive Ltd. This is a test chip for their upcoming JH7110 SoC.

Reviewed-by: Rob Herring <robh@kernel.org>
Acked-by: Stephen Boyd <sboyd@kernel.org>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Emil Renner Berthing <kernel@esmil.dk>
3 years agodt-bindings: clock: starfive: Add JH7100 clock definitions
Geert Uytterhoeven [Fri, 25 Jun 2021 09:29:51 +0000 (11:29 +0200)]
dt-bindings: clock: starfive: Add JH7100 clock definitions

Add all clock outputs for the StarFive JH7100 clock generator.

Based on work by Ahmad Fatoum for Barebox, with "JH7100_" prefixes added
to all definitions.

Acked-by: Rob Herring <robh@kernel.org>
Acked-by: Stephen Boyd <sboyd@kernel.org>
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Emil Renner Berthing <kernel@esmil.dk>
3 years agooptee: Suppress false positive kmemleak report in optee_handle_rpc()
Xiaolei Wang [Mon, 6 Dec 2021 12:05:33 +0000 (20:05 +0800)]
optee: Suppress false positive kmemleak report in optee_handle_rpc()

We observed the following kmemleak report:
unreferenced object 0xffff000007904500 (size 128):
  comm "swapper/0", pid 1, jiffies 4294892671 (age 44.036s)
  hex dump (first 32 bytes):
    00 47 90 07 00 00 ff ff 60 00 c0 ff 00 00 00 00  .G......`.......
    60 00 80 13 00 80 ff ff a0 00 00 00 00 00 00 00  `...............
  backtrace:
    [<000000004c12b1c7>] kmem_cache_alloc+0x1ac/0x2f4
    [<000000005d23eb4f>] tee_shm_alloc+0x78/0x230
    [<00000000794dd22c>] optee_handle_rpc+0x60/0x6f0
    [<00000000d9f7c52d>] optee_do_call_with_arg+0x17c/0x1dc
    [<00000000c35884da>] optee_open_session+0x128/0x1ec
    [<000000001748f2ff>] tee_client_open_session+0x28/0x40
    [<00000000aecb5389>] optee_enumerate_devices+0x84/0x2a0
    [<000000003df18bf1>] optee_probe+0x674/0x6cc
    [<000000003a4a534a>] platform_drv_probe+0x54/0xb0
    [<000000000c51ce7d>] really_probe+0xe4/0x4d0
    [<000000002f04c865>] driver_probe_device+0x58/0xc0
    [<00000000b485397d>] device_driver_attach+0xc0/0xd0
    [<00000000c835f0df>] __driver_attach+0x84/0x124
    [<000000008e5a429c>] bus_for_each_dev+0x70/0xc0
    [<000000001735e8a8>] driver_attach+0x24/0x30
    [<000000006d94b04f>] bus_add_driver+0x104/0x1ec

This is not a memory leak because we pass the share memory pointer
to secure world and would get it from secure world before releasing it.

Signed-off-by: Xiaolei Wang <xiaolei.wang@windriver.com>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
3 years agotee: optee: Fix incorrect page free bug
Sumit Garg [Thu, 16 Dec 2021 05:47:25 +0000 (11:17 +0530)]
tee: optee: Fix incorrect page free bug

Pointer to the allocated pages (struct page *page) has already
progressed towards the end of allocation. It is incorrect to perform
__free_pages(page, order) using this pointer as we would free any
arbitrary pages. Fix this by stop modifying the page pointer.

Fixes: ec185dd3ab25 ("optee: Fix memory leak when failing to register shm pages")
Cc: stable@vger.kernel.org
Reported-by: Patrik Lantz <patrik.lantz@axis.com>
Signed-off-by: Sumit Garg <sumit.garg@linaro.org>
Reviewed-by: Tyler Hicks <tyhicks@linux.microsoft.com>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
3 years agosoc: document merges
Arnd Bergmann [Thu, 16 Dec 2021 14:15:46 +0000 (15:15 +0100)]
soc: document merges

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoMerge branch 'arm/fixes' into for-next
Arnd Bergmann [Thu, 16 Dec 2021 14:03:03 +0000 (15:03 +0100)]
Merge branch 'arm/fixes' into for-next

* arm/fixes:
  soc/tegra: fuse: Fix bitwise vs. logical OR warning

3 years agoMerge branch 'arm/dt' into for-next
Arnd Bergmann [Thu, 16 Dec 2021 14:03:00 +0000 (15:03 +0100)]
Merge branch 'arm/dt' into for-next

* arm/dt:
  ARM: dts: am335x: Use correct vendor prefix for Asahi Kasei Corp.
  ARM: dts: motorola-mapphone: Drop second ti,wlcore compatible value
  ARM: dts: am437x-gp-evm: enable ADC1
  ARM: dts: am43xx: Describe the magnetic reader/ADC1 hardware module
  ARM: dts: am437x-cm-t43: Use a correctly spelled DT property
  ARM: dts: am335x-icev2: Add system-power-controller to RTC node
  ARM: dts: am335x-boneblack-common: move system-power-controller
  ARM: dts: elpida_ecb240abacn: Change Elpida compatible
  arm64: dts: Update NAND MTD partition for Agilex and Stratix 10
  arm64: dts: n5x: add qspi, usb, and ethernet support

3 years agoMerge tag 'tegra-for-5.16-soc-fixes' of git://git.kernel.org/pub/scm/linux/kernel...
Arnd Bergmann [Thu, 16 Dec 2021 14:02:25 +0000 (15:02 +0100)]
Merge tag 'tegra-for-5.16-soc-fixes' of git://git./linux/kernel/git/tegra/linux into arm/fixes

soc/tegra: Fixes for v5.16-rc6

This contains a single build fix without which ARM allmodconfig builds
are broken if -Werror is enabled.

* tag 'tegra-for-5.16-soc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  soc/tegra: fuse: Fix bitwise vs. logical OR warning

Link: https://lore.kernel.org/r/20211215162618.3568474-1-thierry.reding@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoMerge tag 'omap-for-v5.17/dt-signed' of git://git.kernel.org/pub/scm/linux/kernel...
Arnd Bergmann [Thu, 16 Dec 2021 14:00:32 +0000 (15:00 +0100)]
Merge tag 'omap-for-v5.17/dt-signed' of git://git./linux/kernel/git/tmlind/linux-omap into arm/dt

Devicetree changes for omaps for v5.17 merge window

These changes are mostly minor non-urgent fixes for typos and binding checks.
The system-power-controller gets configured for more am3 devices as it's not
am335x-boneblack speicif. For for am437x we add magnetic card reader support.

Note that the asahi-kasei,ak8975 binding changes may produce a new binding
check warning as the binding related change is merged separately.

* tag 'omap-for-v5.17/dt-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap:
  ARM: dts: am335x: Use correct vendor prefix for Asahi Kasei Corp.
  ARM: dts: motorola-mapphone: Drop second ti,wlcore compatible value
  ARM: dts: am437x-gp-evm: enable ADC1
  ARM: dts: am43xx: Describe the magnetic reader/ADC1 hardware module
  ARM: dts: am437x-cm-t43: Use a correctly spelled DT property
  ARM: dts: am335x-icev2: Add system-power-controller to RTC node
  ARM: dts: am335x-boneblack-common: move system-power-controller
  ARM: dts: elpida_ecb240abacn: Change Elpida compatible

Link: https://lore.kernel.org/r/pull-1639659798-679261@atomide.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoMerge tag 'socfpga_dts_update_for_v5.17' of git://git.kernel.org/pub/scm/linux/kernel...
Arnd Bergmann [Thu, 16 Dec 2021 13:51:42 +0000 (14:51 +0100)]
Merge tag 'socfpga_dts_update_for_v5.17' of git://git./linux/kernel/git/dinguyen/linux into arm/dt

SoCFPGA dts updates for v5.17
- Update N5X to include qspi, usb and ethernet
- Adjust NAND partition size for Agilex and Stratix10

* tag 'socfpga_dts_update_for_v5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux:
  arm64: dts: Update NAND MTD partition for Agilex and Stratix 10
  arm64: dts: n5x: add qspi, usb, and ethernet support

Link: https://lore.kernel.org/r/20211215164545.300273-1-dinguyen@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agotee: handle lookup of shm with reference count 0
Jens Wiklander [Thu, 9 Dec 2021 14:59:37 +0000 (15:59 +0100)]
tee: handle lookup of shm with reference count 0

Since the tee subsystem does not keep a strong reference to its idle
shared memory buffers, it races with other threads that try to destroy a
shared memory through a close of its dma-buf fd or by unmapping the
memory.

In tee_shm_get_from_id() when a lookup in teedev->idr has been
successful, it is possible that the tee_shm is in the dma-buf teardown
path, but that path is blocked by the teedev mutex. Since we don't have
an API to tell if the tee_shm is in the dma-buf teardown path or not we
must find another way of detecting this condition.

Fix this by doing the reference counting directly on the tee_shm using a
new refcount_t refcount field. dma-buf is replaced by using
anon_inode_getfd() instead, this separates the life-cycle of the
underlying file from the tee_shm. tee_shm_put() is updated to hold the
mutex when decreasing the refcount to 0 and then remove the tee_shm from
teedev->idr before releasing the mutex. This means that the tee_shm can
never be found unless it has a refcount larger than 0.

Fixes: 967c9cca2cc5 ("tee: generic TEE subsystem")
Cc: stable@vger.kernel.org
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Reviewed-by: Lars Persson <larper@axis.com>
Reviewed-by: Sumit Garg <sumit.garg@linaro.org>
Reported-by: Patrik Lantz <patrik.lantz@axis.com>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
3 years agosoc/tegra: fuse: Fix bitwise vs. logical OR warning
Nathan Chancellor [Fri, 10 Dec 2021 16:55:29 +0000 (09:55 -0700)]
soc/tegra: fuse: Fix bitwise vs. logical OR warning

A new warning in clang points out two instances where boolean
expressions are being used with a bitwise OR instead of logical OR:

drivers/soc/tegra/fuse/speedo-tegra20.c:72:9: warning: use of bitwise '|' with boolean operands [-Wbitwise-instead-of-logical]
                reg = tegra_fuse_read_spare(i) |
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~
                                               ||
drivers/soc/tegra/fuse/speedo-tegra20.c:72:9: note: cast one or both operands to int to silence this warning
drivers/soc/tegra/fuse/speedo-tegra20.c:87:9: warning: use of bitwise '|' with boolean operands [-Wbitwise-instead-of-logical]
                reg = tegra_fuse_read_spare(i) |
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~
                                               ||
drivers/soc/tegra/fuse/speedo-tegra20.c:87:9: note: cast one or both operands to int to silence this warning
2 warnings generated.

The motivation for the warning is that logical operations short circuit
while bitwise operations do not.

In this instance, tegra_fuse_read_spare() is not semantically returning
a boolean, it is returning a bit value. Use u32 for its return type so
that it can be used with either bitwise or boolean operators without any
warnings.

Fixes: 25cd5a391478 ("ARM: tegra: Add speedo-based process identification")
Link: https://github.com/ClangBuiltLinux/linux/issues/1488
Suggested-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
3 years agosoc: document merges
Arnd Bergmann [Wed, 15 Dec 2021 15:01:21 +0000 (16:01 +0100)]
soc: document merges

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoMerge branch 'arm/drivers' into for-next
Arnd Bergmann [Wed, 15 Dec 2021 14:59:52 +0000 (15:59 +0100)]
Merge branch 'arm/drivers' into for-next

* arm/drivers:
  soc: apple: apple-pmgr-pwrstate: Do not build as a module
  soc: apple: apple-pmgr-pwrstate: Add auto-PM min level support

3 years agoMerge branch 'arm/dt' into for-next
Arnd Bergmann [Wed, 15 Dec 2021 14:59:43 +0000 (15:59 +0100)]
Merge branch 'arm/dt' into for-next

* arm/dt:
  dt-bindings: mailbox: apple,mailbox: Add power-domains property
  arm64: dts: apple: t8103: Sort nodes by address
  arm64: dts: apple: t8103: Rename clk24 to clkref
  arm64: dts: apple: t8103: Add watchdog node
  dt-bindings: pinctrl: apple,pinctrl: Add apple,t6000-pinctrl compatible
  dt-bindings: pci: apple,pcie: Add t6000 support
  dt-bindings: i2c: apple,i2c: Add apple,t6000-i2c compatible
  dt-bindings: arm: apple: Add t6000/t6001 MacBook Pro 14/16" compatibles
  arm64: dts: apple: t8103: Add apple,min-state to DCP PMGR nodes
  dt-bindings: power: apple,pmgr-pwrstate: Add apple,min-state prop
  arm64: dts: apple: t8103: Remove PCIe max-link-speed properties
  ARM: dts: stm32: Add Engicam i.Core STM32MP1 C.TOUCH 2.0 10.1" OF
  dt-bindings: arm: stm32: Add Engicam i.Core STM32MP1 C.TOUCH 2.0 10.1" OF
  ARM: dts: stm32: Enable LVDS panel on i.Core STM32MP1 EDIMM2.2
  ARM: dts: stm32: fix stusb1600 pinctrl used on stm32mp157c-dk
  ARM: dts: stm32: tune the HS USB PHYs on stm32mp157c-ev1
  ARM: dts: stm32: tune the HS USB PHYs on stm32mp15xx-dkx
  ARM: dts: stm32: clean uart4_idle_pins_a node for stm32mp15
  ARM: dts: stm32: add pull-up to USART3 and UART7 RX pins on STM32MP15 DKx boards
  ARM: dts: stm32: fix dtbs_check warning on ili9341 dts binding on stm32f429 disco

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoMerge branch 'arm/soc' into for-next
Arnd Bergmann [Wed, 15 Dec 2021 14:58:53 +0000 (15:58 +0100)]
Merge branch 'arm/soc' into for-next

* arm/soc:
  ARM: ixp4xx: remove unused header file pata_ixp4xx_cf.h
  ARM: ixp4xx: remove dead configs CPU_IXP43X and CPU_IXP46X

3 years agoMerge tag 'asahi-soc-pmgr-5.17-v2' of https://github.com/AsahiLinux/linux into arm...
Arnd Bergmann [Wed, 15 Dec 2021 14:58:00 +0000 (15:58 +0100)]
Merge tag 'asahi-soc-pmgr-5.17-v2' of https://github.com/AsahiLinux/linux into arm/drivers

Apple SoC PMGR driver updates for 5.17

* Adds an auto-PM feature that is necessary for a single device
* Disables module builds, which were broken anyway

* tag 'asahi-soc-pmgr-5.17-v2' of https://github.com/AsahiLinux/linux:
  soc: apple: apple-pmgr-pwrstate: Do not build as a module
  soc: apple: apple-pmgr-pwrstate: Add auto-PM min level support

Link: https://lore.kernel.org/r/660f6f7f-0857-b54c-c415-79bcb93f0e02@marcan.st
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoMerge tag 'asahi-soc-dt-5.17-v2' of https://github.com/AsahiLinux/linux into arm/dt
Arnd Bergmann [Wed, 15 Dec 2021 14:56:39 +0000 (15:56 +0100)]
Merge tag 'asahi-soc-dt-5.17-v2' of https://github.com/AsahiLinux/linux into arm/dt

Apple SoC DT updates for 5.17, round 2:

- Various cleanups (removing useless props, sorting nodes, renaming
  things)
- Add PMGR min-state binding & props (see PMGR pull for driver change)
- Initial compatibles for t600x machines (M1 Pro/Max). This covers the
  bindings that just need compatible bumps & minor tweaks, no driver
  changes.
- Add watchdog node (driver not merged yet, hopefully will be; binding
  went in the previous pull)
- Add missing power-domains property to the mailbox binding

* tag 'asahi-soc-dt-5.17-v2' of https://github.com/AsahiLinux/linux:
  dt-bindings: mailbox: apple,mailbox: Add power-domains property
  arm64: dts: apple: t8103: Sort nodes by address
  arm64: dts: apple: t8103: Rename clk24 to clkref
  arm64: dts: apple: t8103: Add watchdog node
  dt-bindings: pinctrl: apple,pinctrl: Add apple,t6000-pinctrl compatible
  dt-bindings: pci: apple,pcie: Add t6000 support
  dt-bindings: i2c: apple,i2c: Add apple,t6000-i2c compatible
  dt-bindings: arm: apple: Add t6000/t6001 MacBook Pro 14/16" compatibles
  arm64: dts: apple: t8103: Add apple,min-state to DCP PMGR nodes
  dt-bindings: power: apple,pmgr-pwrstate: Add apple,min-state prop
  arm64: dts: apple: t8103: Remove PCIe max-link-speed properties

Link: https://lore.kernel.org/r/a24faafd-f2ae-c3a7-5327-b27da7d9e34b@marcan.st
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoMerge tag 'stm32-dt-for-v5.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git...
Arnd Bergmann [Wed, 15 Dec 2021 14:55:30 +0000 (15:55 +0100)]
Merge tag 'stm32-dt-for-v5.17-1' of git://git./linux/kernel/git/atorgue/stm32 into arm/dt

STM32 DT for v5.17, round 1

Highlights:
----------

-MCU:
 - fix ili9341 for dtbs_check warnings on stm32f429 disco.

- MPU:
 - ST boards:
  - tune HS USB phys on stm32mp15 EV1 and DKx boards.
  - add pull-up on USART3/UART7 RX pins on STM32MP15 DKx boards.
  - use correct pinctrl setting for STUSB1600 on STM32MP15 DK boards.

 - ENGICAM:
  - enable LVDS pannel on i.Core STM32MP1 EDIMM2.2.
  - add "i.Core STM32MP1 C.TOUCH 2.0 10.1" OF" support:
    EDIMM compliant general purpose carrier board with ETH 10/100,
    WIFI/BT, CAN, ...

* tag 'stm32-dt-for-v5.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32:
  ARM: dts: stm32: Add Engicam i.Core STM32MP1 C.TOUCH 2.0 10.1" OF
  dt-bindings: arm: stm32: Add Engicam i.Core STM32MP1 C.TOUCH 2.0 10.1" OF
  ARM: dts: stm32: Enable LVDS panel on i.Core STM32MP1 EDIMM2.2
  ARM: dts: stm32: fix stusb1600 pinctrl used on stm32mp157c-dk
  ARM: dts: stm32: tune the HS USB PHYs on stm32mp157c-ev1
  ARM: dts: stm32: tune the HS USB PHYs on stm32mp15xx-dkx
  ARM: dts: stm32: clean uart4_idle_pins_a node for stm32mp15
  ARM: dts: stm32: add pull-up to USART3 and UART7 RX pins on STM32MP15 DKx boards
  ARM: dts: stm32: fix dtbs_check warning on ili9341 dts binding on stm32f429 disco

Link: https://lore.kernel.org/r/dfe942db-5af7-bb82-22b6-3bd866c9017d@foss.st.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agosoc: apple: apple-pmgr-pwrstate: Do not build as a module
Hector Martin [Wed, 15 Dec 2021 11:27:54 +0000 (20:27 +0900)]
soc: apple: apple-pmgr-pwrstate: Do not build as a module

This doesn't make any sense as a module since it is a critical device,
and it turns out of_phandle_iterator_args was not exported so the module
version doesn't build anyway.

Fixes: 6df9d38f9146 ("soc: apple: Add driver for Apple PMGR power state controls")
Reported-by: kernel test robot <lkp@intel.com>
Reviewed-by: Sven Peter <sven@svenpeter.dev>
Signed-off-by: Hector Martin <marcan@marcan.st>
3 years agodt-bindings: mailbox: apple,mailbox: Add power-domains property
Hector Martin [Thu, 9 Dec 2021 04:50:42 +0000 (13:50 +0900)]
dt-bindings: mailbox: apple,mailbox: Add power-domains property

This will bind to the PMGR pwrstate nodes that control power/clock
gating to SoC blocks. The mailbox driver doesn't do runtime-pm yet, so
initially this will just keep the domain on permanently.

Reviewed-by: Sven Peter <sven@svenpeter.dev>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Hector Martin <marcan@marcan.st>
3 years agoarm64: dts: apple: t8103: Sort nodes by address
Hector Martin [Sun, 12 Dec 2021 01:40:16 +0000 (10:40 +0900)]
arm64: dts: apple: t8103: Sort nodes by address

We decided to keep SoC nodes sorted by address for sanity; fix a couple
that slipped into the wrong place.

Reviewed-by: Sven Peter <sven@svenpeter.dev>
Signed-off-by: Hector Martin <marcan@marcan.st>
3 years agoarm64: dts: apple: t8103: Rename clk24 to clkref
Hector Martin [Tue, 5 Oct 2021 14:24:21 +0000 (23:24 +0900)]
arm64: dts: apple: t8103: Rename clk24 to clkref

We now know that this frequency comes from the external reference
oscillator and is used for various SoC blocks, and isn't just a random
24MHz clock, so let's call it something more appropriate.

Reviewed-by: Mark Kettenis <kettenis@openbsd.org>
Reviewed-by: Sven Peter <sven@svenpeter.dev>
Signed-off-by: Hector Martin <marcan@marcan.st>
3 years agoMerge tag 'ixp4xx-arm-soc-v5.17' of git://git.kernel.org/pub/scm/linux/kernel/git...
Arnd Bergmann [Tue, 14 Dec 2021 21:41:32 +0000 (22:41 +0100)]
Merge tag 'ixp4xx-arm-soc-v5.17' of git://git./linux/kernel/git/linusw/linux-nomadik into arm/soc

Some IXP4xx SoC and driver related changes for v5.17:

- Drop unused Kconfig options
- Drop unused platform data header file

* tag 'ixp4xx-arm-soc-v5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik:
  ARM: ixp4xx: remove unused header file pata_ixp4xx_cf.h
  ARM: ixp4xx: remove dead configs CPU_IXP43X and CPU_IXP46X

Link: https://lore.kernel.org/r/CACRpkdZXZBpexMUuwTV-RB7_QAjBQkSbRsaBtgFShcqxuNTUgw@mail.gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agosoc: document merges
Arnd Bergmann [Tue, 14 Dec 2021 21:35:44 +0000 (22:35 +0100)]
soc: document merges

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoMerge branch 'arm/drivers' into for-next
Arnd Bergmann [Tue, 14 Dec 2021 21:32:15 +0000 (22:32 +0100)]
Merge branch 'arm/drivers' into for-next

* arm/drivers: (24 commits)
  firmware: xilinx: check return value of zynqmp_pm_get_api_version()
  soc: xilinx: add a to_zynqmp_pm_domain macro
  soc: xilinx: use a properly named field instead of flags
  soc: xilinx: cleanup debug and error messages
  soc: xilinx: move PM_INIT_FINALIZE to zynqmp_pm_domains driver
  soc: apple: Add driver for Apple PMGR power state controls
  soc: renesas: Consolidate product register handling
  optee: Fix NULL but dereferenced coccicheck error
  memory: renesas-rpc-if: refactor MOIIO and IOFV macros
  memory: renesas-rpc-if: avoid use of undocumented bits
  memory: renesas-rpc-if: simplify register update
  memory: renesas-rpc-if: Silence clang warning
  optee: add asynchronous notifications
  optee: separate notification functions
  tee: export teedev_open() and teedev_close_context()
  tee: fix put order in teedev_close_context()
  dt-bindings: arm: optee: add interrupt property
  docs: staging/tee.rst: add a section on OP-TEE notifications
  memory: renesas-rpc-if: Add support for RZ/G2L
  memory: renesas-rpc-if: Drop usage of RPCIF_DIRMAP_SIZE macro
  ...

3 years agoMerge branch 'arm/soc' into for-next
Arnd Bergmann [Tue, 14 Dec 2021 21:32:11 +0000 (22:32 +0100)]
Merge branch 'arm/soc' into for-next

* arm/soc:
  ARM: shmobile: rcar-gen2: Add missing of_node_put()

3 years agoMerge branch 'arm/dt' into for-next
Arnd Bergmann [Tue, 14 Dec 2021 21:32:07 +0000 (22:32 +0100)]
Merge branch 'arm/dt' into for-next

* arm/dt:
  ARM: dts: ixp4xx: Add devicetree for Gateway 7001
  ARM: dts: Add Goramo MultiLink device tree
  ARM: dts: Add FSG3 system controller and LEDs

3 years agoMerge branch 'arm/defconfig' into for-next
Arnd Bergmann [Tue, 14 Dec 2021 21:32:04 +0000 (22:32 +0100)]
Merge branch 'arm/defconfig' into for-next

* arm/defconfig:
  ARM: configs: gemini: Activate crypto driver

3 years agoARM: configs: gemini: Activate crypto driver
Linus Walleij [Mon, 6 Dec 2021 01:11:58 +0000 (02:11 +0100)]
ARM: configs: gemini: Activate crypto driver

This enables the SL3516 crypto driver on the Gemini platforms
where it is available, by default in the defconfig. Clean
up some noise around the crypto options while we're at it.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Cc: Corentin Labbe <clabbe@baylibre.com>
Link: https://lore.kernel.org/r/20211206011158.4180141-1-linus.walleij@linaro.org'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoMerge tag 'renesas-arm-soc-for-v5.17-tag1' of git://git.kernel.org/pub/scm/linux...
Arnd Bergmann [Tue, 14 Dec 2021 16:18:42 +0000 (17:18 +0100)]
Merge tag 'renesas-arm-soc-for-v5.17-tag1' of git://git./linux/kernel/git/geert/renesas-devel into arm/soc

Renesas ARM SoC updates for v5.17

  - Add a missing of_node_put().

* tag 'renesas-arm-soc-for-v5.17-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  ARM: shmobile: rcar-gen2: Add missing of_node_put()

Link: https://lore.kernel.org/r/cover.1638530611.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoMerge tag 'memory-controller-drv-renesas-5.17' of git://git.kernel.org/pub/scm/linux...
Arnd Bergmann [Tue, 14 Dec 2021 14:54:19 +0000 (15:54 +0100)]
Merge tag 'memory-controller-drv-renesas-5.17' of git://git./linux/kernel/git/krzk/linux-mem-ctrl into arm/drivers

Memory controller drivers for v5.17 - Renesas

Changes to the Renesas RPC-IF driver:
1. Add support for R9A07G044 / RZ/G2L.
2. Several minor fixes and improvements to the driver.

* tag 'memory-controller-drv-renesas-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl:
  memory: renesas-rpc-if: refactor MOIIO and IOFV macros
  memory: renesas-rpc-if: avoid use of undocumented bits
  memory: renesas-rpc-if: simplify register update
  memory: renesas-rpc-if: Silence clang warning
  memory: renesas-rpc-if: Add support for RZ/G2L
  memory: renesas-rpc-if: Drop usage of RPCIF_DIRMAP_SIZE macro
  memory: renesas-rpc-if: Return error in case devm_ioremap_resource() fails
  dt-bindings: memory: renesas,rpc-if: Add optional interrupts property
  dt-bindings: memory: renesas,rpc-if: Add support for the R9A07G044

Link: https://lore.kernel.org/r/20211213105618.5686-1-krzysztof.kozlowski@canonical.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoMerge tag 'optee-async-notif-for-v5.17' of https://git.linaro.org/people/jens.wikland...
Arnd Bergmann [Tue, 14 Dec 2021 10:27:38 +0000 (11:27 +0100)]
Merge tag 'optee-async-notif-for-v5.17' of https://git.linaro.org/people/jens.wiklander/linux-tee into arm/drivers

OP-TEE Asynchronous notifications from secure world

Adds support in the SMC based OP-TEE driver to receive asynchronous
notifications from secure world using an edge-triggered interrupt as
delivery mechanism.

* tag 'optee-async-notif-for-v5.17' of https://git.linaro.org/people/jens.wiklander/linux-tee:
  optee: Fix NULL but dereferenced coccicheck error
  optee: add asynchronous notifications
  optee: separate notification functions
  tee: export teedev_open() and teedev_close_context()
  tee: fix put order in teedev_close_context()
  dt-bindings: arm: optee: add interrupt property
  docs: staging/tee.rst: add a section on OP-TEE notifications

Link: https://lore.kernel.org/r/20211213102359.GA1638682@jade
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoMerge tag 'zynqmp-soc-for-v5.17' of https://github.com/Xilinx/linux-xlnx into arm...
Arnd Bergmann [Tue, 14 Dec 2021 09:50:37 +0000 (10:50 +0100)]
Merge tag 'zynqmp-soc-for-v5.17' of https://github.com/Xilinx/linux-xlnx into arm/drivers

arm64: dts: ZynqMP SoC changes for v5.17

- cleanup and fix PM_INIT_FINALIZE
- check return value of zynqmp_pm_get_api_version()

* tag 'zynqmp-soc-for-v5.17' of https://github.com/Xilinx/linux-xlnx:
  firmware: xilinx: check return value of zynqmp_pm_get_api_version()
  soc: xilinx: add a to_zynqmp_pm_domain macro
  soc: xilinx: use a properly named field instead of flags
  soc: xilinx: cleanup debug and error messages
  soc: xilinx: move PM_INIT_FINALIZE to zynqmp_pm_domains driver

Link: https://lore.kernel.org/r/48dec441-2c1f-73a0-3e6c-aa0d7be5ba26@monstr.eu
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoMerge tag 'asahi-soc-pmgr-5.17' of https://github.com/AsahiLinux/linux into arm/drivers
Arnd Bergmann [Tue, 14 Dec 2021 09:17:27 +0000 (10:17 +0100)]
Merge tag 'asahi-soc-pmgr-5.17' of https://github.com/AsahiLinux/linux into arm/drivers

Apple SoC PMGR driver for 5.17

Adds the new PMGR driver. This includes the driver only; DT and
MAINTAINERS changes are part of the DT pull.

Minor change from v3: added `depends on PM` to the Kconfig to
fix COMPILE_TEST randconfig failures.

* tag 'asahi-soc-pmgr-5.17' of https://github.com/AsahiLinux/linux:
  soc: apple: Add driver for Apple PMGR power state controls

Link: https://lore.kernel.org/r/049f4de9-51be-7be4-1f9a-a59756af88d7@marcan.st
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoMerge tag 'renesas-drivers-for-v5.17-tag1' of git://git.kernel.org/pub/scm/linux...
Arnd Bergmann [Tue, 14 Dec 2021 08:28:44 +0000 (09:28 +0100)]
Merge tag 'renesas-drivers-for-v5.17-tag1' of git://git./linux/kernel/git/geert/renesas-devel into arm/drivers

Renesas driver updates for v5.17

  - Add a remoteproc API for controlling the Cortex-R7 boot address on
    R-Car Gen3 SoCs,
  - Consolidate product register handling.

* tag 'renesas-drivers-for-v5.17-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  soc: renesas: Consolidate product register handling
  soc: renesas: rcar-rst: Add support to set rproc boot address

Link: https://lore.kernel.org/r/cover.1638530612.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoMerge tag 'ixp4xx-dtx-v5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw...
Arnd Bergmann [Tue, 14 Dec 2021 07:50:16 +0000 (08:50 +0100)]
Merge tag 'ixp4xx-dtx-v5.17' of git://git./linux/kernel/git/linusw/linux-nomadik into arm/dt

IXP4xx DTS changes for v5.17:

- Add the LEDs to the Freecom FSG-3 that were missing.
- Add a devicetree for the Gorami MultiLink Router
- Add a devicetree for the Gateway GW7001 Router

This completes the migration of all IXP4xx devices to
device tree files.

Next merge window we will delete the remaining board files,
it cannot be done now because of cross-tree dependencies.

* tag 'ixp4xx-dtx-v5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik:
  ARM: dts: ixp4xx: Add devicetree for Gateway 7001
  ARM: dts: Add Goramo MultiLink device tree
  ARM: dts: Add FSG3 system controller and LEDs

Link: https://lore.kernel.org/r/CACRpkdYiWK7TEbZrh4_0WT5obMk=ZSc7AQVUSPXL+-uZ_hsUEA@mail.gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agosoc: document merges
Arnd Bergmann [Mon, 13 Dec 2021 23:20:28 +0000 (00:20 +0100)]
soc: document merges

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoMerge branch 'arm/dt' into for-next
Arnd Bergmann [Mon, 13 Dec 2021 23:19:07 +0000 (00:19 +0100)]
Merge branch 'arm/dt' into for-next

3 years agoMerge tag 'at91-dt-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/at91/linux...
Arnd Bergmann [Mon, 13 Dec 2021 23:16:48 +0000 (00:16 +0100)]
Merge tag 'at91-dt-5.17' of git://git./linux/kernel/git/at91/linux into arm/dt

AT91 DT #1 for 5.17:

- 2 low priority fixes about pin function for sama7g5 and better
  tailored mmc interface on sama5d2 xplained
- Addition of the Microchip EVB-KSZ9477: a Gigabit Ethernet
  managed Switch Evaluation Board
- QSPI: addition of sama5d2 clock name and nodes for new sama7g7 and its
  associated Evaluation Kit

* tag 'at91-dt-5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/at91/linux:
  ARM: dts: at91: sama7g5ek: Add QSPI0 node
  ARM: dts: at91: sama7g5: Add QSPI nodes
  ARM: dts: at91: sama5d2: Name the qspi clock
  ARM: dts: at91: add Microchip EVB-KSZ9477 board
  ARM: dts: at91: sama5d2_xplained: remove PA11__SDMMC0_VDDSEL from pinctrl
  ARM: dts: at91: update alternate function of signal PD20

Link: https://lore.kernel.org/r/20211213161451.90786-1-nicolas.ferre@microchip.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoMerge tag 'amlogic-arm64-dt-for-v5.17' of git://git.kernel.org/pub/scm/linux/kernel...
Arnd Bergmann [Mon, 13 Dec 2021 23:14:56 +0000 (00:14 +0100)]
Merge tag 'amlogic-arm64-dt-for-v5.17' of git://git./linux/kernel/git/amlogic/linux into arm/dt

Amlogic ARM64 DT changes for v5.17:
- Add missing cec nodes for Odroid-C4 & HC4
- Fix thermal-zones indent for G12/SM1 SoCs dtsi
- Fix GPU OPP table node name for G12/SM1 SoCs dtsi
- Fix SPI NOR Flash node name for Odroid-N2/N2+
- Fixes for GXBB Wetek boards:
 - Fix HDMI supply
 - Add missing gpio bindings include
 - Switch to new LED bindings
- P241 additions:
 - Add VCC 5v regulator
 - Add sound nodes

* tag 'amlogic-arm64-dt-for-v5.17' of git://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux:
  arm64: dts: meson: p241: add sound support
  arm64: dts: meson: p241: add vcc_5v regulator
  arm64: dts: meson-gxbb-wetek: use updated LED bindings
  arm64: dts: meson-gxbb-wetek: fix missing GPIO binding
  arm64: dts: meson-gxbb-wetek: fix HDMI in early boot
  arm64: dts: amlogic: Fix SPI NOR flash node name for ODROID N2/N2+
  arm64: dts: amlogic: meson-g12: Fix GPU operating point table node name
  arm64: dts: amlogic: meson-g12: Fix thermal-zones indent
  arm64: dts: meson-sm1-odroid: add cec nodes

Link: https://lore.kernel.org/r/f47b9b95-6cde-d2f8-eb36-78777d449920@baylibre.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoMerge tag 'v5.17-rockchip-dts64-1' of git://git.kernel.org/pub/scm/linux/kernel/git...
Arnd Bergmann [Mon, 13 Dec 2021 23:04:48 +0000 (00:04 +0100)]
Merge tag 'v5.17-rockchip-dts64-1' of git://git./linux/kernel/git/mmind/linux-rockchip into arm/dt

Improvements on a number of boards:
- helios64: hdd-power, pcie, 2.5GbE nic
- spi for rk356x and on the Quartz-A board
- headphone, bluetooth support on Rock Pi4
And some misc soc improvements:
- missing dsi compatible on px30
- pwm pinctrl name on rk356x

* tag 'v5.17-rockchip-dts64-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  arm64: dts: rockchip: Fix Bluetooth on ROCK Pi 4 boards
  arm64: dts: rockchip: Add missing secondary compatible for PX30 DSI
  arm64: dts: rockchip: Add spi1 pins on Quartz64 A
  arm64: dts: rockchip: Add spi nodes on rk356x
  arm64: dts: rockchip: Change pwm pinctrl-name to "default" on rk356x
  arm64: dts: rockchip: Enable HDD power on helios64
  arm64: dts: rockchip: add variables for pcie completion to helios64
  arm64: dts: rockchip: define usb hub and 2.5GbE nic on helios64
  arm64: dts: rockchip: add interrupt and headphone-detection for Rock Pi4's audio codec

Link: https://lore.kernel.org/r/3637342.7akbv5NDAT@phil
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoMerge tag 'asahi-soc-dt-5.17' of https://github.com/AsahiLinux/linux into arm/dt
Arnd Bergmann [Mon, 13 Dec 2021 22:48:57 +0000 (23:48 +0100)]
Merge tag 'asahi-soc-dt-5.17' of https://github.com/AsahiLinux/linux into arm/dt

Apple SoC DT updates for 5.17:

- Separate DTs for all t8103 platforms
- Add i2c and cd321x nodes
- Bindings for apple,wdt
- PMGR bindings and DT updates to instantiate it
- WiFi MAC address DT handling

This also includes the MAINTAINERS change for the PMGR driver itself, to
avoid merge issues; the driver will be sent in a different pull.

Manual fixups: Added i2c power domain references to the PMGR DT commit,
since a prior commit added the i2c nodes.

* tag 'asahi-soc-dt-5.17' of https://github.com/AsahiLinux/linux:
  arm64: dts: apple: t8103: Expose PCI node for the WiFi MAC address
  arm64: dts: apple: t8103: Add UART2
  arm64: dts: apple: t8103: Add PMGR nodes
  dt-bindings: arm: apple: Add apple,pmgr binding
  dt-bindings: power: Add apple,pmgr-pwrstate binding
  MAINTAINERS: Add PMGR power state files to ARM/APPLE MACHINE
  dt-bindings: watchdog: Add Apple Watchdog
  dt-bindings: interrupt-controller: apple,aic: Add power-domains property
  dt-bindings: pinctrl: apple,pinctrl: Add power-domains property
  dt-bindings: iommu: apple,dart: Add power-domains property
  dt-bindings: i2c: apple,i2c: Add power-domains property
  arm64: dts: apple: t8103: Add cd321x nodes
  arm64: dts: apple: t8103: Add i2c nodes
  arm64: dts: apple: Add missing M1 (t8103) devices
  dt-bindings: arm: apple: Add iMac (24-inch 2021) to Apple bindings
  arm64: dts: apple: add #interrupt-cells property to pinctrl nodes
  dt-bindings: i2c: apple,i2c: allow multiple compatibles
  arm64: dts: apple: change ethernet0 device type to ethernet

Link: https://lore.kernel.org/r/e18b476c-7b1f-de73-53a2-0e21fb5cd283@marcan.st
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoARM: dts: gemini: NAS4220-B: fis-index-block with 128 KiB sectors
Christian Lamparter [Mon, 6 Dec 2021 00:43:34 +0000 (01:43 +0100)]
ARM: dts: gemini: NAS4220-B: fis-index-block with 128 KiB sectors

Steven Maddox reported in the OpenWrt bugzilla, that his
RaidSonic IB-NAS4220-B was no longer booting with the new
OpenWrt 21.02 (uses linux 5.10's device-tree). However, it was
working with the previous OpenWrt 19.07 series (uses 4.14).

|[    5.548038] No RedBoot partition table detected in 30000000.flash
|[    5.618553] Searching for RedBoot partition table in 30000000.flash at offset 0x0
|[    5.739093] No RedBoot partition table detected in 30000000.flash
|...
|[    7.039504] Waiting for root device /dev/mtdblock3...

The provided bootlog shows that the RedBoot partition parser was
looking for the partition table "at offset 0x0". Which is strange
since the comment in the device-tree says it should be at 0xfe0000.

Further digging on the internet led to a review site that took
some useful PCB pictures of their review unit back in February 2009.
Their picture shows a Spansion S29GL128N11TFI01 flash chip.

>From Spansion's Datasheet:
"S29GL128N: One hundred twenty-eight 64 Kword (128 Kbyte) sectors"
Steven also provided a "cat /sys/class/mtd/mtd0/erasesize" from his
unit: "131072".

With the 128 KiB Sector/Erasesize in mind. This patch changes the
fis-index-block property to (0xfe0000 / 0x20000) = 0x7f.

Fixes: b5a923f8c739 ("ARM: dts: gemini: Switch to redboot partition parsing")
Reported-by: Steven Maddox <s.maddox@lantizia.me.uk>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Tested-by: Steven Maddox <s.maddox@lantizia.me.uk>
Link: https://lore.kernel.org/r/20211206004334.4169408-1-linus.walleij@linaro.org'
Bugzilla: https://bugs.openwrt.org/index.php?do=details&task_id=4137
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoMerge tag 'ux500-dts-v5.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw...
Arnd Bergmann [Mon, 13 Dec 2021 20:00:04 +0000 (21:00 +0100)]
Merge tag 'ux500-dts-v5.17-1' of git://git./linux/kernel/git/linusw/linux-nomadik into arm/dt

Ux500 DTS updates for the v5.17 kernel series:

- Add reset lines to applicable IP blocks
- Fix the magnetometer in the Gavini device tree

* tag 'ux500-dts-v5.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-nomadik:
  ARM: dts: ux500: Fixup Gavini magnetometer
  ARM: dts: ux500: Add reset lines to IP blocks

Link: https://lore.kernel.org/r/CACRpkdZuDPLj5Tcxbyd+JGfvBGQ8RuMP9PAsGsZT7pY8KoyOKg@mail.gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoMerge tag 'renesas-dt-bindings-for-v5.17-tag1' of git://git.kernel.org/pub/scm/linux...
Arnd Bergmann [Mon, 13 Dec 2021 19:58:14 +0000 (20:58 +0100)]
Merge tag 'renesas-dt-bindings-for-v5.17-tag1' of git://git./linux/kernel/git/geert/renesas-devel into arm/dt

Renesas DT binding updates for v5.17

  - Document SDHI SDnH clocks on R-Car Gen2 and later,
  - Document core support for the R-Car S4-8 (R8A779F0) SoC.

* tag 'renesas-dt-bindings-for-v5.17-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  dt-bindings: mmc: renesas,sdhi: Rename RZ/G2L clocks
  dt-bindings: power: renesas,rcar-sysc: Document r8a779f0 SYSC bindings
  dt-bindings: reset: renesas,rst: Document r8a779f0 reset module
  dt-bindings: arm: renesas: Document R-Car S4-8 SoC DT bindings
  dt-bindings: mmc: renesas,sdhi: Add optional SDnH clock

Link: https://lore.kernel.org/r/cover.1638530614.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoMerge tag 'renesas-arm-dt-for-v5.17-tag1' of git://git.kernel.org/pub/scm/linux/kerne...
Arnd Bergmann [Mon, 13 Dec 2021 19:55:56 +0000 (20:55 +0100)]
Merge tag 'renesas-arm-dt-for-v5.17-tag1' of git://git./linux/kernel/git/geert/renesas-devel into arm/dt

Renesas ARM DT updates for v5.17

  - Serial, SPI, timer, watchdog, operating points, and QSPI FLASH
    support for the RZ/G2L SoC and the RZ/G2L SMARC EVK development
    board,
  - SDHI SDnH clocks for the R-Car Gen3 and RZ/G2 SoCs,
  - Display Unit support for the R-Car V3U SoC,
  - Miscellaneous fixes and improvements.

* tag 'renesas-arm-dt-for-v5.17-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel: (21 commits)
  arm64: dts: renesas: r8a779a0: Add DU support
  arm64: dts: renesas: salvator-common: Merge hdmi0_con
  arm64: dts: renesas: ulcb: Merge hdmi0_con
  arm64: dts: renesas: r9a07g044: Add OPP table
  arm64: dts: renesas: Fix operating point table node names
  arm64: dts: renesas: rzg2l-smarc-som: Enable watchdog
  arm64: dts: renesas: r9a07g044: Add WDT nodes
  arm64: dts: renesas: r9a07g044: Rename SDHI clocks
  arm64: dts: renesas: rzg2l-smarc-som: Enable serial NOR flash
  arm64: dts: renesas: rzg2l-smarc-som: Enable OSTM
  arm64: dts: renesas: r9a07g044: Add OSTM nodes
  arm64: dts: renesas: r9a07g044: Sort psci node
  arm64: dts: renesas: rzg2l-smarc: Enable RSPI1 on carrier board
  arm64: dts: renesas: r9a07g044: Add RSPI{0,1,2} nodes
  arm64: dts: renesas: cat875: Add rx/tx delays
  arm64: dts: reneas: rcar-gen3: Add SDnH clocks
  arm64: dts: reneas: rzg2: Add SDnH clocks
  arm64: dts: renesas: r9a07g044: Add SCI[0-1] nodes
  arm64: dts: renesas: rzg2l-smarc: Enable SCIF2 on carrier board
  arm64: dts: renesas: r9a07g044: Add SCIF[1-4] nodes
  ...

Link: https://lore.kernel.org/r/cover.1638530606.git.geert+renesas@glider.be
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoARM: dts: spear3xx: Add spear320s dtsi
Herve Codina [Thu, 2 Dec 2021 09:52:55 +0000 (10:52 +0100)]
ARM: dts: spear3xx: Add spear320s dtsi

The SPEAr320s SOC is a SPEAr320 SOC variant.

Mostly identical to the SPEAr320 SOC variant, it has a
new interrupt routing for PL_PGIOs.

Add spear320s.dtsi to handle SPEAr320s SOC

Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Link: https://lore.kernel.org/r/20211202095255.165797-7-herve.codina@bootlin.com'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoARM: dts: spear3xx: Use plgpio regmap in SPEAr310 and SPEAr320
Herve Codina [Thu, 2 Dec 2021 09:52:53 +0000 (10:52 +0100)]
ARM: dts: spear3xx: Use plgpio regmap in SPEAr310 and SPEAr320

Resources used by plgpio and pinmux are conflicting on SPEAr310
and SPEAr320.

Use the newly introduced regmap property in plgpio node to use
pinmux resources from plgpio and so avoid the conflict.

Signed-off-by: Herve Codina <herve.codina@bootlin.com>
Link: https://lore.kernel.org/r/20211202095255.165797-5-herve.codina@bootlin.com'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoMerge branch 'arm/fixes' into for-next
Arnd Bergmann [Mon, 13 Dec 2021 14:33:58 +0000 (15:33 +0100)]
Merge branch 'arm/fixes' into for-next

* arm/fixes: (24 commits)
  firmware: arm_scpi: Fix string overflow in SCPI genpd driver
  soc: imx: Register SoC device only on i.MX boards
  soc: imx: imx8m-blk-ctrl: Fix imx8mm mipi reset
  ARM: dts: imx6ull-pinfunc: Fix CSI_DATA07__ESAI_TX0 pad name
  arm64: dts: imx8mq: remove interconnect property from lcdif
  ARM: socfpga: dts: fix qspi node compatible
  arm64: dts: apple: add #interrupt-cells property to pinctrl nodes
  dt-bindings: i2c: apple,i2c: allow multiple compatibles
  arm64: meson: remove COMMON_CLK
  arm64: meson: fix dts for JetHub D1
  tee: amdtee: fix an IS_ERR() vs NULL bug
  arm64: dts: apple: change ethernet0 device type to ethernet
  arm64: dts: ten64: remove redundant interrupt declaration for gpio-keys
  arm64: dts: rockchip: fix poweroff on helios64
  arm64: dts: rockchip: fix audio-supply for Rock Pi 4
  arm64: dts: rockchip: fix rk3399-leez-p710 vcc3v3-lan supply
  arm64: dts: rockchip: fix rk3308-roc-cc vcc-sd supply
  arm64: dts: rockchip: remove mmc-hs400-enhanced-strobe from rk3399-khadas-edge
  ARM: rockchip: Use memcpy_toio instead of memcpy on smp bring-up
  arm64: dts: lx2160abluebox3: update RGMII delays for sja1105 switch
  ...

3 years agoMerge tag 'v5.16-rc5' into for-next
Arnd Bergmann [Mon, 13 Dec 2021 14:33:48 +0000 (15:33 +0100)]
Merge tag 'v5.16-rc5' into for-next

Linux 5.16-rc5

* tag 'v5.16-rc5': (974 commits)
  Linux 5.16-rc5
  usb: core: config: using bit mask instead of individual bits
  usb: core: config: fix validation of wMaxPacketValue entries
  USB: gadget: zero allocate endpoint 0 buffers
  USB: gadget: detect too-big endpoint 0 requests
  perf python: Fix NULL vs IS_ERR_OR_NULL() checking
  perf intel-pt: Fix error timestamp setting on the decoder error path
  perf intel-pt: Fix missing 'instruction' events with 'q' option
  perf intel-pt: Fix next 'err' value, walking trace
  perf intel-pt: Fix state setting when receiving overflow (OVF) packet
  perf intel-pt: Fix intel_pt_fup_event() assumptions about setting state type
  perf intel-pt: Fix sync state when a PSB (synchronization) packet is found
  perf intel-pt: Fix some PGE (packet generation enable/control flow packets) usage
  perf tools: Prevent out-of-bounds access to registers
  mm: bdi: initialize bdi_min_ratio when bdi is unregistered
  hugetlbfs: fix issue of preallocation of gigantic pages can't work
  mm/memcg: relocate mod_objcg_mlstate(), get_obj_stock() and put_obj_stock()
  mm/slub: fix endianness bug for alloc/free_traces attributes
  selftests/damon: split test cases
  selftests/damon: test debugfs file reads/writes with huge count
  ...

3 years agofirmware: arm_scpi: Fix string overflow in SCPI genpd driver
Sudeep Holla [Thu, 9 Dec 2021 12:04:56 +0000 (12:04 +0000)]
firmware: arm_scpi: Fix string overflow in SCPI genpd driver

Without the bound checks for scpi_pd->name, it could result in the buffer
overflow when copying the SCPI device name from the corresponding device
tree node as the name string is set at maximum size of 30.

Let us fix it by using devm_kasprintf so that the string buffer is
allocated dynamically.

Fixes: 8bec4337ad40 ("firmware: scpi: add device power domain support using genpd")
Reported-by: Pedro Batista <pedbap.g@gmail.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
Cc: stable@vger.kernel.org
Cc: Cristian Marussi <cristian.marussi@arm.com>
Link: https://lore.kernel.org/r/20211209120456.696879-1-sudeep.holla@arm.com'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agofirmware: arm_scpi: Fix string overflow in SCPI genpd driver
Sudeep Holla [Thu, 9 Dec 2021 12:04:56 +0000 (12:04 +0000)]
firmware: arm_scpi: Fix string overflow in SCPI genpd driver

Without the bound checks for scpi_pd->name, it could result in the buffer
overflow when copying the SCPI device name from the corresponding device
tree node as the name string is set at maximum size of 30.

Let us fix it by using devm_kasprintf so that the string buffer is
allocated dynamically.

Fixes: 8bec4337ad40 ("firmware: scpi: add device power domain support using genpd")
Reported-by: Pedro Batista <pedbap.g@gmail.com>
Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
Cc: stable@vger.kernel.org
Cc: Cristian Marussi <cristian.marussi@arm.com>
Link: https://lore.kernel.org/r/20211209120456.696879-1-sudeep.holla@arm.com'
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoMerge tag 'v5.16-rockchip-socfixes1' of git://git.kernel.org/pub/scm/linux/kernel...
Arnd Bergmann [Mon, 13 Dec 2021 14:16:21 +0000 (15:16 +0100)]
Merge tag 'v5.16-rockchip-socfixes1' of git://git./linux/kernel/git/mmind/linux-rockchip into arm/fixes

Prevent panic with FORTIFY_SOURCE in smp bringup.

* tag 'v5.16-rockchip-socfixes1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  ARM: rockchip: Use memcpy_toio instead of memcpy on smp bring-up

Link: https://lore.kernel.org/r/1827929.9bfCS3lLB7@phil
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoMerge tag 'v5.16-rockchip-dtsfixes1' of git://git.kernel.org/pub/scm/linux/kernel...
Arnd Bergmann [Mon, 13 Dec 2021 14:14:42 +0000 (15:14 +0100)]
Merge tag 'v5.16-rockchip-dtsfixes1' of git://git./linux/kernel/git/mmind/linux-rockchip into arm/fixes

Fixes for some board-level issues (regulators, mmc, poweroff, audio)

* tag 'v5.16-rockchip-dtsfixes1' of git://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  arm64: dts: rockchip: fix poweroff on helios64
  arm64: dts: rockchip: fix audio-supply for Rock Pi 4
  arm64: dts: rockchip: fix rk3399-leez-p710 vcc3v3-lan supply
  arm64: dts: rockchip: fix rk3308-roc-cc vcc-sd supply
  arm64: dts: rockchip: remove mmc-hs400-enhanced-strobe from rk3399-khadas-edge

Link: https://lore.kernel.org/r/3072346.MIvVl8DfR5@phil
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoMerge tag 'imx-fixes-5.16-2' of git://git.kernel.org/pub/scm/linux/kernel/git/shawngu...
Arnd Bergmann [Mon, 13 Dec 2021 14:13:40 +0000 (15:13 +0100)]
Merge tag 'imx-fixes-5.16-2' of git://git./linux/kernel/git/shawnguo/linux into arm/fixes

i.MX fixes for 5.16, round 2:

- One fix on imx8m-blk-ctrl driver to get i.MX8MM MIPI reset work
  properly
- Fix CSI_DATA07__ESAI_TX0 pad name in i.MX7ULL pin function header
- Remove interconnect property from i.MX8MQ LCDIF device to fix the
  regression that LCDIF driver stops probe, because interconnect
  provider driver (imx-bus) hasn't been fully working.
- Fix soc-imx driver to register SoC device only on i.MX platform.

* tag 'imx-fixes-5.16-2' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  soc: imx: Register SoC device only on i.MX boards
  soc: imx: imx8m-blk-ctrl: Fix imx8mm mipi reset
  ARM: dts: imx6ull-pinfunc: Fix CSI_DATA07__ESAI_TX0 pad name
  arm64: dts: imx8mq: remove interconnect property from lcdif

Link: https://lore.kernel.org/r/20211211015625.GK4216@dragon
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoMerge tag 'tegra-for-5.16-firmware-fixes' of git://git.kernel.org/pub/scm/linux/kerne...
Arnd Bergmann [Mon, 13 Dec 2021 14:04:28 +0000 (15:04 +0100)]
Merge tag 'tegra-for-5.16-firmware-fixes' of git://git./linux/kernel/git/tegra/linux into arm/fixes

firmware: Fixes for v5.16-rc5

This contains a single fix for an incorrect usage of sizeof().

* tag 'tegra-for-5.16-firmware-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  firmware: tegra: Fix error application of sizeof() to pointer

Link: https://lore.kernel.org/r/20211207162115.450554-1-thierry.reding@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoMerge tag 'asahi-soc-fixes-5.16' of https://github.com/AsahiLinux/linux into arm...
Arnd Bergmann [Mon, 13 Dec 2021 14:03:55 +0000 (15:03 +0100)]
Merge tag 'asahi-soc-fixes-5.16' of https://github.com/AsahiLinux/linux into arm/fixes

Asahi SoC DT/binding fixes for 5.16.

Just some minor DT fixups we found after things got merged.

* tag 'asahi-soc-fixes-5.16' of https://github.com/AsahiLinux/linux:
  arm64: dts: apple: add #interrupt-cells property to pinctrl nodes
  dt-bindings: i2c: apple,i2c: allow multiple compatibles
  arm64: dts: apple: change ethernet0 device type to ethernet

Link: https://lore.kernel.org/r/cc9a1a67-3b2d-ae9f-5733-859111eb78c1@marcan.st
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoMerge tag 'socfpga_fix_for_v5.16_part_2' of git://git.kernel.org/pub/scm/linux/kernel...
Arnd Bergmann [Mon, 13 Dec 2021 14:02:51 +0000 (15:02 +0100)]
Merge tag 'socfpga_fix_for_v5.16_part_2' of git://git./linux/kernel/git/dinguyen/linux into arm/fixes

SoCFPGA fix for v5.16, part 2
- Fix QSPI dts entry to include "jedec,spi-nor"

* tag 'socfpga_fix_for_v5.16_part_2' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux:
  ARM: socfpga: dts: fix qspi node compatible

Link: https://lore.kernel.org/r/20211203181007.3138381-1-dinguyen@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoMerge branch 'v5.16/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/amlogic...
Arnd Bergmann [Mon, 13 Dec 2021 14:01:10 +0000 (15:01 +0100)]
Merge branch 'v5.16/fixes' of git://git./linux/kernel/git/amlogic/linux into arm/fixes

* 'v5.16/fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux:
  arm64: meson: remove COMMON_CLK
  arm64: meson: fix dts for JetHub D1

Link: https://lore.kernel.org/r/ab9f066f-480b-84b2-248e-953f2f2b5f59@baylibre.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoMerge tag 'amdtee-fix-for-v5.16' of git://git.linaro.org/people/jens.wiklander/linux...
Arnd Bergmann [Mon, 13 Dec 2021 14:00:38 +0000 (15:00 +0100)]
Merge tag 'amdtee-fix-for-v5.16' of git://git.linaro.org/people/jens.wiklander/linux-tee into arm/fixes

AMD-TEE fix IS_ERR() bug

* tag 'amdtee-fix-for-v5.16' of git://git.linaro.org/people/jens.wiklander/linux-tee:
  tee: amdtee: fix an IS_ERR() vs NULL bug

Link: https://lore.kernel.org/r/20211130070351.GA2308099@jade
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoMerge tag 'imx-fixes-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo...
Arnd Bergmann [Mon, 13 Dec 2021 13:51:54 +0000 (14:51 +0100)]
Merge tag 'imx-fixes-5.16' of git://git./linux/kernel/git/shawnguo/linux into arm/fixes

i.MX fixes for 5.16:

- A series from Vladimir Oltean to update SJA1105 switch RGMII delay for
  a few boards, so that kernel doesn't warn on the legacy bindings.
- Remove redundant interrupt declaration for gpio-keys on board
  ls1088a-ten64, as this causes an IRQ reclaiming error on kernel v5.15
  and later.

* tag 'imx-fixes-5.16' of git://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  arm64: dts: ten64: remove redundant interrupt declaration for gpio-keys
  arm64: dts: lx2160abluebox3: update RGMII delays for sja1105 switch
  ARM: dts: ls1021a-tsn: update RGMII delays for sja1105 switch
  ARM: dts: imx6qp-prtwd3: update RGMII delays for sja1105 switch

Link: https://lore.kernel.org/r/20211126100716.GF4216@dragon
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoARM: dts: at91: sama7g5ek: Add QSPI0 node
Tudor Ambarus [Thu, 9 Dec 2021 12:36:43 +0000 (14:36 +0200)]
ARM: dts: at91: sama7g5ek: Add QSPI0 node

QSPI0 comunicates with a MX66LM1G45G SPI NOR flash.
Enable the controller and describe the flash.

Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@microchip.com>
Link: https://lore.kernel.org/r/20211209123643.341892-2-tudor.ambarus@microchip.com
3 years agoARM: dts: at91: sama7g5: Add QSPI nodes
Tudor Ambarus [Thu, 9 Dec 2021 12:36:42 +0000 (14:36 +0200)]
ARM: dts: at91: sama7g5: Add QSPI nodes

sama7g5 embedds 2 instances of QSPI controller:
1/ OSPI0 Supporting Up to 200 MHz DDR. Octal, TwinQuad, Hyperflash
   and OctaFlash Protocols Supported.
2/ QSPI1 Supporting Up to 90 MHz DDR/133 MHz SDR.

Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@microchip.com>
Link: https://lore.kernel.org/r/20211209123643.341892-1-tudor.ambarus@microchip.com
3 years agoARM: dts: at91: sama5d2: Name the qspi clock
Tudor Ambarus [Thu, 9 Dec 2021 10:25:42 +0000 (12:25 +0200)]
ARM: dts: at91: sama5d2: Name the qspi clock

Naming clocks is a good practice. The atmel-quadspi driver supports
an unnamed clock for the peripheral clock in order to be backward
compatible with old DTs, but it is recommended to name the clocks
on new DTs. The driver's bindings file requires the clock-names
property, so name the clock.

Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com>
Signed-off-by: Nicolas Ferre <nicolas.ferre@microchip.com>
Link: https://lore.kernel.org/r/20211209102542.254153-1-tudor.ambarus@microchip.com
3 years agoMerge tag 'reset-fixes-for-v5.16' of git://git.pengutronix.de/pza/linux into arm...
Arnd Bergmann [Mon, 13 Dec 2021 13:13:23 +0000 (14:13 +0100)]
Merge tag 'reset-fixes-for-v5.16' of git://git.pengutronix.de/pza/linux into arm/fixes

Reset controller fixes for v5.16

Well, just one: revert commit c045ceb5a145 ("reset: tegra-bpmp: Handle
errors in BPMP response"), which exposed an issue with the Tegra194 HDA
controller reset. BPMP response error handling will be reinstated once
there's a fix for the HDA issue.

* tag 'reset-fixes-for-v5.16' of git://git.pengutronix.de/pza/linux:
  reset: tegra-bpmp: Revert Handle errors in BPMP response

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 years agoARM: dts: ixp4xx: Add devicetree for Gateway 7001
Zoltan HERPAI [Sun, 12 Dec 2021 17:49:40 +0000 (18:49 +0100)]
ARM: dts: ixp4xx: Add devicetree for Gateway 7001

This adds a device tree for the Gateway 7001 AP, based on
Intel IXP422.

Cc: Imre Kaloz <kaloz@openwrt.org>
Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
3 years agoLinux 5.16-rc5 v5.16-rc5
Linus Torvalds [Sun, 12 Dec 2021 22:53:01 +0000 (14:53 -0800)]
Linux 5.16-rc5

3 years agoMerge tag 'usb-5.16-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb
Linus Torvalds [Sun, 12 Dec 2021 18:20:57 +0000 (10:20 -0800)]
Merge tag 'usb-5.16-rc5' of git://git./linux/kernel/git/gregkh/usb

Pull USB fixes from Greg KH:
 "Here are some small USB fixes for 5.16-rc5.  They include:

   - gadget driver fixes for reported issues

   - xhci fixes for reported problems.

   - config endpoint parsing fixes for where we got bitfields wrong

  Most of these have been in linux-next, the remaining few were not, but
  got lots of local testing in my systems and in some cloud testing
  infrastructures"

* tag 'usb-5.16-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
  usb: core: config: using bit mask instead of individual bits
  usb: core: config: fix validation of wMaxPacketValue entries
  USB: gadget: zero allocate endpoint 0 buffers
  USB: gadget: detect too-big endpoint 0 requests
  xhci: avoid race between disable slot command and host runtime suspend
  xhci: Remove CONFIG_USB_DEFAULT_PERSIST to prevent xHCI from runtime suspending
  Revert "usb: dwc3: dwc3-qcom: Enable tx-fifo-resize property by default"

3 years agoMerge tag 'char-misc-5.16-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregk...
Linus Torvalds [Sun, 12 Dec 2021 18:16:34 +0000 (10:16 -0800)]
Merge tag 'char-misc-5.16-rc5' of git://git./linux/kernel/git/gregkh/char-misc

Pull char/misc driver fixes from Greg KH:
 "Here are a bunch of small char/misc and other driver subsystem fixes.

  Included in here are:

   - iio driver fixes for reported problems

   - phy driver fixes for a number of reported problems

   - mhi resume bugfix for broken hardware

   - nvmem driver fix

   - rtsx driver fix for irq issues

   - fastrpc packet parsing fix

  All of these have been in linux-next for a while with no reported
  issues"

* tag 'char-misc-5.16-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (33 commits)
  bus: mhi: core: Add support for forced PM resume
  iio: trigger: stm32-timer: fix MODULE_ALIAS
  misc: rtsx: Avoid mangling IRQ during runtime PM
  nvmem: eeprom: at25: fix FRAM byte_len
  misc: fastrpc: fix improper packet size calculation
  MAINTAINERS: add maintainer for Qualcomm FastRPC driver
  bus: mhi: pci_generic: Fix device recovery failed issue
  iio: adc: stm32: fix null pointer on defer_probe error
  phy: HiSilicon: Fix copy and paste bug in error handling
  dt-bindings: phy: zynqmp-psgtr: fix USB phy name
  phy: ti: omap-usb2: Fix the kernel-doc style
  phy: qualcomm: ipq806x-usb: Fix kernel-doc style
  iio: at91-sama5d2: Fix incorrect sign extension
  iio: adc: axp20x_adc: fix charging current reporting on AXP22x
  iio: gyro: adxrs290: fix data signedness
  phy: ti: tusb1210: Fix the kernel-doc warn
  phy: qualcomm: usb-hsic: Fix the kernel-doc warn
  phy: qualcomm: qmp: Add missing struct documentation
  phy: mvebu-cp110-utmi: Fix kernel-doc warns
  iio: ad7768-1: Call iio_trigger_notify_done() on error
  ...

3 years agoMerge tag 'timers-urgent-2021-12-12' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Sun, 12 Dec 2021 18:07:50 +0000 (10:07 -0800)]
Merge tag 'timers-urgent-2021-12-12' of git://git./linux/kernel/git/tip/tip

Pull timer fixes from Thomas Gleixner:
 "Two fixes for clock chip drivers:

   - A regression fix for the Designware APB timer. A recent change to
     the error checking code transformed the error condition wrongly so
     it turned into a fail if good condition.

   - Fix a clang build fail of the ARM architected timer driver"

* tag 'timers-urgent-2021-12-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  clocksource/drivers/arm_arch_timer: Force inlining of erratum_set_next_event_generic()
  clocksource/drivers/dw_apb_timer_of: Fix probe failure

3 years agoMerge tag 'irq-urgent-2021-12-12' of git://git.kernel.org/pub/scm/linux/kernel/git...
Linus Torvalds [Sun, 12 Dec 2021 17:53:12 +0000 (09:53 -0800)]
Merge tag 'irq-urgent-2021-12-12' of git://git./linux/kernel/git/tip/tip

Pull irq fixes from Thomas Gleixner:
 "A set of interrupt chip driver fixes:

   - Fix the multi vector MSI allocation on Armada 370XP

   - Do interrupt acknowledgement correctly in the aspeed-scu driver

   - Make the IPR register offset correct in the NVIC driver

   - Make redistribution table flushing correct by issueing a SYNC
     command to ensure that the invalidation command has been executed

   - Plug a device tree node reference leak in the bcm7210-l2 driver

   - Trivial fixes in the MIPS GIC and the Apple AIC drivers"

* tag 'irq-urgent-2021-12-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  irqchip/irq-bcm7120-l2: Add put_device() after of_find_device_by_node()
  irqchip/irq-gic-v3-its.c: Force synchronisation when issuing INVALL
  irqchip/apple-aic: Mark aic_init_smp() as __init
  irqchip: nvic: Fix offset for Interrupt Priority Offsets
  irqchip/mips-gic: Use bitfield helpers
  irqchip/aspeed-scu: Replace update_bits with write_bits.
  irqchip/armada-370-xp: Fix support for Multi-MSI interrupts
  irqchip/armada-370-xp: Fix return value of armada_370_xp_msi_alloc()

3 years agoMerge tag 'sched-urgent-2021-12-12' of git://git.kernel.org/pub/scm/linux/kernel...
Linus Torvalds [Sun, 12 Dec 2021 17:38:04 +0000 (09:38 -0800)]
Merge tag 'sched-urgent-2021-12-12' of git://git./linux/kernel/git/tip/tip

Pull scheduler fix from Thomas Gleixner:
 "A single fix for the x86 scheduler topology:

  Using cluster topology on hybrid CPUs, e.g. Alder Lake, biases the
  scheduler towards the ATOM cluster as that has more total capacity.
  Use selection based on CPU priority instead"

* tag 'sched-urgent-2021-12-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
  sched,x86: Don't use cluster topology for x86 hybrid CPUs

3 years agoMerge tag 'csky-for-linus-5.16-rc5' of git://github.com/c-sky/csky-linux
Linus Torvalds [Sun, 12 Dec 2021 17:32:49 +0000 (09:32 -0800)]
Merge tag 'csky-for-linus-5.16-rc5' of git://github.com/c-sky/csky-linux

Pull csky from Guo Ren:
 "Only one fix for csky: fix fpu config macro"

* tag 'csky-for-linus-5.16-rc5' of git://github.com/c-sky/csky-linux:
  csky: fix typo of fpu config macro

3 years agoarm64: dts: rockchip: Fix Bluetooth on ROCK Pi 4 boards
Jagan Teki [Fri, 12 Nov 2021 14:23:59 +0000 (19:53 +0530)]
arm64: dts: rockchip: Fix Bluetooth on ROCK Pi 4 boards

This patch fixes the Bluetooth on ROCK Pi 4 boards.

ROCK Pi 4 boards has BCM4345C5 and now it is supported
on Mainline Linux, brcm,bcm43438-bt still working but
observed the BT Audio issues with latest test.

So, use the BCM4345C5 compatible and its associated
properties like clock-names as lpo and max-speed.

Attach vbat and vddio supply rails as well.

Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
Link: https://lore.kernel.org/r/20211112142359.320798-1-jagan@amarulasolutions.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
3 years agoarm64: dts: rockchip: Add missing secondary compatible for PX30 DSI
David Heidelberg [Sat, 11 Dec 2021 23:38:17 +0000 (00:38 +0100)]
arm64: dts: rockchip: Add missing secondary compatible for PX30 DSI

Add second DSI compatible to comply with DT schema validation
comming in the second patch.

Signed-off-by: David Heidelberg <david@ixit.cz>
Link: https://lore.kernel.org/r/20211211233818.88482-1-david@ixit.cz
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
3 years agousb: core: config: using bit mask instead of individual bits
Pavel Hofman [Fri, 10 Dec 2021 08:52:19 +0000 (09:52 +0100)]
usb: core: config: using bit mask instead of individual bits

Using standard USB_EP_MAXP_MULT_MASK instead of individual bits for
extracting multiple-transactions bits from wMaxPacketSize value.

Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Pavel Hofman <pavel.hofman@ivitera.com>
Link: https://lore.kernel.org/r/20211210085219.16796-2-pavel.hofman@ivitera.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
3 years agousb: core: config: fix validation of wMaxPacketValue entries
Pavel Hofman [Fri, 10 Dec 2021 08:52:18 +0000 (09:52 +0100)]
usb: core: config: fix validation of wMaxPacketValue entries

The checks performed by commit aed9d65ac327 ("USB: validate
wMaxPacketValue entries in endpoint descriptors") require that initial
value of the maxp variable contains both maximum packet size bits
(10..0) and multiple-transactions bits (12..11). However, the existing
code assings only the maximum packet size bits. This patch assigns all
bits of wMaxPacketSize to the variable.

Fixes: aed9d65ac327 ("USB: validate wMaxPacketValue entries in endpoint descriptors")
Cc: stable <stable@vger.kernel.org>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Pavel Hofman <pavel.hofman@ivitera.com>
Link: https://lore.kernel.org/r/20211210085219.16796-1-pavel.hofman@ivitera.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
3 years agoUSB: gadget: zero allocate endpoint 0 buffers
Greg Kroah-Hartman [Thu, 9 Dec 2021 18:02:15 +0000 (19:02 +0100)]
USB: gadget: zero allocate endpoint 0 buffers

Under some conditions, USB gadget devices can show allocated buffer
contents to a host.  Fix this up by zero-allocating them so that any
extra data will all just be zeros.

Reported-by: Szymon Heidrich <szymon.heidrich@gmail.com>
Tested-by: Szymon Heidrich <szymon.heidrich@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
3 years agoUSB: gadget: detect too-big endpoint 0 requests
Greg Kroah-Hartman [Thu, 9 Dec 2021 17:59:27 +0000 (18:59 +0100)]
USB: gadget: detect too-big endpoint 0 requests

Sometimes USB hosts can ask for buffers that are too large from endpoint
0, which should not be allowed.  If this happens for OUT requests, stall
the endpoint, but for IN requests, trim the request size to the endpoint
buffer size.

Co-developed-by: Szymon Heidrich <szymon.heidrich@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
3 years agoarm64: dts: apple: t8103: Add watchdog node
Sven Peter [Sat, 11 Dec 2021 12:40:44 +0000 (13:40 +0100)]
arm64: dts: apple: t8103: Add watchdog node

Add the watchdog node which also enables reboot support on the t8103.

Signed-off-by: Sven Peter <sven@svenpeter.dev>
Signed-off-by: Hector Martin <marcan@marcan.st>
3 years agodt-bindings: pinctrl: apple,pinctrl: Add apple,t6000-pinctrl compatible
Hector Martin [Thu, 9 Dec 2021 05:10:01 +0000 (14:10 +0900)]
dt-bindings: pinctrl: apple,pinctrl: Add apple,t6000-pinctrl compatible

This new SoC uses the same pinctrl hardware, so just add a new per-SoC
compatible.

Reviewed-by: Mark Kettenis <kettenis@openbsd.org>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Hector Martin <marcan@marcan.st>