linux/drivers/firmware
Mukesh Ojha ccb7bde5f7 firmware: qcom_scm: Introduce PAS context allocator helper function
When the Peripheral Authentication Service (PAS) method runs on a SoC
where Linux operates at EL2 (i.e., without the Gunyah hypervisor), the
reset sequences are handled by TrustZone. In such cases, Linux must
perform additional steps before invoking PAS SMC calls, such as creating
a SHM bridge. Therefore, PAS SMC calls require awareness and handling of
these additional steps when Linux runs at EL2.

To support this, there is a need for a data structure that can be
initialized prior to invoking any SMC or MDT functions. This structure
allows those functions to determine whether they are operating in the
presence or absence of the Gunyah hypervisor and behave accordingly.

Currently, remoteproc and non-remoteproc subsystems use different
variants of the MDT loader helper API, primarily due to differences in
metadata context handling. Remoteproc subsystems retain the metadata
context until authentication and reset are completed, while
non-remoteproc subsystems (e.g., video, graphics, IPA, etc.) do not
retain the metadata context and can free it within the
qcom_scm_pas_init() call by passing a NULL context parameter and due to
these differences, it is not possible to extend metadata context
handling to support remoteproc and non remoteproc subsystem use PAS
operations, when Linux operates at EL2.

Add PAS context data structure allocator helper function.

Signed-off-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260105-kvmrprocv10-v10-4-022e96815380@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-01-13 12:14:33 -06:00
..
arm_ffa firmware: arm_ffa: Add support for IMPDEF value in the memory access descriptor 2025-10-13 10:34:46 +01:00
arm_scmi firmware: arm_scmi: Fix premature SCMI_XFER_FLAG_IS_RAW clearing in raw mode 2025-10-15 15:28:49 +01:00
broadcom drivers: firmware: bcm47xx_sprom: fix spelling 2025-09-03 13:47:58 -07:00
cirrus firmware: cs_dsp: Add test cases for client_ops == NULL 2025-11-28 11:47:56 +00:00
efi LoongArch changes for v6.19 2025-12-13 05:44:03 +12:00
google sysfs: treewide: switch back to attribute_group::bin_attrs 2025-06-17 10:44:15 +02:00
imx firmware: imx: scu: Use devm_mutex_init 2025-10-27 14:43:48 +08:00
meson firmware: firmware: meson-sm: fix compile-test default 2025-09-10 09:31:20 +02:00
microchip firmware: microchip: fix UL_IAP lock check in mpfs_auto_update_state() 2024-12-05 15:08:51 +00:00
psci arm64 updates for 6.16 2025-05-28 14:55:35 -07:00
qcom firmware: qcom_scm: Introduce PAS context allocator helper function 2026-01-13 12:14:33 -06:00
samsung firmware: exynos-acpm: register ACPM clocks pdev 2025-10-20 08:49:50 +02:00
smccc firmware: smccc: Support both smc and hvc conduits for getting hyp UUID 2025-06-11 13:55:41 +01:00
tegra firmware: tegra: Do not warn on missing memory-region property 2025-09-15 18:28:09 +02:00
xilinx SCSI misc on 20251204 2025-12-05 19:56:50 -08:00
arm_scpi.c Char/Misc/IIO/Whatever driver subsystem updates for 6.13-rc1 2024-11-29 11:58:27 -08:00
arm_sdei.c firmware: SDEI: Allow sdei initialization without ACPI_APEI_GHES 2025-05-08 13:35:22 +01:00
dmi-id.c firmware: dmi-id: add a release callback function 2024-04-08 09:34:24 +02:00
dmi-sysfs.c firmware: dmi: Constify 'struct bin_attribute' 2025-02-21 09:20:30 +01:00
dmi_scan.c firmware: dmi: Mark bin_attributes as __ro_after_init 2025-02-21 09:20:30 +01:00
edd.c edd: make kobj_type structure constant 2023-03-09 18:07:33 +01:00
iscsi_ibft.c iscsi_ibft: Fix UBSAN shift-out-of-bounds warning in ibft_attr_show_nic() 2025-01-29 14:58:31 -05:00
iscsi_ibft_find.c iscsi_ibft: Fix finding the iBFT under Xen Dom 0 2023-06-26 07:47:11 +02:00
Kconfig soc: drivers for 6.16 2025-05-31 07:53:30 -07:00
Makefile soc: driver updates for 6.15, part 1 2025-03-27 09:05:55 -07:00
memmap.c firmware: memmap: Constify memmap_ktype 2024-10-13 17:22:33 +02:00
mtk-adsp-ipc.c firmware: Switch back to struct platform_driver::remove() 2024-11-12 12:55:56 +01:00
qemu_fw_cfg.c sysfs: treewide: switch back to bin_attribute::read()/write() 2025-06-17 10:44:13 +02:00
raspberrypi.c firmware: Switch back to struct platform_driver::remove() 2024-11-12 12:55:56 +01:00
stratix10-rsu.c firmware: stratix10-rsu: replace scnprintf() with sysfs_emit() in *_show() functions 2025-11-13 06:32:58 -06:00
stratix10-svc.c Char/Misc/IIO driver updates for 6.19-rc1 2025-12-06 18:34:24 -08:00
sysfb.c sysfb: Fix screen_info type check for VGA 2025-06-05 17:54:31 +02:00
sysfb_simplefb.c firmware: sysfb: Move bpp-depth calculation into screen_info helper 2025-04-07 11:02:07 +02:00
thead,th1520-aon.c firmware: thead,th1520-aon: Fix use after free in th1520_aon_init() 2025-03-18 13:09:00 +01:00
ti_sci.c firmware: ti_sci: Partial-IO support 2025-11-13 13:03:55 -06:00
ti_sci.h firmware: ti_sci: Partial-IO support 2025-11-13 13:03:55 -06:00
trusted_foundations.c
turris-mox-rwtm.c firmware: turris-mox-rwtm: Add support for ECDSA signatures with HW private key 2025-03-20 17:56:57 +01:00