]> git.ipfire.org Git - thirdparty/kernel/linux.git/log
thirdparty/kernel/linux.git
13 days agoMerge tag 'soc_fsl-6.20-1' of https://git.kernel.org/pub/scm/linux/kernel/git/chleroy...
Arnd Bergmann [Wed, 4 Feb 2026 07:41:48 +0000 (08:41 +0100)] 
Merge tag 'soc_fsl-6.20-1' of https://git.kernel.org/pub/scm/linux/kernel/git/chleroy/linux into soc/drivers

FSL SOC Changes for 6.20

Freescale Management Complex:
- Convert fsl-mc bus to bus callbacks
- Fix a use-after-free
- Drop redundant error messages
- Fix ressources release on some error path

Freescale QUICC Engine:
- Add an interrupt controller for IO Ports
- Use scoped for-each OF child loop

* tag 'soc_fsl-6.20-1' of https://git.kernel.org/pub/scm/linux/kernel/git/chleroy/linux:
  bus: fsl-mc: fix an error handling in fsl_mc_device_add()
  soc: fsl: qe: qe_ports_ic: Consolidate chained IRQ handler install/remove
  dt-bindings: soc: fsl: qe: Add an interrupt controller for QUICC Engine Ports
  soc: fsl: qe: Add an interrupt controller for QUICC Engine Ports
  soc: fsl: qe: Simplify with scoped for each OF child loop
  bus: fsl-mc: fix use-after-free in driver_override_show()
  bus: fsl-mc: Convert to bus callbacks
  bus: fsl-mc: Drop error message in probe function

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2 weeks agoMerge tag 'v6.20-rockchip-drivers1' of https://git.kernel.org/pub/scm/linux/kernel...
Arnd Bergmann [Thu, 29 Jan 2026 10:25:29 +0000 (11:25 +0100)] 
Merge tag 'v6.20-rockchip-drivers1' of https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into soc/drivers

Two fixes for the default-settings code for the General-Register-Files,
which sets system defaults for some settings like disabling the automatic
jtag/sdmmc switching.

One is a corrected register-offset and the other makes the code actually
look for all matched GRF instances, which it didn't do before.

* tag 'v6.20-rockchip-drivers1' of https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  soc: rockchip: grf: Support multiple grf to be handled
  soc: rockchip: grf: Fix wrong RK3576_IOCGRF_MISC_CON definition

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2 weeks agoMerge tag 'mvebu-arm-6.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/gclemen...
Arnd Bergmann [Thu, 29 Jan 2026 10:23:06 +0000 (11:23 +0100)] 
Merge tag 'mvebu-arm-6.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu into soc/drivers

mvebu arm for 6.20 (part 1)

Simplify Dove PMU OF child node iteration with scoped loops

* tag 'mvebu-arm-6.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu:
  soc: dove: pmu: Simplify with scoped for each OF child loop

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2 weeks agoMerge tag 'reset-for-v6.20' of https://git.pengutronix.de/git/pza/linux into soc...
Arnd Bergmann [Thu, 29 Jan 2026 09:24:16 +0000 (10:24 +0100)] 
Merge tag 'reset-for-v6.20' of https://git.pengutronix.de/git/pza/linux into soc/drivers

Reset controller updates for v6.20

* Add a compatible to the reset-gpio driver, suppress the sysfs bind
  attributes, and propagate GPIO API errors.
* Add support for the i.MX8ULP SIM LPAV reset controller.
* Add RZ/G3S USBPHY suspend/resume support.
* Enable reset-k230 by default on ARCH_CANAAN
* Add support for the SpacemiT K3 SoC reset controller.
* Merge the 'spacemit-clkrst-v6.20-3' tag, shared with the clk tree,
  as a dependency for the SpacemiT changes.

* tag 'reset-for-v6.20' of https://git.pengutronix.de/git/pza/linux:
  reset: spacemit: Add SpacemiT K3 reset driver
  reset: spacemit: Extract common K1 reset code
  reset: Create subdirectory for SpacemiT drivers
  dt-bindings: soc: spacemit: Add K3 reset support and IDs
  reset: canaan: k230: drop OF dependency and enable by default
  reset: rzg2l-usbphy-ctrl: Add suspend/resume support
  reset: rzg2l-usbphy-ctrl: Propagate the return value of regmap_field_update_bits()
  reset: gpio: check the return value of gpiod_set_value_cansleep()
  reset: imx8mp-audiomix: Support i.MX8ULP SIM LPAV
  reset: imx8mp-audiomix: Extend the driver usage
  reset: imx8mp-audiomix: Switch to using regmap API
  reset: imx8mp-audiomix: Drop unneeded macros
  reset: gpio: suppress bind attributes in sysfs
  clk: spacemit: k3: extract common header
  reset: spacemit: fix auxiliary device id
  clk: spacemit: prepare common ccu header
  reset: gpio: add the "compatible" property

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2 weeks agoMerge tag 'memory-controller-drv-6.20' of https://git.kernel.org/pub/scm/linux/kernel...
Arnd Bergmann [Thu, 29 Jan 2026 09:13:55 +0000 (10:13 +0100)] 
Merge tag 'memory-controller-drv-6.20' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl into soc/drivers

Memory controller drivers for v6.20

1. Mediatek SMI: Fix old struct device reference leaks during error
   paths and device unbinding.

2. Memory Devicetree bindings: refactor existing LPDDR bindings and add
   bindings for DDR4 SDRAM.  These will be used for example in
   stm32mp257f-ev1 DTS.

* tag 'memory-controller-drv-6.20' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux-mem-ctrl:
  dt-bindings: memory: SDRAM channel: standardise node name
  dt-bindings: memory: add DDR4 channel compatible
  dt-bindings: memory: factorise LPDDR channel binding into SDRAM channel
  dt-bindings: memory: introduce DDR4
  dt-bindings: memory: factorise LPDDR props into SDRAM props
  memory: mtk-smi: clean up device link creation
  memory: mtk-smi: fix device leak on larb probe
  memory: mtk-smi: fix device leaks on common probe

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2 weeks agoMerge tag 'amlogic-drivers-for-v6.20' of https://git.kernel.org/pub/scm/linux/kernel...
Arnd Bergmann [Thu, 29 Jan 2026 09:13:23 +0000 (10:13 +0100)] 
Merge tag 'amlogic-drivers-for-v6.20' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux into soc/drivers

Amlogic Drivers for v6.20:
- add new SoC id for S905Y4

* tag 'amlogic-drivers-for-v6.20' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux:
  soc: amlogic: meson-gx-socinfo: add new SoC id for S905Y4

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2 weeks agoMerge tag 'omap-for-v6.20/drivers-signed' of git://git.kernel.org/pub/scm/linux/kerne...
Arnd Bergmann [Thu, 29 Jan 2026 09:11:41 +0000 (10:11 +0100)] 
Merge tag 'omap-for-v6.20/drivers-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap into soc/drivers

drivers: bus & hwsplinlock updates for OMAP

* tag 'omap-for-v6.20/drivers-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap:
  hwspinlock: omap: Handle devm_pm_runtime_enable() errors
  bus: omap-ocp2scp: enable compile testing
  bus: omap-ocp2scp: fix OF populate on driver rebind

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2 weeks agoMerge tag 'mtk-soc-for-v6.20' of https://git.kernel.org/pub/scm/linux/kernel/git...
Arnd Bergmann [Thu, 29 Jan 2026 09:09:19 +0000 (10:09 +0100)] 
Merge tag 'mtk-soc-for-v6.20' of https://git.kernel.org/pub/scm/linux/kernel/git/mediatek/linux into soc/drivers

MediaTek soc driver updates

This adds:
 - A socinfo entry for the MT8371 Genio 520 SoC
 - Support for the Dynamic Voltage and Frequency Scaling
   Resource Controller (DVFSRC) version 4, found in the
   new MediaTek Kompanio Ultra (MT8196) SoC
 - Initial support for the CMDQ mailbox found in the MT8196.
 - A memory leak fix in the MediaTek SVS driver's debug ops.

* tag 'mtk-soc-for-v6.20' of https://git.kernel.org/pub/scm/linux/kernel/git/mediatek/linux:
  soc: mediatek: mtk-cmdq: Add mminfra_offset adjustment for DRAM addresses
  soc: mediatek: mtk-cmdq: Extend cmdq_pkt_write API for SoCs without subsys ID
  soc: mediatek: mtk-cmdq: Add pa_base parsing for hardware without subsys ID support
  soc: mediatek: mtk-cmdq: Add cmdq_get_mbox_priv() in cmdq_pkt_create()
  mailbox: mtk-cmdq: Add driver data to support for MT8196
  mailbox: mtk-cmdq: Add mminfra_offset configuration for DRAM transaction
  mailbox: mtk-cmdq: Add GCE hardware virtualization configuration
  mailbox: mtk-cmdq: Add cmdq private data to cmdq_pkt for generating instruction
  soc: mediatek: mtk-dvfsrc: Rework bandwidth calculations
  soc: mediatek: mtk-dvfsrc: Get and Enable DVFSRC clock
  soc: mediatek: mtk-dvfsrc: Add support for DVFSRCv4 and MT8196
  soc: mediatek: mtk-dvfsrc: Write bandwidth to EMI DDR if present
  soc: mediatek: mtk-dvfsrc: Add a new callback for calc_dram_bw
  soc: mediatek: mtk-dvfsrc: Add and propagate DVFSRC bandwidth type
  soc: mediatek: mtk-dvfsrc: Change error check for DVFSRCv4 START cmd
  dt-bindings: soc: mediatek: dvfsrc: Document clock
  soc: mediatek: mtk-socinfo: Add entry for MT8371AV/AZA Genio 520
  soc: mediatek: svs: Fix memory leak in svs_enable_debug_write()

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2 weeks agoMerge tag 'apple-soc-drivers-6.20' of https://git.kernel.org/pub/scm/linux/kernel...
Arnd Bergmann [Thu, 29 Jan 2026 09:08:29 +0000 (10:08 +0100)] 
Merge tag 'apple-soc-drivers-6.20' of https://git.kernel.org/pub/scm/linux/kernel/git/sven/linux into soc/drivers

Apple SoC driver updates for 6.20

- Add a poweroff function to the RTKit library which will be required
  for the first USB4/Thunderbolt series I hope to submit next cycle.

* tag 'apple-soc-drivers-6.20' of https://git.kernel.org/pub/scm/linux/kernel/git/sven/linux:
  soc: apple: rtkit: Add function to poweroff

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2 weeks agobus: fsl-mc: fix an error handling in fsl_mc_device_add()
Haoxiang Li [Sat, 24 Jan 2026 10:20:54 +0000 (18:20 +0800)] 
bus: fsl-mc: fix an error handling in fsl_mc_device_add()

In fsl_mc_device_add(), device_initialize() is called first.
put_device() should be called to drop the reference if error
occurs. And other resources would be released via put_device
-> fsl_mc_device_release. So remove redundant kfree() in
error handling path.

Fixes: bbf9d17d9875 ("staging: fsl-mc: Freescale Management Complex (fsl-mc) bus driver")
Cc: stable@vger.kernel.org
Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Closes: https://lore.kernel.org/all/b767348e-d89c-416e-acea-1ebbff3bea20@stanley.mountain/
Signed-off-by: Su Hui <suhui@nfschina.com>
Suggested-by: Christophe Leroy (CS GROUP) <chleroy@kernel.org>
Signed-off-by: Haoxiang Li <lihaoxiang@isrc.iscas.ac.cn>
Reviewed-by: Ioana Ciornei <ioana.ciornei@nxp.com>
Link: https://lore.kernel.org/r/20260124102054.1613093-1-lihaoxiang@isrc.iscas.ac.cn
Signed-off-by: Christophe Leroy (CS GROUP) <chleroy@kernel.org>
3 weeks agoreset: spacemit: Add SpacemiT K3 reset driver
Guodong Xu [Tue, 20 Jan 2026 11:10:52 +0000 (19:10 +0800)] 
reset: spacemit: Add SpacemiT K3 reset driver

Add support for the SpacemiT K3 SoC reset controller. The K3 reset
driver reuses the common reset controller code and provides K3-specific
reset data for devices managed by the following units:

 - MPMU (Main Power Management Unit)
 - APBC (APB clock unit)
 - APMU (Application Subsystem Power Management Unit)
 - DCIU (DMA Control and Interface Unit)

Acked-by: Alex Elder <elder@riscstar.com>
Signed-off-by: Guodong Xu <guodong@riscstar.com>
Reviewed-by: Yixun Lan <dlan@kernel.org>
Link: https://lore.kernel.org/spacemit/20260114092742-GYC7933267@gentoo.org/
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
3 weeks agoreset: spacemit: Extract common K1 reset code
Guodong Xu [Tue, 20 Jan 2026 11:10:51 +0000 (19:10 +0800)] 
reset: spacemit: Extract common K1 reset code

Extract the common reset controller code from the K1 driver into
separate reset-spacemit-common.{c,h} files to prepare for additional
SpacemiT SoCs that share the same reset controller architecture.

The common code includes handlers for reset assert and deassert
operations and probing for auxiliary bus devices.

Changes during extraction:
- Module ownership: Use dev->driver->owner instead of THIS_MODULE in
  spacemit_reset_controller_register() to correctly reference the
  calling driver's module.
- Rename spacemit_reset_ids to spacemit_k1_reset_ids.
- Define new namespace "RESET_SPACEMIT" for the exported common
  functions (spacemit_reset_probe) and update K1 driver to import it.

This prepares for additional SpacemiT SoCs (K3) that share the same reset
controller architecture.

Reviewed-by: Alex Elder <elder@riscstar.com>
Signed-off-by: Guodong Xu <guodong@riscstar.com>
Reviewed-by: Yixun Lan <dlan@kernel.org>
Link: https://lore.kernel.org/spacemit/20260114092742-GYC7933267@gentoo.org/
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
3 weeks agoreset: Create subdirectory for SpacemiT drivers
Guodong Xu [Tue, 20 Jan 2026 11:10:50 +0000 (19:10 +0800)] 
reset: Create subdirectory for SpacemiT drivers

Create a dedicated subdirectory for SpacemiT reset drivers to allow
for better organization as support for more SoCs is added.

Move the existing K1 reset driver into this new directory and rename
it to reset-spacemit-k1.c.

Rename the Kconfig symbol to RESET_SPACEMIT_K1 and update its default
from ARCH_SPACEMIT to SPACEMIT_K1_CCU. The reset driver depends on the
clock driver to register reset devices as an auxiliary device, so the
default should reflect this dependency.

Also sort the drivers/reset/Kconfig entries alphabetically.

Reviewed-by: Alex Elder <elder@riscstar.com>
Signed-off-by: Guodong Xu <guodong@riscstar.com>
Reviewed-by: Yixun Lan <dlan@kernel.org>
Link: https://lore.kernel.org/spacemit/20260114092742-GYC7933267@gentoo.org/
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
3 weeks agodt-bindings: soc: spacemit: Add K3 reset support and IDs
Guodong Xu [Tue, 20 Jan 2026 11:10:49 +0000 (19:10 +0800)] 
dt-bindings: soc: spacemit: Add K3 reset support and IDs

Update the spacemit,k1-syscon.yaml binding to document K3 SoC reset
support.

K3 reset devices are registered at runtime as auxiliary devices by the
K3 CCU driver. Since K3 reuses the K1 syscon binding, there is no separate
YAML binding file for K3 resets.

Update #reset-cells description to document where reset IDs are defined.

Acked-by: Alex Elder <elder@riscstar.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Signed-off-by: Guodong Xu <guodong@riscstar.com>
Reviewed-by: Yixun Lan <dlan@kernel.org>
Link: https://lore.kernel.org/spacemit/20260114092742-GYC7933267@gentoo.org/
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
3 weeks agoMerge tag 'spacemit-clkrst-v6.20-3' into reset/next
Philipp Zabel [Sat, 24 Jan 2026 15:51:04 +0000 (16:51 +0100)] 
Merge tag 'spacemit-clkrst-v6.20-3' into reset/next

3 weeks agoreset: canaan: k230: drop OF dependency and enable by default
Junhui Liu [Sat, 17 Jan 2026 10:06:22 +0000 (18:06 +0800)] 
reset: canaan: k230: drop OF dependency and enable by default

The driver doesn't use any symbols depending on CONFIG_OF, so drop the
dependency. Also, enable it by default when ARCH_CANAAN is selected.

Fixes: 360a7a647759 ("reset: canaan: add reset driver for Kendryte K230")
Signed-off-by: Junhui Liu <junhui.liu@pigmoral.tech>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
3 weeks agoreset: rzg2l-usbphy-ctrl: Add suspend/resume support
Claudiu Beznea [Fri, 9 Jan 2026 14:36:59 +0000 (16:36 +0200)] 
reset: rzg2l-usbphy-ctrl: Add suspend/resume support

The RZ/G2L USBPHY control driver is also used on the RZ/G3S SoC.
The RZ/G3S SoC supports a power-saving mode in which power to most USB
components (including the USBPHY control block) is turned off. Because of
this, the USBPHY control block needs to be reconfigured when returning
from power-saving mode.

Add suspend/resume support to handle runtime suspend/resume of the device,
assert/deassert the reset signal, and reinitialize the USBPHY control
block.

Reviewed-by: Biju Das <biju.das.jz@bp.renesas.com>
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
3 weeks agoreset: rzg2l-usbphy-ctrl: Propagate the return value of regmap_field_update_bits()
Claudiu Beznea [Fri, 9 Jan 2026 14:36:58 +0000 (16:36 +0200)] 
reset: rzg2l-usbphy-ctrl: Propagate the return value of regmap_field_update_bits()

Propagate the return value of regmap_field_update_bits() to avoid losing
any possible error. With this, the return type of
rzg2l_usbphy_ctrl_set_pwrrdy() was updated accordingly.

Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
Reviewed-by: Biju Das <biju.das.jz@bp.renesas.com>
Signed-off-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
3 weeks agoreset: gpio: check the return value of gpiod_set_value_cansleep()
Bartosz Golaszewski [Tue, 2 Dec 2025 16:39:37 +0000 (17:39 +0100)] 
reset: gpio: check the return value of gpiod_set_value_cansleep()

gpiod_set_value_cansleep() now returns an integer and can indicate
failures. Propagate the return value to the caller of the reset API.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
3 weeks agoreset: imx8mp-audiomix: Support i.MX8ULP SIM LPAV
Laurentiu Mihalcea [Wed, 26 Nov 2025 12:42:17 +0000 (04:42 -0800)] 
reset: imx8mp-audiomix: Support i.MX8ULP SIM LPAV

Support i.MX8ULP's SIM LPAV by adding its reset map definition.

Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
3 weeks agoreset: imx8mp-audiomix: Extend the driver usage
Laurentiu Mihalcea [Wed, 26 Nov 2025 12:42:16 +0000 (04:42 -0800)] 
reset: imx8mp-audiomix: Extend the driver usage

Switch to per-device reset map to allow reusing the driver for other NXP
block control IPs.

Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
3 weeks agoreset: imx8mp-audiomix: Switch to using regmap API
Laurentiu Mihalcea [Wed, 26 Nov 2025 12:42:15 +0000 (04:42 -0800)] 
reset: imx8mp-audiomix: Switch to using regmap API

Switch to using the regmap API to allow performing register operations
under the same lock. This is needed for cases such as i.MX8ULP's SIM LPAV
where clock gating, reset control and MUX-ing is performed via the same
register (i.e. SYSCTRL0) and different subsystem APIs.

Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
3 weeks agoreset: imx8mp-audiomix: Drop unneeded macros
Laurentiu Mihalcea [Wed, 26 Nov 2025 12:42:14 +0000 (04:42 -0800)] 
reset: imx8mp-audiomix: Drop unneeded macros

The macros defining the mask values for the EARC, EARC PHY resets,
and the DSP RUN_STALL signal can be dropped as they are not and will
not be used anywhere else except to set the value of the "mask" field
from "struct imx8mp_reset_map". In this particular case, based on the
name of the "mask" field, you can already deduce what these values are
for, which is why defining macros for them doesn't offer any new
information, nor does it help with the code readability.

Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
3 weeks agoMerge tag 'qcom-drivers-for-6.20' of https://git.kernel.org/pub/scm/linux/kernel...
Arnd Bergmann [Wed, 21 Jan 2026 15:45:49 +0000 (16:45 +0100)] 
Merge tag 'qcom-drivers-for-6.20' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/drivers

Qualcomm driver updates for v6.20

Support multiple wait queues in the SCM firmware interface and provide
discovery of the wait queue interrupt to deal with the cases where
bootloader didn't patch the DeviceTree with the IRQ information.

Refactor the MDT loader and the SCM driver's peripheral authentication
service interface and introduce support for passing a remoteproc
resource table to the firmware. The remoteproc patches that uses this
and uses this to configure the IOMMU are included here due to
bidirectional dependencies. The end result is remoteproc support on the
Glymur platform.

Enable QSEECOM and thereby UEFI variable access, on the Surface Pro 11.

Make the QMI interface endianness aware, to support ath1Xk on big endian
machines.

Add the Glymur support in LLCC driver.

* tag 'qcom-drivers-for-6.20' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (33 commits)
  soc: qcom: preserve CPU endianness for QMI_DATA_LEN
  soc: qcom: fix QMI encoding/decoding for basic elements
  soc: qcom: check QMI basic element error codes
  soc: qcom: ubwc: add missing include
  remoteproc: qcom: pas: Enable Secure PAS support with IOMMU managed by Linux
  remoteproc: pas: Extend parse_fw callback to fetch resources via SMC call
  firmware: qcom_scm: Add qcom_scm_pas_get_rsc_table() to get resource table
  firmware: qcom_scm: Add SHM bridge handling for PAS when running without QHEE
  firmware: qcom_scm: Refactor qcom_scm_pas_init_image()
  firmware: qcom_scm: Add a prep version of auth_and_reset function
  soc: qcom: mdtloader: Remove qcom_mdt_pas_init() from exported symbols
  soc: qcom: mdtloader: Add PAS context aware qcom_mdt_pas_load() function
  remoteproc: pas: Replace metadata context with PAS context structure
  firmware: qcom_scm: Introduce PAS context allocator helper function
  firmware: qcom_scm: Rename peripheral as pas_id
  firmware: qcom_scm: Remove redundant piece of code
  dt-bindings: remoteproc: qcom,pas: Add iommus property
  soc: qcom: cmd-db: Use devm_memremap() to fix memory leak in cmd_db_dev_probe
  soc: qcom: pmic_glink_altmode: Consume TBT3/USB4 mode notifications
  dt-bindings: qcom,pdc: document the Milos Power Domain Controller
  ...

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 weeks agoMerge tag 'ti-driver-soc-for-v6.20' of https://git.kernel.org/pub/scm/linux/kernel...
Arnd Bergmann [Wed, 21 Jan 2026 15:43:45 +0000 (16:43 +0100)] 
Merge tag 'ti-driver-soc-for-v6.20' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux into soc/drivers

TI SoC driver updates for v6.20

Bug Fixes:
- pruss: Fix double free in pruss_clk_mux_setup()
- k3-socinfo: Fix regmap leak on probe failure
- k3-socinfo: Fix compile testing dependency issue

Cleanups:
- knav_dma/knav_qmss: Remove redundant ENOMEM printks and simplify error messages
- knav_dma/knav: Simplify code with scoped for each OF child loops
- ti_sci.h: Fix all kernel-doc warnings

* tag 'ti-driver-soc-for-v6.20' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux:
  soc: ti: pruss: Fix double free in pruss_clk_mux_setup()
  soc: ti: k3-socinfo: Fix regmap leak on probe failure
  soc: ti: k3-socinfo: Fix compile testing
  soc: ti: knav_dma: Simplify with scoped for each OF child loop
  soc: ti: knav: Simplify with scoped for each OF child loop
  soc: ti: knav_dma: Simplify error messages in probe
  soc: ti: knav_dma: Remove ENOMEM printks
  soc: ti: knav_qmss: Remove ENOMEM printks
  firmware: ti_sci.h: fix all kernel-doc warnings

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 weeks agoMerge tag 'imx-drivers-6.20' of https://git.kernel.org/pub/scm/linux/kernel/git/shawn...
Arnd Bergmann [Wed, 21 Jan 2026 15:39:29 +0000 (16:39 +0100)] 
Merge tag 'imx-drivers-6.20' of https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into soc/drivers

i.MX drivers changes for 6.20:

- A few changes from Peng Fan adding dump syslog support for i.MX
  System Manager firmware driver, cleaning up soc-imx9 driver, fixing
  error handling for soc-imx8m driver

* tag 'imx-drivers-6.20' of https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  soc: imx8m: Fix error handling for clk_prepare_enable()
  soc: imx: Spport i.MX9[4,52]
  soc: imx: Use dev_err_probe() for i.MX9
  soc: imx: Use device-managed APIs for i.MX9
  firmware: imx: sm-misc: Dump syslog info
  firmware: arm_scmi: imx: Support getting syslog of MISC protocol

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 weeks agoMerge tag 'zynqmp-soc-for-6.20' of https://github.com/Xilinx/linux-xlnx into soc...
Arnd Bergmann [Wed, 21 Jan 2026 15:37:44 +0000 (16:37 +0100)] 
Merge tag 'zynqmp-soc-for-6.20' of https://github.com/Xilinx/linux-xlnx into soc/drivers

arm64: Xilinx SOC changes for 6.20

- Fix Michal's email in cpuidle driver
- s/system_unbound_wq/system_dfl_wq/g in zynqmp_power

* tag 'zynqmp-soc-for-6.20' of https://github.com/Xilinx/linux-xlnx:
  cpuidle: zynq: Switch Michal Simek's email to new one
  soc/xilinx: replace use of system_unbound_wq with system_dfl_wq

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 weeks agoMerge tag 'tegra-for-6.20-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra...
Arnd Bergmann [Wed, 21 Jan 2026 15:34:00 +0000 (16:34 +0100)] 
Merge tag 'tegra-for-6.20-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into soc/drivers

soc/tegra: Changes for v6.20-rc1

This series primarily refactors the Tegra PMC driver to eliminate
reliance on a global variable, transitioning to passing the tegra_pmc
context explicitly across clocks, powergates, sysfs/debugfs interfaces,
and power management callbacks. Additionally, it resolves a warning
during system resume by deferring an unsafe generic_handle_irq() call to
a hard IRQ context using irq_work.

* tag 'tegra-for-6.20-soc' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  soc/tegra: pmc: Add PMC contextual functions
  soc/tegra: pmc: Do not rely on global variable
  soc/tegra: pmc: Use driver-private data
  soc/tegra: pmc: Use PMC context embedded in powergates
  soc/tegra: pmc: Pass PMC context as debugfs data
  soc/tegra: pmc: Pass PMC context via sys-off callback data
  soc/tegra: pmc: Embed reboot notifier in PMC context
  soc/tegra: pmc: Store PMC context in clocks
  soc/tegra: pmc: Pass struct tegra_pmc to tegra_powergate_state()
  soc/tegra: pmc: Use contextual data instead of global variable
  soc/tegra: pmc: Fix unsafe generic_handle_irq() call

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 weeks agoMerge tag 'samsung-drivers-6.20' of https://git.kernel.org/pub/scm/linux/kernel/git...
Arnd Bergmann [Wed, 21 Jan 2026 15:31:46 +0000 (16:31 +0100)] 
Merge tag 'samsung-drivers-6.20' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into soc/drivers

Samsung SoC drivers for v6.20

1. Several improvements in Exynos ChipID Socinfo driver and finally
   adding Google GS101 SoC support.

2. Few cleanups from old code.

3. Documenting Axis Artpec-9 SoC PMU (Power Management Unit).

* tag 'samsung-drivers-6.20' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  ARM: s3c: remove a leftover hwmon-s3c.h header file
  dt-bindings: soc: samsung: exynos-pmu: Drop unnecessary select schema
  soc: samsung: exynos-chipid: add google,gs101-otp support
  soc: samsung: exynos-chipid: downgrade dev_info to dev_dbg for soc info
  soc: samsung: exynos-chipid: rename method
  dt-bindings: nvmem: add google,gs101-otp
  soc: samsung: exynos-chipid: use dev_err_probe where appropiate
  soc: samsung: exynos-chipid: use devm action to unregister soc device
  dt-bindings: samsung: exynos-pmu: Add compatible for ARTPEC-9 SoC

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 weeks agoMerge tag 'tee-sysfs-for-6.20' of git://git.kernel.org/pub/scm/linux/kernel/git/jensw...
Arnd Bergmann [Wed, 21 Jan 2026 15:30:51 +0000 (16:30 +0100)] 
Merge tag 'tee-sysfs-for-6.20' of git://git.kernel.org/pub/scm/linux/kernel/git/jenswi/linux-tee into soc/drivers

TEE sysfs for 6.20

- Add an optional generic sysfs attribute for TEE revision
- Implement revision reporting for OP-TEE using both SMC and FF-A ABIs

* tag 'tee-sysfs-for-6.20' of git://git.kernel.org/pub/scm/linux/kernel/git/jenswi/linux-tee:
  tee: optee: store OS revision for TEE core
  tee: add revision sysfs attribute

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 weeks agoMerge tag 'amdtee-update-for-6.20' of git://git.kernel.org/pub/scm/linux/kernel/git...
Arnd Bergmann [Wed, 21 Jan 2026 15:29:53 +0000 (16:29 +0100)] 
Merge tag 'amdtee-update-for-6.20' of git://git.kernel.org/pub/scm/linux/kernel/git/jenswi/linux-tee into soc/drivers

AMDTEE update for 6.20

Remove unused return variables

* tag 'amdtee-update-for-6.20' of git://git.kernel.org/pub/scm/linux/kernel/git/jenswi/linux-tee:
  tee: amdtee: Remove unused return variables

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 weeks agoMerge tag 'tee-bus-callback-for-6.20' of git://git.kernel.org/pub/scm/linux/kernel...
Arnd Bergmann [Wed, 21 Jan 2026 15:28:23 +0000 (16:28 +0100)] 
Merge tag 'tee-bus-callback-for-6.20' of git://git.kernel.org/pub/scm/linux/kernel/git/jenswi/linux-tee into soc/drivers

TEE bus callback for 6.20

- Move from generic device_driver to TEE bus-specific callbacks
- Add module_tee_client_driver() and registration helpers to reduce
  boilerplate
- Convert several client drivers (TPM, KEYS, firmware, EFI, hwrng,
  and RTC)
- Update documentation and fix kernel-doc warnings

* tag 'tee-bus-callback-for-6.20' of git://git.kernel.org/pub/scm/linux/kernel/git/jenswi/linux-tee:
  tpm/tpm_ftpm_tee: Fix kdoc after function renames
  tpm/tpm_ftpm_tee: Make use of tee bus methods
  tpm/tpm_ftpm_tee: Make use of tee specific driver registration
  KEYS: trusted: Make use of tee bus methods
  KEYS: trusted: Migrate to use tee specific driver registration function
  firmware: tee_bnxt: Make use of tee bus methods
  firmware: tee_bnxt: Make use of module_tee_client_driver()
  firmware: arm_scmi: Make use of tee bus methods
  firmware: arm_scmi: optee: Make use of module_tee_client_driver()
  efi: stmm: Make use of tee bus methods
  efi: stmm: Make use of module_tee_client_driver()
  hwrng: optee - Make use of tee bus methods
  hwrng: optee - Make use of module_tee_client_driver()
  rtc: optee: Make use of tee bus methods
  rtc: optee: Migrate to use tee specific driver registration function
  tee: Adapt documentation to cover recent additions
  tee: Add probe, remove and shutdown bus callbacks to tee_client_driver
  tee: Add some helpers to reduce boilerplate for tee client drivers

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 weeks agoMerge tag 'optee-update-for-6.20' of git://git.kernel.org/pub/scm/linux/kernel/git...
Arnd Bergmann [Wed, 21 Jan 2026 15:27:26 +0000 (16:27 +0100)] 
Merge tag 'optee-update-for-6.20' of git://git.kernel.org/pub/scm/linux/kernel/git/jenswi/linux-tee into soc/drivers

OP-TEE update for 6.20

- A micro optimization by making a local array static const
- Update OP-TEE mailing list as moderated
- Update an outdated comment for cmd_alloc_suppl()

* tag 'optee-update-for-6.20' of git://git.kernel.org/pub/scm/linux/kernel/git/jenswi/linux-tee:
  optee: make read-only array attr static const
  MAINTAINERS: Mark the OP-TEE mailing list moderated
  optee: update outdated comment

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 weeks agoMerge tag 'qcomtee-fixes-for-6.20' of git://git.kernel.org/pub/scm/linux/kernel/git...
Arnd Bergmann [Wed, 21 Jan 2026 15:26:56 +0000 (16:26 +0100)] 
Merge tag 'qcomtee-fixes-for-6.20' of git://git.kernel.org/pub/scm/linux/kernel/git/jenswi/linux-tee into soc/drivers

QCOMTEE fixes for 6.20

Small cleanups for the qcomtee driver to align with recommended coding
practices for the cleanup.h infrastructure.

* tag 'qcomtee-fixes-for-6.20' of git://git.kernel.org/pub/scm/linux/kernel/git/jenswi/linux-tee:
  tee: qcomtee: user: Fix confusing cleanup.h syntax
  tee: qcomtee: mem: Fix confusing cleanup.h syntax
  tee: qcomtee: call: Fix confusing cleanup.h syntax

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 weeks agoMerge tag 'renesas-drivers-for-v6.20-tag2' of git://git.kernel.org/pub/scm/linux...
Arnd Bergmann [Wed, 21 Jan 2026 15:25:01 +0000 (16:25 +0100)] 
Merge tag 'renesas-drivers-for-v6.20-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into soc/drivers

Renesas driver updates for v6.20 (take two)

  - Add and use for_each_of_imap_item() iterator,
  - Add support for the RZ/N1 GPIO Interrupt Multiplexer.

* tag 'renesas-drivers-for-v6.20-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  soc: renesas: Add support for RZ/N1 GPIO Interrupt Multiplexer
  irqchip/renesas-rza1: Use for_each_of_imap_item iterator
  irqchip/ls-extirq: Use for_each_of_imap_item iterator
  of: unittest: Add a test case for for_each_of_imap_item iterator
  of/irq: Introduce for_each_of_imap_item

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 weeks agoMerge tag 'scmi-updates-7.0' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep...
Arnd Bergmann [Wed, 21 Jan 2026 15:22:21 +0000 (16:22 +0100)] 
Merge tag 'scmi-updates-7.0' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into soc/drivers

Arm SCMI updates for v7.0

A set of cleanups, refactoring, and fixes to the Arm SCMI stack:

1. Rework protocol version negotiation by moving version discovery and
   downgrade handling into the SCMI core and performing negotiation early,
   before protocol initialization. Remove legacy per-protocol versioning
   logic now made redundant by centralized SCMI handling.

2. Increase the internal MAX_OPPS limit in the SCMI performance protocol
   to 64, allowing platforms with larger OPP tables to be fully supported.

3. Reduce duplicated boilerplate in pinctrl and related protocols by
   consolidating validation and lookup logic in protocol get info helpers.

4. Refactor reset protocol domain handling by introducing a shared lookup
   helper, ensuring consistent validation and error reporting.

5. Fix potential undefined behaviour by properly initializing pointers
   annotated with the __free attribute.

* tag 'scmi-updates-7.0' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux:
  firmware: arm_scmi: Remove legacy protocol versioning logic
  firmware: arm_scmi: Rework protocol version negotiation logic
  firmware: arm_scmi: Increase performance MAX_OPPS limit to 64
  firmware: arm_scmi: Move boiler plate code into the get info functions
  firmware: arm_scmi: Refactor reset domain handling
  firmware: arm_scmi: Fix uninitialized pointers with __free attr

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 weeks agoMerge tag 'ffa-updates-7.0' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep...
Arnd Bergmann [Wed, 21 Jan 2026 15:19:24 +0000 (16:19 +0100)] 
Merge tag 'ffa-updates-7.0' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into soc/drivers

Arm FF-A updates for v7.0

A small set of updates to the Arm FF-A driver:

1. Fix a correctness issue in NOTIFICATION_INFO_GET handling of 32-bit
   firmware responses, avoiding reads from undefined register bits.

2. Improve clarity and robustness of FF-A feature checks by tying them
   to explicit version requirements.

3. Ensure Rx/Tx buffers are unmapped on FF-A initialization failure to
   prevent resource leaks.

* tag 'ffa-updates-7.0' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux:
  firmware: arm_ffa: Correct 32-bit response handling in NOTIFICATION_INFO_GET
  firmware: arm_ffa: Tie FF-A version checks to specific features
  firmware: arm_ffa: Unmap Rx/Tx buffers on init failure

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 weeks agoMerge tag 'renesas-drivers-for-v6.20-tag1' of git://git.kernel.org/pub/scm/linux...
Arnd Bergmann [Wed, 21 Jan 2026 14:48:41 +0000 (15:48 +0100)] 
Merge tag 'renesas-drivers-for-v6.20-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into soc/drivers

Renesas driver updates for v6.20

  - Enable Interrupt Controller (ICU) support on the RZ/N2H SoC.

* tag 'renesas-drivers-for-v6.20-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel:
  soc: renesas: Enable ICU support on RZ/N2H

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
3 weeks agosoc: fsl: qe: qe_ports_ic: Consolidate chained IRQ handler install/remove
Chen Ni [Mon, 19 Jan 2026 05:57:15 +0000 (13:57 +0800)] 
soc: fsl: qe: qe_ports_ic: Consolidate chained IRQ handler install/remove

The driver currently sets the handler data and the chained handler in
two separate steps. This creates a theoretical race window where an
interrupt could fire after the handler is set but before the data is
assigned, leading to a NULL pointer dereference.

Replace the two calls with irq_set_chained_handler_and_data() to set
both the handler and its data atomically under the irq_desc->lock.

Signed-off-by: Chen Ni <nichen@iscas.ac.cn>
Link: https://lore.kernel.org/r/20260119055715.889001-1-nichen@iscas.ac.cn
Signed-off-by: Christophe Leroy (CS GROUP) <chleroy@kernel.org>
4 weeks agosoc: mediatek: mtk-cmdq: Add mminfra_offset adjustment for DRAM addresses
Jason-JH Lin [Fri, 31 Oct 2025 15:56:37 +0000 (23:56 +0800)] 
soc: mediatek: mtk-cmdq: Add mminfra_offset adjustment for DRAM addresses

Since GCE has been moved to MMINFRA in MT8196, all transactions from
MMINFRA to DRAM will have their addresses adjusted by subtracting a
mminfra_offset.

Therefore, the CMDQ helper driver needs to get the mminfra_offset value
of the SoC from cmdq_mbox_priv of cmdq_pkt and then add it to the DRAM
address when generating instructions to ensure GCE accesses the correct
DRAM address. CMDQ users can then call CMDQ helper APIs as usual.

Signed-off-by: Jason-JH Lin <jason-jh.lin@mediatek.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Acked-by: Jassi Brar <jassisinghbrar@gmail.com>
Acked-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
4 weeks agosoc: mediatek: mtk-cmdq: Extend cmdq_pkt_write API for SoCs without subsys ID
Jason-JH Lin [Fri, 31 Oct 2025 15:56:36 +0000 (23:56 +0800)] 
soc: mediatek: mtk-cmdq: Extend cmdq_pkt_write API for SoCs without subsys ID

This patch extends the cmdq_pkt_write API to support SoCs that do not
have subsys ID mapping by introducing new register write APIs:
- cmdq_pkt_write_pa() and cmdq_pkt_write_subsys() replace
  cmdq_pkt_write()
- cmdq_pkt_write_mask_pa() and cmdq_pkt_write_mask_subsys() replace
  cmdq_pkt_write_mask()

To ensure consistent function pointer interfaces, both
cmdq_pkt_write_pa() and cmdq_pkt_write_subsys() provide subsys and
pa_base parameters. This unifies how register writes are invoked,
regardless of whether subsys ID is supported by the device.

All GCEs support writing registers by PA (with mask) without subsys,
but this requires extra GCE instructions to convert the PA into a GCE
readable format, reducing performance compared to using subsys directly.
Therefore, subsys is preferred for register writes when available.

API documentation and function pointer declarations in cmdq_client_reg
have been updated. The original write APIs will be removed after all
CMDQ users transition to the new interfaces.

Signed-off-by: Jason-JH Lin <jason-jh.lin@mediatek.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Acked-by: Jassi Brar <jassisinghbrar@gmail.com>
Acked-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
4 weeks agosoc: mediatek: mtk-cmdq: Add pa_base parsing for hardware without subsys ID support
Jason-JH Lin [Fri, 31 Oct 2025 15:56:35 +0000 (23:56 +0800)] 
soc: mediatek: mtk-cmdq: Add pa_base parsing for hardware without subsys ID support

When GCE executes instructions, it typically locates the corresponding
hardware register using the subsys ID. For hardware that does not
support subsys ID, the subsys ID is set to an invalid value, and the
physical address must be used to generate GCE instructions.

The main advantage of using subsys ID is to reduce the number of
instructions. Without subsys ID, an additional `ASSIGN` instruction
is needed to assign the high bytes of the physical address, which can
impact performance if too many instructions are required. However, if
the hardware does not support subsys ID, using the physical address
is the only option to achieve the same functionality.

This commit adds a pa_base parsing flow to the cmdq_client_reg structure
to handle hardware without subsys ID support.

Signed-off-by: Jason-JH Lin <jason-jh.lin@mediatek.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Acked-by: Jassi Brar <jassisinghbrar@gmail.com>
Acked-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
4 weeks agosoc: mediatek: mtk-cmdq: Add cmdq_get_mbox_priv() in cmdq_pkt_create()
Jason-JH Lin [Fri, 31 Oct 2025 15:56:34 +0000 (23:56 +0800)] 
soc: mediatek: mtk-cmdq: Add cmdq_get_mbox_priv() in cmdq_pkt_create()

Add cmdq_get_mbox_priv() in cmdq_pkt_create() to ensure getting private
data before generating GCE instructions.

Signed-off-by: Jason-JH Lin <jason-jh.lin@mediatek.com>
Acked-by: Jassi Brar <jassisinghbrar@gmail.com>
Acked-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
4 weeks agomailbox: mtk-cmdq: Add driver data to support for MT8196
Jason-JH Lin [Fri, 31 Oct 2025 15:56:33 +0000 (23:56 +0800)] 
mailbox: mtk-cmdq: Add driver data to support for MT8196

MT8196 has 2 new hardware configuration compared with the previous SoC,
which correspond to the 2 new driver data:

1. mminfra_offset: For GCE data path control
   Since GCE has been moved into mminfra, GCE needs to append the
   mminfra offset to the DRAM address when accessing the DRAM.

2. gce_vm: For GCE hardware virtualization control
   Currently, the first version of the mt8196 mailbox controller only
   requires setting the VM-related registers to enable the permissions
   of a host VM.

Signed-off-by: Jason-JH Lin <jason-jh.lin@mediatek.com>
Reviewed-by: CK Hu <ck.hu@mediatek.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Acked-by: Jassi Brar <jassisinghbrar@gmail.com>
Acked-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
4 weeks agomailbox: mtk-cmdq: Add mminfra_offset configuration for DRAM transaction
Jason-JH Lin [Fri, 31 Oct 2025 15:56:32 +0000 (23:56 +0800)] 
mailbox: mtk-cmdq: Add mminfra_offset configuration for DRAM transaction

The GCE in MT8196 is placed in MMINFRA and requires all addresses
in GCE instructions for DRAM transactions to be IOVA.

Due to MMIO, if the GCE needs to access a hardware register at
0x1000_0000, but the SMMU is also mapping a DRAM block at 0x1000_0000,
the MMINFRA will not know whether to write to the hardware register or
the DRAM.
To solve this, MMINFRA treats addresses greater than 2G as data paths
and those less than 2G as config paths because the DRAM start address
is currently at 2G (0x8000_0000). On the data path, MMINFRA remaps
DRAM addresses by subtracting 2G, allowing SMMU to map DRAM addresses
less than 2G.
For example, if the DRAM start address 0x8000_0000 is mapped to
IOVA=0x0, when GCE accesses IOVA=0x0, it must add a 2G offset to
the address in the GCE instruction. MMINFRA will then see it as a
data path (IOVA >= 2G) and subtract 2G, allowing GCE to access IOVA=0x0.

Since the MMINFRA remap subtracting 2G is done in hardware and cannot
be configured by software, the address of DRAM in GCE instruction must
always add 2G to ensure proper access. After that, the shift functions
do more than just shift addresses, so the APIs were renamed to
cmdq_convert_gce_addr() and cmdq_revert_gce_addr().

This 2G adjustment is referred to as mminfra_offset in the CMDQ driver.
CMDQ helper can get the mminfra_offset from the cmdq_mbox_priv of
cmdq_pkt and add the mminfra_offset to the DRAM address in GCE
instructions.

Signed-off-by: Jason-JH Lin <jason-jh.lin@mediatek.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Acked-by: Jassi Brar <jassisinghbrar@gmail.com>
Acked-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
4 weeks agomailbox: mtk-cmdq: Add GCE hardware virtualization configuration
Jason-JH Lin [Fri, 31 Oct 2025 15:56:31 +0000 (23:56 +0800)] 
mailbox: mtk-cmdq: Add GCE hardware virtualization configuration

The GCE hardware virtualization configuration supports the isolation of
GCE hardware resources across different OS environments. Each OS is
treated as a virtual machine (VM) for GCE purposes.
There are 6 VMs and 1 host VM. The host VM has main control over the
GCE virtualization settings for all VMs.

To properly access the GCE thread registers, it is necessary to
configure access permissions for specific GCE threads assigned to
different VMs.
Currently, since only the host VM is being used, it is required to
enable access permissions for all GCE threads for the host VM.

There are 2 VM configurations:
1. VM_ID_MAP
There are 4 registers to allocate 32 GCE threads across different VMs:
VM_ID_MAP0 for threads 0-9, VM_ID_MAP1 for threads 10-19,
VM_ID_MAP2 for threads 20-29, and VM_ID_MAP3 for threads 30-31.
Each thread has a 3-bit configuration, where setting all bits to 1
configures the thread for the host VM.

2. VM_CPR_GSIZE
It is used to allocate the CPR SRAM size to each VM. Each VM has 4-bit
configuration, where setting bit 0-3 to configures the size of host VM.
This setting must be configured before the VM configuration to prevent
resource leakage.

Signed-off-by: Jason-JH Lin <jason-jh.lin@mediatek.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Acked-by: Jassi Brar <jassisinghbrar@gmail.com>
Acked-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
4 weeks agomailbox: mtk-cmdq: Add cmdq private data to cmdq_pkt for generating instruction
Jason-JH Lin [Fri, 31 Oct 2025 15:56:30 +0000 (23:56 +0800)] 
mailbox: mtk-cmdq: Add cmdq private data to cmdq_pkt for generating instruction

Add the cmdq_mbox_priv structure to store the private data of GCE,
such as the shift bits of the physical address. Then, include the
cmdq_mbox_priv structure within the cmdq_pkt structure.

This allows CMDQ users to utilize the private data in cmdq_pkt to
generate GCE instructions when needed. Additionally, having
cmdq_mbox_priv makes it easier to expand and reference other GCE
private data in the future.

Add cmdq_get_mbox_priv() for CMDQ users to get all the private data
into the cmdq_mbox_priv of the cmdq_pkt.

Signed-off-by: Jason-JH Lin <jason-jh.lin@mediatek.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Acked-by: Jassi Brar <jassisinghbrar@gmail.com>
Acked-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
4 weeks agoreset: gpio: suppress bind attributes in sysfs
Bartosz Golaszewski [Thu, 4 Dec 2025 09:44:12 +0000 (10:44 +0100)] 
reset: gpio: suppress bind attributes in sysfs

This is a special device that's created dynamically and is supposed to
stay in memory forever. We also currently don't have a devlink between
it and the actual reset consumer. Suppress sysfs bind attributes so that
user-space can't unbind the device because - as of now - it will cause a
use-after-free splat from any user that puts the reset control handle.

Fixes: cee544a40e44 ("reset: gpio: Add GPIO-based reset controller")
Cc: stable@vger.kernel.org
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
4 weeks agosoc: apple: rtkit: Add function to poweroff
Sven Peter [Sat, 17 Jan 2026 17:59:10 +0000 (18:59 +0100)] 
soc: apple: rtkit: Add function to poweroff

Add a function to put a co-processor into the lowest possible power
state from which recovery usually isn't possible without a full SoC
reset. This is required for the USB4/Thunderbolt co-processors which
can be restarted since the entire USB4 root complex can be completely
reset independently of the rest of the SoC.

Reviewed-by: Janne Grunau <j@jannau.net>
Link: https://patch.msgid.link/20260117-apple-rtkit-poweroff-v2-1-b882a180e44d@kernel.org
Signed-off-by: Sven Peter <sven@kernel.org>
4 weeks agosoc/tegra: pmc: Add PMC contextual functions
Thierry Reding [Mon, 3 Feb 2025 15:22:58 +0000 (16:22 +0100)] 
soc/tegra: pmc: Add PMC contextual functions

Add implementations that take as argument a struct tegra_pmc * for most
public APIs, as well as a function to obtain the PMC for any given
device. This will allow transitioning away users from relying on a
global variable storing the PMC context.

Signed-off-by: Thierry Reding <treding@nvidia.com>
4 weeks agosoc/tegra: pmc: Do not rely on global variable
Thierry Reding [Mon, 3 Feb 2025 13:55:03 +0000 (14:55 +0100)] 
soc/tegra: pmc: Do not rely on global variable

The reset action for changing the suspend mode back on failure can take
a context-specific data argument that can be set to the PMC context in
order to avoid relying on a global variable.

Signed-off-by: Thierry Reding <treding@nvidia.com>
4 weeks agosoc/tegra: pmc: Use driver-private data
Thierry Reding [Mon, 3 Feb 2025 13:52:46 +0000 (14:52 +0100)] 
soc/tegra: pmc: Use driver-private data

Instead of relying on a global variable for the PMC context, use the
driver-private data for sysfs attributes.

Signed-off-by: Thierry Reding <treding@nvidia.com>
4 weeks agosoc/tegra: pmc: Use PMC context embedded in powergates
Thierry Reding [Mon, 3 Feb 2025 13:51:18 +0000 (14:51 +0100)] 
soc/tegra: pmc: Use PMC context embedded in powergates

The powergates exposed by the PMC have a pointer to the PMC context
embedded. Use that embedded reference instead of relying on a global
variable.

For the core power domain a new structure needs to be introduced to wrap
the generic PM domain and store the PMC context.

Signed-off-by: Thierry Reding <treding@nvidia.com>
4 weeks agosoc/tegra: pmc: Pass PMC context as debugfs data
Thierry Reding [Mon, 3 Feb 2025 13:47:15 +0000 (14:47 +0100)] 
soc/tegra: pmc: Pass PMC context as debugfs data

Each debugfs file can have private data associated with it. Use this to
pass the PMC context instead of relying on a global variable.

Signed-off-by: Thierry Reding <treding@nvidia.com>
4 weeks agosoc/tegra: pmc: Pass PMC context via sys-off callback data
Thierry Reding [Mon, 3 Feb 2025 13:41:45 +0000 (14:41 +0100)] 
soc/tegra: pmc: Pass PMC context via sys-off callback data

To avoid relying on global variables, use the sys-off callback data to
store a reference to the PMC context structure.

Signed-off-by: Thierry Reding <treding@nvidia.com>
4 weeks agosoc/tegra: pmc: Embed reboot notifier in PMC context
Thierry Reding [Mon, 3 Feb 2025 13:38:24 +0000 (14:38 +0100)] 
soc/tegra: pmc: Embed reboot notifier in PMC context

Instead of relying on a global variable to track the PMC context, embed
the reboot notifier into the PMC context so that the latter can be
resolved using container_of().

Signed-off-by: Thierry Reding <treding@nvidia.com>
4 weeks agosoc/tegra: pmc: Store PMC context in clocks
Thierry Reding [Mon, 3 Feb 2025 13:33:09 +0000 (14:33 +0100)] 
soc/tegra: pmc: Store PMC context in clocks

Clocks exposed by the PMC need to reference the PMC context for register
programming. Store a reference to the context in the data structure for
each clock to avoid the need for a global variable.

Signed-off-by: Thierry Reding <treding@nvidia.com>
4 weeks agosoc/tegra: pmc: Pass struct tegra_pmc to tegra_powergate_state()
Thierry Reding [Mon, 3 Feb 2025 13:27:21 +0000 (14:27 +0100)] 
soc/tegra: pmc: Pass struct tegra_pmc to tegra_powergate_state()

By using the generic read_poll_timeout() instead of readx_poll_timeout()
we can pass additional parameters, which allows us to pass an additional
PMC context structure and avoid relying on a global variable for this.

Signed-off-by: Thierry Reding <treding@nvidia.com>
4 weeks agosoc/tegra: pmc: Use contextual data instead of global variable
Thierry Reding [Mon, 3 Feb 2025 17:17:37 +0000 (18:17 +0100)] 
soc/tegra: pmc: Use contextual data instead of global variable

Pass the driver-specific data via the syscore struct and use it in the
syscore ops.

Signed-off-by: Thierry Reding <treding@nvidia.com>
4 weeks agosoc/tegra: pmc: Fix unsafe generic_handle_irq() call
Prathamesh Shete [Thu, 8 Jan 2026 05:01:03 +0000 (05:01 +0000)] 
soc/tegra: pmc: Fix unsafe generic_handle_irq() call

Currently, when resuming from system suspend on Tegra platforms,
the following warning is observed:

WARNING: CPU: 0 PID: 14459 at kernel/irq/irqdesc.c:666
Call trace:
 handle_irq_desc+0x20/0x58 (P)
 tegra186_pmc_wake_syscore_resume+0xe4/0x15c
 syscore_resume+0x3c/0xb8
 suspend_devices_and_enter+0x510/0x540
 pm_suspend+0x16c/0x1d8

The warning occurs because generic_handle_irq() is being called from
a non-interrupt context which is considered as unsafe.

Fix this warning by deferring generic_handle_irq() call to an IRQ work
which gets executed in hard IRQ context where generic_handle_irq()
can be called safely.

When PREEMPT_RT kernels are used, regular IRQ work (initialized with
init_irq_work) is deferred to run in per-CPU kthreads in preemptible
context rather than hard IRQ context. Hence, use the IRQ_WORK_INIT_HARD
variant so that with PREEMPT_RT kernels, the IRQ work is processed in
hardirq context instead of being deferred to a thread which is required
for calling generic_handle_irq().

On non-PREEMPT_RT kernels, both init_irq_work() and IRQ_WORK_INIT_HARD()
execute in IRQ context, so this change has no functional impact for
standard kernel configurations.

Signed-off-by: Petlozu Pravareshwar <petlozup@nvidia.com>
Signed-off-by: Prathamesh Shete <pshete@nvidia.com>
Reviewed-by: Jon Hunter <jonathanh@nvidia.com>
Tested-by: Jon Hunter <jonathanh@nvidia.com>
[treding@nvidia.com: miscellaneous cleanups]
Signed-off-by: Thierry Reding <treding@nvidia.com>
4 weeks agosoc: imx8m: Fix error handling for clk_prepare_enable()
Peng Fan [Tue, 13 Jan 2026 22:12:41 +0000 (06:12 +0800)] 
soc: imx8m: Fix error handling for clk_prepare_enable()

imx8m_soc_prepare() directly returns the result of clk_prepare_enable(),
which skips proper cleanup if the clock enable fails. Check the return
value of clk_prepare_enable() and release resources if failure.

Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <error27@gmail.com>
Closes: https://lore.kernel.org/r/202601111406.ZVV3YaiU-lkp@intel.com/
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Marco Felsch <m.felsch@pengutronix.de>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
4 weeks agosoc: imx: Spport i.MX9[4,52]
Peng Fan [Wed, 17 Dec 2025 12:42:09 +0000 (20:42 +0800)] 
soc: imx: Spport i.MX9[4,52]

Add i.MX9[4,52] machine compatible to allow soc device could be created.

SOC_ID is 16bit format data:
 - i.MX943: 0x9430
 - i.MX952: 0x9520
Update SOC_ID macro to get the accurate data.

Co-developed-by: Jacky Bai <ping.bai@nxp.com>
Signed-off-by: Jacky Bai <ping.bai@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
4 weeks agosoc: imx: Use dev_err_probe() for i.MX9
Peng Fan [Wed, 17 Dec 2025 12:42:08 +0000 (20:42 +0800)] 
soc: imx: Use dev_err_probe() for i.MX9

Use dev_err_probe() to simplify code. No functional changes.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
4 weeks agosoc: imx: Use device-managed APIs for i.MX9
Peng Fan [Wed, 17 Dec 2025 12:42:07 +0000 (20:42 +0800)] 
soc: imx: Use device-managed APIs for i.MX9

Use device-managed APi to simplify code.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
4 weeks agofirmware: imx: sm-misc: Dump syslog info
Peng Fan [Wed, 29 Oct 2025 12:07:02 +0000 (20:07 +0800)] 
firmware: imx: sm-misc: Dump syslog info

Add debugfs interface to read System Manager syslog info

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
4 weeks agofirmware: arm_scmi: imx: Support getting syslog of MISC protocol
Peng Fan [Wed, 29 Oct 2025 12:07:01 +0000 (20:07 +0800)] 
firmware: arm_scmi: imx: Support getting syslog of MISC protocol

MISC protocol supports getting system log regarding system sleep latency,
wakeup interrupt and etc. Add the API for user to retrieve the information
from SM.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Acked-by: Sudeep Holla <sudeep.holla@arm.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
4 weeks agosoc: qcom: preserve CPU endianness for QMI_DATA_LEN
Alexander Wilhelm [Wed, 19 Nov 2025 10:40:07 +0000 (11:40 +0100)] 
soc: qcom: preserve CPU endianness for QMI_DATA_LEN

To ensure correct handling of endianness in the QMI subsystem, the
QMI_DATA_LEN field used in host-side drivers remains in CPU-native byte
order. Remove unnecessary endianness conversions, considering that
QMI_DATA_LEN is always of type `u32` on the host. On the QMI wire
interface, however, its representation is variable and may use either 1 or
2 bytes.

Signed-off-by: Alexander Wilhelm <alexander.wilhelm@westermo.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251119104008.3505152-4-alexander.wilhelm@westermo.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
4 weeks agosoc: qcom: fix QMI encoding/decoding for basic elements
Alexander Wilhelm [Wed, 19 Nov 2025 10:40:06 +0000 (11:40 +0100)] 
soc: qcom: fix QMI encoding/decoding for basic elements

Extend the QMI byte encoding and decoding logic to support multiple basic
data type sizes (u8, u16, u32, u64) using differnet macros for each type.
Ensure correct handling of data sizes and proper byte order conversion on
big-endian platforms by consistently applying these macros during encoding
and decoding of basic elements.

Signed-off-by: Alexander Wilhelm <alexander.wilhelm@westermo.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20251119104008.3505152-3-alexander.wilhelm@westermo.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
4 weeks agosoc: qcom: check QMI basic element error codes
Alexander Wilhelm [Wed, 19 Nov 2025 10:40:05 +0000 (11:40 +0100)] 
soc: qcom: check QMI basic element error codes

Extend handling of QMI basic element types to also capture error codes.
This is required for big-endian platforms where a simple memcpy is not
sufficient and exact data type knowledge is necessary.

Signed-off-by: Alexander Wilhelm <alexander.wilhelm@westermo.com>
Link: https://lore.kernel.org/r/20251119104008.3505152-2-alexander.wilhelm@westermo.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
4 weeks agosoc: rockchip: grf: Support multiple grf to be handled
Shawn Lin [Fri, 16 Jan 2026 00:55:29 +0000 (08:55 +0800)] 
soc: rockchip: grf: Support multiple grf to be handled

Currently, only the first matched node will be handled. This leads
to jtag switching broken for RK3576, as rk3576-sys-grf is found before
rk3576-ioc-grf. Change the code to scan all the possible node to fix
the problem.

Fixes: e1aaecacfa13 ("soc: rockchip: grf: Add rk3576 default GRF values")
Cc: stable@vger.kernel.org
Cc: Detlev Casanova <detlev.casanova@collabora.com>
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Tested-by: Marco Schirrmeister <mschirrmeister@gmail.com>
Link: https://patch.msgid.link/1768524932-163929-3-git-send-email-shawn.lin@rock-chips.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
4 weeks agosoc: rockchip: grf: Fix wrong RK3576_IOCGRF_MISC_CON definition
Shawn Lin [Fri, 16 Jan 2026 00:55:28 +0000 (08:55 +0800)] 
soc: rockchip: grf: Fix wrong RK3576_IOCGRF_MISC_CON definition

RK3576_IOCGRF_MISC_CON is IOC_GRF + 0x40F0, fix it.

Fixes: e1aaecacfa13 ("soc: rockchip: grf: Add rk3576 default GRF values")
Cc: stable@vger.kernel.org
Cc: Detlev Casanova <detlev.casanova@collabora.com>
Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com>
Reviewed-by: Chaoyi Chen <chaoyi.chen@rock-chips.com>
Tested-by: Marco Schirrmeister <mschirrmeister@gmail.com>
Link: https://patch.msgid.link/1768524932-163929-2-git-send-email-shawn.lin@rock-chips.com
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
4 weeks agooptee: make read-only array attr static const
Colin Ian King [Fri, 9 Jan 2026 15:44:42 +0000 (15:44 +0000)] 
optee: make read-only array attr static const

Don't populate the read-only array attr on the stack at run
time, instead make it static const.

Signed-off-by: Colin Ian King <coking@nvidia.com>
Reviewed-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
4 weeks agoMAINTAINERS: Mark the OP-TEE mailing list moderated
Geert Uytterhoeven [Thu, 15 Jan 2026 14:22:42 +0000 (15:22 +0100)] 
MAINTAINERS: Mark the OP-TEE mailing list moderated

After sending a patch to op-tee@lists.trustedfirmware.org, I got the
typical response for a moderated list:

    Your mail to 'op-tee@lists.trustedfirmware.org' with the subject

[...]

    Is being held until the list moderator can review it for approval.

    The message is being held because:

The message is not from a list member

    Either the message will get posted to the list, or you will receive
    notification of the moderator's decision.

Mark this mailing list moderated in MAINTAINERS.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
4 weeks agosoc: renesas: Add support for RZ/N1 GPIO Interrupt Multiplexer
Herve Codina (Schneider Electric) [Wed, 14 Jan 2026 09:39:36 +0000 (10:39 +0100)] 
soc: renesas: Add support for RZ/N1 GPIO Interrupt Multiplexer

On the Renesas RZ/N1 SoC, GPIOs can generate interruptions. Those
interruption lines are multiplexed by the GPIO Interrupt Multiplexer in
order to map 32 * 3 GPIO interrupt lines to 8 GIC interrupt lines.

The GPIO interrupt multiplexer IP does nothing but select 8 GPIO
IRQ lines out of the 96 available to wire them to the GIC input lines.

Signed-off-by: Herve Codina (Schneider Electric) <herve.codina@bootlin.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Tested-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://patch.msgid.link/20260114093938.1089936-8-herve.codina@bootlin.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
4 weeks agoirqchip/renesas-rza1: Use for_each_of_imap_item iterator
Herve Codina (Schneider Electric) [Wed, 14 Jan 2026 09:39:33 +0000 (10:39 +0100)] 
irqchip/renesas-rza1: Use for_each_of_imap_item iterator

The renesas-rza1 driver parses the interrupt-map property. It does it
using open code.

Recently for_each_of_imap_item iterator has been introduce to help
drivers in this parsing.

Convert the renesas-rza1 driver to use the for_each_of_imap_item
iterator instead of open code.

Signed-off-by: Herve Codina (Schneider Electric) <herve.codina@bootlin.com>
Tested-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Thomas Gleixner <tglx@kernel.org>
Link: https://patch.msgid.link/20260114093938.1089936-5-herve.codina@bootlin.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
4 weeks agoirqchip/ls-extirq: Use for_each_of_imap_item iterator
Herve Codina (Schneider Electric) [Wed, 14 Jan 2026 09:39:32 +0000 (10:39 +0100)] 
irqchip/ls-extirq: Use for_each_of_imap_item iterator

The ls-extirq driver parses the interrupt-map property. It does it using
open code.

Recently for_each_of_imap_item iterator has been introduce to help
drivers in this parsing.

Convert the ls-extirq driver to use the for_each_of_imap_item
iterator instead of open code.

Signed-off-by: Herve Codina (Schneider Electric) <herve.codina@bootlin.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Thomas Gleixner <tglx@kernel.org>
Link: https://patch.msgid.link/20260114093938.1089936-4-herve.codina@bootlin.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
4 weeks agoof: unittest: Add a test case for for_each_of_imap_item iterator
Herve Codina (Schneider Electric) [Wed, 14 Jan 2026 09:39:31 +0000 (10:39 +0100)] 
of: unittest: Add a test case for for_each_of_imap_item iterator

Recently for_each_of_imap_item iterator has been introduce to help
drivers in parsing the interrupt-map property.

Add a test case for this iterator.

Signed-off-by: Herve Codina (Schneider Electric) <herve.codina@bootlin.com>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://patch.msgid.link/20260114093938.1089936-3-herve.codina@bootlin.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
4 weeks agoof/irq: Introduce for_each_of_imap_item
Herve Codina (Schneider Electric) [Wed, 14 Jan 2026 09:39:30 +0000 (10:39 +0100)] 
of/irq: Introduce for_each_of_imap_item

for_each_of_imap_item is an iterator designed to help a driver to parse
an interrupt-map property.

Indeed some drivers need to know details about the interrupt mapping
described in the device-tree in order to set internal registers
accordingly.

Signed-off-by: Herve Codina (Schneider Electric) <herve.codina@bootlin.com>
Tested-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://patch.msgid.link/20260114093938.1089936-2-herve.codina@bootlin.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
4 weeks agotee: optee: store OS revision for TEE core
Aristo Chen [Mon, 12 Jan 2026 15:48:30 +0000 (23:48 +0800)] 
tee: optee: store OS revision for TEE core

Collect OP-TEE OS revision from secure world for both SMC and FF-A
ABIs, store it in the OP-TEE driver, and expose it through the
generic get_tee_revision() callback.

Signed-off-by: Aristo Chen <aristo.chen@canonical.com>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
4 weeks agotpm/tpm_ftpm_tee: Fix kdoc after function renames
Uwe Kleine-König [Tue, 13 Jan 2026 14:38:15 +0000 (15:38 +0100)] 
tpm/tpm_ftpm_tee: Fix kdoc after function renames

Recently ftpm_tee_probe() and ftpm_tee_remove() grew a suffix in their
function name but I failed to adapt the kernel doc when doing so. This
change aligns the kernel doc to the actual function name (again).

Fixes: 92fad96aea24 ("tpm/tpm_ftpm_tee: Make use of tee bus methods")
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202601132105.9lgSsC4U-lkp@intel.com/
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@baylibre.com>
Reviewed-by: Jarkko Sakkinen <jarkko@kernel.org>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
4 weeks agohwspinlock: omap: Handle devm_pm_runtime_enable() errors
Haotian Zhang [Mon, 24 Nov 2025 10:48:05 +0000 (18:48 +0800)] 
hwspinlock: omap: Handle devm_pm_runtime_enable() errors

Although unlikely, devm_pm_runtime_enable() can fail due to memory
allocations. Without proper error handling, the subsequent
pm_runtime_resume_and_get() call may operate on incorrectly
initialized runtime PM state.

Add error handling to check the return value of
devm_pm_runtime_enable() and return on failure.

Fixes: 25f7d74d4514 ("hwspinlock: omap: Use devm_pm_runtime_enable() helper")
Signed-off-by: Haotian Zhang <vulab@iscas.ac.cn>
Link: https://patch.msgid.link/20251124104805.135-1-vulab@iscas.ac.cn
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
4 weeks agobus: omap-ocp2scp: enable compile testing
Johan Hovold [Fri, 19 Dec 2025 11:02:59 +0000 (12:02 +0100)] 
bus: omap-ocp2scp: enable compile testing

There seems to be nothing preventing the driver from being compile
tested so enable that for wider build coverage.

Signed-off-by: Johan Hovold <johan@kernel.org>
Link: https://patch.msgid.link/20251219110259.23630-1-johan@kernel.org
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
4 weeks agobus: omap-ocp2scp: fix OF populate on driver rebind
Johan Hovold [Fri, 19 Dec 2025 11:01:19 +0000 (12:01 +0100)] 
bus: omap-ocp2scp: fix OF populate on driver rebind

Since commit c6e126de43e7 ("of: Keep track of populated platform
devices") child devices will not be created by of_platform_populate()
if the devices had previously been deregistered individually so that the
OF_POPULATED flag is still set in the corresponding OF nodes.

Switch to using of_platform_depopulate() instead of open coding so that
the child devices are created if the driver is rebound.

Fixes: c6e126de43e7 ("of: Keep track of populated platform devices")
Cc: stable@vger.kernel.org # 3.16
Signed-off-by: Johan Hovold <johan@kernel.org>
Link: https://patch.msgid.link/20251219110119.23507-1-johan@kernel.org
Signed-off-by: Kevin Hilman <khilman@baylibre.com>
4 weeks agosoc: qcom: ubwc: add missing include
Dmitry Baryshkov [Sat, 10 Jan 2026 19:37:53 +0000 (21:37 +0200)] 
soc: qcom: ubwc: add missing include

The header has a function which calls pr_err(). Don't require users of
the header to include <linux/printk.h> and include it here.

Fixes: 87cfc79dcd60 ("drm/msm/a6xx: Resolve the meaning of UBWC_MODE")
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Link: https://lore.kernel.org/r/20260110-iris-ubwc-v1-1-dd70494dcd7b@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
4 weeks agosoc: ti: pruss: Fix double free in pruss_clk_mux_setup()
Wentao Liang [Tue, 13 Jan 2026 01:47:16 +0000 (01:47 +0000)] 
soc: ti: pruss: Fix double free in pruss_clk_mux_setup()

In the pruss_clk_mux_setup(), the devm_add_action_or_reset() indirectly
calls pruss_of_free_clk_provider(), which calls of_node_put(clk_mux_np)
on the error path. However, after the devm_add_action_or_reset()
returns, the of_node_put(clk_mux_np) is called again, causing a double
free.

Fix by returning directly, to avoid the duplicate of_node_put().

Fixes: ba59c9b43c86 ("soc: ti: pruss: support CORECLK_MUX and IEPCLK_MUX")
Cc: stable@vger.kernel.org
Signed-off-by: Wentao Liang <vulab@iscas.ac.cn>
Link: https://patch.msgid.link/20260113014716.2464741-1-vulab@iscas.ac.cn
Signed-off-by: Nishanth Menon <nm@ti.com>
4 weeks agosoc: ti: k3-socinfo: Fix regmap leak on probe failure
Johan Hovold [Thu, 27 Nov 2025 13:49:42 +0000 (14:49 +0100)] 
soc: ti: k3-socinfo: Fix regmap leak on probe failure

The mmio regmap allocated during probe is never freed.

Switch to using the device managed allocator so that the regmap is
released on probe failures (e.g. probe deferral) and on driver unbind.

Fixes: a5caf03188e4 ("soc: ti: k3-socinfo: Do not use syscon helper to build regmap")
Cc: stable@vger.kernel.org # 6.15
Cc: Andrew Davis <afd@ti.com>
Signed-off-by: Johan Hovold <johan@kernel.org>
Acked-by: Andrew Davis <afd@ti.com>
Link: https://patch.msgid.link/20251127134942.2121-1-johan@kernel.org
Signed-off-by: Nishanth Menon <nm@ti.com>
4 weeks agosoc: ti: k3-socinfo: Fix compile testing
Johan Hovold [Thu, 27 Nov 2025 13:54:54 +0000 (14:54 +0100)] 
soc: ti: k3-socinfo: Fix compile testing

There seems to be nothing preventing this driver from being compile
tested so enable that by adding the missing input prompt.

Fixes: 907a2b7e2fc7 ("soc: ti: add k3 platforms chipid module driver")
Signed-off-by: Johan Hovold <johan@kernel.org>
Link: https://patch.msgid.link/20251127135455.2497-1-johan@kernel.org
Signed-off-by: Nishanth Menon <nm@ti.com>
4 weeks agotee: add revision sysfs attribute
Aristo Chen [Mon, 12 Jan 2026 15:48:29 +0000 (23:48 +0800)] 
tee: add revision sysfs attribute

Add a generic TEE revision sysfs attribute backed by a new
optional get_tee_revision() callback. The revision string is
diagnostic-only and must not be used to infer feature support.

Signed-off-by: Aristo Chen <aristo.chen@canonical.com>
Reviewed-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
4 weeks agoARM: s3c: remove a leftover hwmon-s3c.h header file
Vladimir Zapolskiy [Mon, 12 Jan 2026 21:15:54 +0000 (23:15 +0200)] 
ARM: s3c: remove a leftover hwmon-s3c.h header file

The last user of defined structures s3c_hwmon_pdata and s3c_hwmon_chcfg
was removed in commit 0d297df03890 ("ARM: s3c: simplify platform code"),
thus the platform data header file itself can be removed also.

Signed-off-by: Vladimir Zapolskiy <vz@mleia.com>
Link: https://patch.msgid.link/20260112211554.3755188-1-vz@mleia.com
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
4 weeks agotee: amdtee: Remove unused return variables
Thorsten Blum [Mon, 5 Jan 2026 12:49:41 +0000 (13:49 +0100)] 
tee: amdtee: Remove unused return variables

In tee_params_to_amd_params() and amd_params_to_tee_params(), return 0
directly and remove the unused return variables.

Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
4 weeks agoMerge branch '20260105-kvmrprocv10-v10-0-022e96815380@oss.qualcomm.com' into drivers...
Bjorn Andersson [Wed, 14 Jan 2026 03:31:31 +0000 (21:31 -0600)] 
Merge branch '20260105-kvmrprocv10-v10-0-022e96815380@oss.qualcomm.com' into drivers-for-6.20

Merge the support for loading and managing the TrustZone-based remote
processors found in the Glymur platform through a topic branch, as it's
a mix of qcom-soc and remoteproc patches.

4 weeks agoremoteproc: qcom: pas: Enable Secure PAS support with IOMMU managed by Linux
Mukesh Ojha [Mon, 5 Jan 2026 13:23:01 +0000 (18:53 +0530)] 
remoteproc: qcom: pas: Enable Secure PAS support with IOMMU managed by Linux

Most Qualcomm platforms feature Gunyah hypervisor, which typically
handles IOMMU configuration. This includes mapping memory regions and
device memory resources for remote processors by intercepting
qcom_scm_pas_auth_and_reset() calls. These mappings are later removed
during teardown. Additionally, SHM bridge setup is required to enable
memory protection for both remoteproc metadata and its memory regions.
When the aforementioned hypervisor is absent, the operating system must
perform these configurations instead.

When Linux runs as the hypervisor (@ EL2) on a SoC, it will have its
own device tree overlay file that specifies the firmware stream ID now
managed by Linux for a particular remote processor. If the iommus
property is specified in the remoteproc device tree node, it indicates
that IOMMU configuration must be handled by Linux. In this case, the
has_iommu flag is set for the remote processor, which ensures that the
resource table, carveouts, and SHM bridge are properly configured before
memory is passed to TrustZone for authentication. Otherwise, the
has_iommu flag remains unset, which indicates default behavior.

Enables Secure PAS support for remote processors when IOMMU configuration
is managed by Linux.

Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260105-kvmrprocv10-v10-13-022e96815380@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
4 weeks agoremoteproc: pas: Extend parse_fw callback to fetch resources via SMC call
Mukesh Ojha [Mon, 5 Jan 2026 13:23:00 +0000 (18:53 +0530)] 
remoteproc: pas: Extend parse_fw callback to fetch resources via SMC call

Qualcomm remote processor may rely on static and dynamic resources for
it to be functional. For most of the Qualcomm SoCs, when run with Gunyah
or older QHEE hypervisor, all the resources whether it is static or
dynamic, is managed by the hypervisor. Dynamic resources if it is
present for a remote processor will always be coming from secure world
via SMC call while static resources may be present in remote processor
firmware binary or it may be coming from SMC call along with dynamic
resources.

Remoteproc already has method like rproc_elf_load_rsc_table() to check
firmware binary has resources or not and if it is not having then we
pass NULL and zero as input resource table and its size argument
respectively to qcom_scm_pas_get_rsc_table() and while it has resource
present then it should pass the present resources to Trustzone(TZ) so that
it could authenticate the present resources and append dynamic resource
to return in output_rt argument along with authenticated resources.

Extend parse_fw callback to include SMC call to get resources from
Trustzone and to leverage resource table parsing and mapping and
unmapping code from the remoteproc framework.

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260105-kvmrprocv10-v10-12-022e96815380@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
4 weeks agofirmware: qcom_scm: Add qcom_scm_pas_get_rsc_table() to get resource table
Mukesh Ojha [Mon, 5 Jan 2026 13:22:59 +0000 (18:52 +0530)] 
firmware: qcom_scm: Add qcom_scm_pas_get_rsc_table() to get resource table

Qualcomm remote processor may rely on Static and Dynamic resources for
it to be functional. Static resources are fixed like for example,
memory-mapped addresses required by the subsystem and dynamic
resources, such as shared memory in DDR etc., are determined at
runtime during the boot process.

For most of the Qualcomm SoCs, when run with Gunyah or older QHEE
hypervisor, all the resources whether it is static or dynamic, is
managed by the hypervisor. Dynamic resources if it is present for a
remote processor will always be coming from secure world via SMC call
while static resources may be present in remote processor firmware
binary or it may be coming qcom_scm_pas_get_rsc_table() SMC call along
with dynamic resources.

Some of the remote processor drivers, such as video, GPU, IPA, etc., do
not check whether resources are present in their remote processor
firmware binary. In such cases, the caller of this function should set
input_rt and input_rt_size as NULL and zero respectively. Remoteproc
framework has method to check whether firmware binary contain resources
or not and they should be pass resource table pointer to input_rt and
resource table size to input_rt_size and this will be forwarded to
TrustZone for authentication. TrustZone will then append the dynamic
resources and return the complete resource table in the passed output
buffer.

More about documentation on resource table format can be found in
include/linux/remoteproc.h

Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260105-kvmrprocv10-v10-11-022e96815380@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
4 weeks agofirmware: qcom_scm: Add SHM bridge handling for PAS when running without QHEE
Mukesh Ojha [Mon, 5 Jan 2026 13:22:58 +0000 (18:52 +0530)] 
firmware: qcom_scm: Add SHM bridge handling for PAS when running without QHEE

On SoCs running with a non-Gunyah-based hypervisor, Linux must take
responsibility for creating the SHM bridge both for metadata (before
calling qcom_scm_pas_init_image()) and for remoteproc memory (before
calling qcom_scm_pas_auth_and_reset()). We have taken care the things
required for qcom_scm_pas_auth_and_reset(). Lets put these awareness
of above conditions into qcom_scm_pas_init_image() and
qcom_scm_pas_metadata_release().

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260105-kvmrprocv10-v10-10-022e96815380@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
4 weeks agofirmware: qcom_scm: Refactor qcom_scm_pas_init_image()
Mukesh Ojha [Mon, 5 Jan 2026 13:22:57 +0000 (18:52 +0530)] 
firmware: qcom_scm: Refactor qcom_scm_pas_init_image()

Refactor qcom_scm_pas_init_image() by moving the memory allocation,
copy, and free operations to a higher-level function, and isolate the
actual SMC call in a separate function. The main intention is to allow
flexibility for different allocators and to respect any constraints that
the allocator API may impose before invoking the actual SCM function.

Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260105-kvmrprocv10-v10-9-022e96815380@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
4 weeks agofirmware: qcom_scm: Add a prep version of auth_and_reset function
Mukesh Ojha [Mon, 5 Jan 2026 13:22:56 +0000 (18:52 +0530)] 
firmware: qcom_scm: Add a prep version of auth_and_reset function

For memory passed to TrustZone (TZ), it must either be part of a pool
registered with TZ or explicitly registered via SHMbridge SMC calls.
When Gunyah hypervisor is present, PAS SMC calls from Linux running at
EL1 are trapped by Gunyah running @ EL2, which handles SHMbridge
creation for both metadata and remoteproc carveout memory before
invoking the calls to TZ.

On SoCs running with a non-Gunyah-based hypervisor, Linux must take
responsibility for creating the SHM bridge before invoking PAS SMC
calls. For the auth_and_reset() call, the remoteproc carveout memory
must first be registered with TZ via a SHMbridge SMC call and once
authentication and reset are complete, the SHMbridge memory can be
deregistered.

Introduce qcom_scm_pas_prepare_and_auth_reset(), which sets up the SHM
bridge over the remoteproc carveout memory when Linux operates at EL2.
This behavior is indicated by a new field added to the PAS context data
structure. The function then invokes the auth_and_reset SMC call.

Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260105-kvmrprocv10-v10-8-022e96815380@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
4 weeks agosoc: qcom: mdtloader: Remove qcom_mdt_pas_init() from exported symbols
Mukesh Ojha [Mon, 5 Jan 2026 13:22:55 +0000 (18:52 +0530)] 
soc: qcom: mdtloader: Remove qcom_mdt_pas_init() from exported symbols

qcom_mdt_pas_init() was previously used only by the remoteproc driver
(drivers/remoteproc/qcom_q6v5_pas.c). Since that driver has now
transitioned to using PAS context-based qcom_mdt_pas_load() function,
making qcom_mdt_pas_init() obsolete for external use.

Removes qcom_mdt_pas_init() from the list of exported symbols and make
it static to limit its scope to internal use within mdtloader.

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260105-kvmrprocv10-v10-7-022e96815380@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
4 weeks agosoc: qcom: mdtloader: Add PAS context aware qcom_mdt_pas_load() function
Mukesh Ojha [Mon, 5 Jan 2026 13:22:54 +0000 (18:52 +0530)] 
soc: qcom: mdtloader: Add PAS context aware qcom_mdt_pas_load() function

Introduce a new PAS context-aware function, qcom_mdt_pas_load(), for
remote processor drivers. This function utilizes the PAS context
pointer returned from qcom_scm_pas_ctx_init() to perform firmware
metadata verification and memory setup via SMC calls.

The qcom_mdt_pas_load() and qcom_mdt_load() functions are largely
similar, but the former is designed for clients using the PAS
context-based data structure. Over time, all users of qcom_mdt_load()
can be migrated to use qcom_mdt_pas_load() for consistency and
improved abstraction.

As the remoteproc PAS driver (qcom_q6v5_pas) has already adopted the
PAS context-based approach, update it to use qcom_mdt_pas_load().

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260105-kvmrprocv10-v10-6-022e96815380@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
4 weeks agoremoteproc: pas: Replace metadata context with PAS context structure
Mukesh Ojha [Mon, 5 Jan 2026 13:22:53 +0000 (18:52 +0530)] 
remoteproc: pas: Replace metadata context with PAS context structure

As a superset of the existing metadata context, the PAS context
structure enables both remoteproc and non-remoteproc subsystems to
better support scenarios where the SoC runs with or without the Gunyah
hypervisor. To reflect this, relevant SCM and metadata functions are
updated to incorporate PAS context awareness and remove metadata context
data structure completely.

Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260105-kvmrprocv10-v10-5-022e96815380@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>