The motivation for this series came from [1], which first introduced support for Secure PAS with Linux running at EL2. That series covered both remoteproc subsystems (ADSP/CDSP) and non-remoteproc subsystems (VIDEO), but resource table parsing was duplicated from the remoteproc code. The remoteproc driver support for Secure PAS at EL2 has since been merged, and video enablement is being pursued with [2].
The resource table wire-format structs live in <linux/remoteproc.h>, but non-remoteproc drivers (e.g. video, GPU) on EL2 SoCs also need them to parse tables obtained via SCM calls. Move the definitions to a standalone <linux/rsc_table.h>, add a generic rsc_table_for_each_entry() iterator, and use it in the remoteproc core and a new Qualcomm MDT loader API for IOMMU mapping of RSC_DEVMEM entries. This series is build on top of series https://lore.kernel.org/lkml/[email protected]/ not for technical dependency but for the file change in mdt_loader file. [1] https://lore.kernel.org/lkml/[email protected]/ [2] https://lore.kernel.org/lkml/[email protected]/ Mukesh Ojha (5): remoteproc: Move resource table data structure to its own header remoteproc: use rsc_table_for_each_entry() in rproc_handle_resources() soc: qcom: mdt_loader: add qcom_mdt_pas_map/unmap_devmem_rscs() firmware: qcom: scm: replace <linux/remoteproc.h> with <linux/rsc_table.h> MAINTAINERS: add rsc_table.h to remoteproc entry MAINTAINERS | 1 + drivers/firmware/qcom/qcom_scm.c | 4 +- drivers/remoteproc/remoteproc_core.c | 81 +++--- drivers/soc/qcom/mdt_loader.c | 189 ++++++++++++++ include/linux/remoteproc.h | 269 +------------------- include/linux/rsc_table.h | 359 +++++++++++++++++++++++++++ include/linux/soc/qcom/mdt_loader.h | 22 ++ 7 files changed, 612 insertions(+), 313 deletions(-) create mode 100644 include/linux/rsc_table.h -- 2.53.0

