[PATCH v4 0/6] remoteproc: qcom: pas: Misc fixes
From: Mukesh Ojha
Date: Thu Apr 30 2026 - 15:13:36 EST
This series is a collection of misc fixes for the Qualcomm PAS remoteproc
driver and its supporting SCM/MDT loader infrastructure.
- Fix sparse __iomem warnings in qcom_adsp, qcom_pas and qcom_wcnss by
annotating mem_region fields with __iomem and using __force at call sites.
- Guard the DTB metadata release in qcom_pas_load() with a dtb_pas_id check,
consistent with all other release sites in the driver.
- Move PAS context allocation from probe into qcom_pas_alloc_memory_region()
so the DTB context is only created for subsystems that actually use it.
- Map/unmap the subsystem memory region on demand around firmware load and
coredump, avoiding potential XPU violations on EL2 platforms where the
region may be handed off to the remote side.
- Drop the now-unused dtb_mem_region field from struct qcom_pas.
- Add a keep_mdt_buf flag to struct qcom_scm_pas_context to make metadata
buffer retention explicit rather than implicit.
Changes in v4:
https://lore.kernel.org/lkml/20260331183957.2015440-1-mukesh.ojha@xxxxxxxxxxxxxxxx/
https://lore.kernel.org/lkml/20260331191210.2019758-2-mukesh.ojha@xxxxxxxxxxxxxxxx/
- Last series mistakenly divided two series cause laptop shutdown.
- Some minor refactor common code rest is same a rebased on latest
kernel.
- Added new 6/6 to the series.
Mukesh Ojha (6):
remoteproc: qcom: fix sparse warnings for __iomem annotated mem_region
remoteproc: qcom: pas: Guard dtb metadata release with dtb_pas_id
check
remoteproc: qcom: pas: Fix the PAS context creation placement
remoteproc: qcom: pas: Map/unmap subsystem region before
auth_and_reset
remoteproc: qcom: pas: Drop unused dtb_mem_region field
firmware: qcom: scm: introduce keep_mdt_buf flag in PAS context
drivers/firmware/qcom/qcom_scm.c | 21 +++++-
drivers/remoteproc/qcom_q6v5_adsp.c | 6 +-
drivers/remoteproc/qcom_q6v5_pas.c | 99 +++++++++++++++-----------
drivers/remoteproc/qcom_wcnss.c | 6 +-
drivers/soc/qcom/mdt_loader.c | 18 +++--
include/linux/firmware/qcom/qcom_scm.h | 1 +
include/linux/soc/qcom/mdt_loader.h | 4 +-
7 files changed, 99 insertions(+), 56 deletions(-)
--
2.53.0