Re: [PATCH v4 07/15] soc: qcom: mdtloader: Switch to generic PAS TZ APIs
Sumit Garg via OP-TEE <[email protected]> Fri, 1 May 2026 19:29:56 +0530
| Newsgroups | org.trustedfirmware.lists.op-tee,org.freedesktop.lists.dri-devel,org.infradead.lists.ath12k,org.kernel.vger.linux-arm-msm,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel,org.kernel.vger.linux-media,org.kernel.vger.linux-remoteproc,org.kernel.vger.linux-wireless,org.kernel.vger.netdev |
|---|---|
| Message-ID | <afSx3GpKhCpUIWv4@sumit-xelite> |
On Wed, Apr 29, 2026 at 07:12:08PM +0530, Mukesh Ojha wrote: > On Mon, Apr 27, 2026 at 03:25:55PM +0530, Sumit Garg wrote: > > From: Sumit Garg <[email protected]> > > > > Switch mdtloader client driver over to generic PAS TZ APIs. Generic PAS > > TZ service allows to support multiple TZ implementation backends like QTEE > > based SCM PAS service, OP-TEE based PAS service and any further future TZ > > backend service. > > > > Signed-off-by: Sumit Garg <[email protected]> > > --- > > drivers/soc/qcom/mdt_loader.c | 12 ++++++------ > > include/linux/soc/qcom/mdt_loader.h | 6 +++--- > > 2 files changed, 9 insertions(+), 9 deletions(-) > > > > diff --git a/drivers/soc/qcom/mdt_loader.c b/drivers/soc/qcom/mdt_loader.c > > index c004d444d698..fdde7eda538a 100644 > > --- a/drivers/soc/qcom/mdt_loader.c > > +++ b/drivers/soc/qcom/mdt_loader.c > > @@ -13,7 +13,7 @@ > > #include <linux/firmware.h> > > #include <linux/kernel.h> > > #include <linux/module.h> > > -#include <linux/firmware/qcom/qcom_scm.h> > > +#include <linux/firmware/qcom/qcom_pas.h> > > #include <linux/sizes.h> > > #include <linux/slab.h> > > #include <linux/soc/qcom/mdt_loader.h> > > @@ -229,7 +229,7 @@ EXPORT_SYMBOL_GPL(qcom_mdt_read_metadata); > > > > static int __qcom_mdt_pas_init(struct device *dev, const struct firmware *fw, > > const char *fw_name, int pas_id, phys_addr_t mem_phys, > > - struct qcom_scm_pas_context *ctx) > > + struct qcom_pas_context *ctx) > > { > > const struct elf32_phdr *phdrs; > > const struct elf32_phdr *phdr; > > @@ -271,7 +271,7 @@ static int __qcom_mdt_pas_init(struct device *dev, const struct firmware *fw, > > goto out; > > } > > > > - ret = qcom_scm_pas_init_image(pas_id, metadata, metadata_len, ctx); > > + ret = qcom_pas_init_image(pas_id, metadata, metadata_len, ctx); > > kfree(metadata); > > if (ret) { > > /* Invalid firmware metadata */ > > @@ -280,7 +280,7 @@ static int __qcom_mdt_pas_init(struct device *dev, const struct firmware *fw, > > } > > > > if (relocate) { > > - ret = qcom_scm_pas_mem_setup(pas_id, mem_phys, max_addr - min_addr); > > + ret = qcom_pas_mem_setup(pas_id, mem_phys, max_addr - min_addr); > > if (ret) { > > /* Unable to set up relocation */ > > dev_err(dev, "error %d setting up firmware %s\n", ret, fw_name); > > @@ -472,7 +472,7 @@ EXPORT_SYMBOL_GPL(qcom_mdt_load); > > * firmware segments (e.g., .bXX files). Authentication of the segments done > > * by a separate call. > > * > > - * The PAS context must be initialized using qcom_scm_pas_context_init() > > + * The PAS context must be initialized using qcom_pas_context_init() > > Should devm_qcom_pas_context_alloc() now Ack. > > > * prior to invoking this function. > > * > > * @ctx: Pointer to the PAS (Peripheral Authentication Service) context > > @@ -483,7 +483,7 @@ EXPORT_SYMBOL_GPL(qcom_mdt_load); > > * > > * Return: 0 on success or a negative error code on failure. > > */ > > -int qcom_mdt_pas_load(struct qcom_scm_pas_context *ctx, const struct firmware *fw, > > +int qcom_mdt_pas_load(struct qcom_pas_context *ctx, const struct firmware *fw, > > const char *firmware, void *mem_region, phys_addr_t *reloc_base) > > { > > int ret; > > diff --git a/include/linux/soc/qcom/mdt_loader.h b/include/linux/soc/qcom/mdt_loader.h > > index 82372e0db0a1..142409555425 100644 > > --- a/include/linux/soc/qcom/mdt_loader.h > > +++ b/include/linux/soc/qcom/mdt_loader.h > > @@ -10,7 +10,7 @@ > > > > struct device; > > struct firmware; > > -struct qcom_scm_pas_context; > > +struct qcom_pas_context; > > > > #if IS_ENABLED(CONFIG_QCOM_MDT_LOADER) > > > > @@ -20,7 +20,7 @@ int qcom_mdt_load(struct device *dev, const struct firmware *fw, > > phys_addr_t mem_phys, size_t mem_size, > > phys_addr_t *reloc_base); > > > > -int qcom_mdt_pas_load(struct qcom_scm_pas_context *ctx, const struct firmware *fw, > > +int qcom_mdt_pas_load(struct qcom_pas_context *ctx, const struct firmware *fw, > > const char *firmware, void *mem_region, phys_addr_t *reloc_base); > > > > int qcom_mdt_load_no_init(struct device *dev, const struct firmware *fw, > > @@ -45,7 +45,7 @@ static inline int qcom_mdt_load(struct device *dev, const struct firmware *fw, > > return -ENODEV; > > } > > > > -static inline int qcom_mdt_pas_load(struct qcom_scm_pas_context *ctx, > > +static inline int qcom_mdt_pas_load(struct qcom_pas_context *ctx, > > const struct firmware *fw, const char *firmware, > > void *mem_region, phys_addr_t *reloc_base) > > { > > -- > > 2.51.0 > > > > With above nit > > Reviewed-by: Mukesh Ojha <[email protected]> Thanks. -Sumit