Messages in this thread | | | Date | Sat, 6 Aug 2022 22:39:08 +0200 | Subject | Re: [PATCH 7/8] remoteproc: qcom: Add support for memory sandbox | From | Christophe JAILLET <> |
| |
Hi,
the error handling below looks odd.
Le 03/08/2022 à 16:21, Srinivasa Rao Mandadapu a écrit : > Add memory sandbox support for ADSP based platforms secure booting. > > Signed-off-by: Srinivasa Rao Mandadapu <quic_srivasam-jfJNa2p1gH1BDgjK7y7TUQ@public.gmane.org> > --- > drivers/remoteproc/qcom_q6v5_adsp.c | 101 +++++++++++++++++++++++++++++++++++- > 1 file changed, 99 insertions(+), 2 deletions(-) > > diff --git a/drivers/remoteproc/qcom_q6v5_adsp.c b/drivers/remoteproc/qcom_q6v5_adsp.c > index 3dbd035..f81da47 100644 > --- a/drivers/remoteproc/qcom_q6v5_adsp.c > +++ b/drivers/remoteproc/qcom_q6v5_adsp.c
> static int adsp_start(struct rproc *rproc) > { > struct qcom_adsp *adsp = (struct qcom_adsp *)rproc->priv; > @@ -341,7 +429,13 @@ static int adsp_start(struct rproc *rproc) > ret = qcom_q6v5_prepare(&adsp->q6v5); > if (ret) > return ret; > - > + if (!adsp->is_wpss) { > + ret = adsp_map_smmu(adsp, rproc); > + if (ret) { > + dev_err(adsp->dev, "ADSP smmu mapping failed\n"); > + goto adsp_smmu_unmap; goto disable_irqs;?
> + } > + } > ret = clk_prepare_enable(adsp->xo); > if (ret) > goto disable_irqs;
goto adsp_smmu_unmap;?
> @@ -402,6 +496,9 @@ static int adsp_start(struct rproc *rproc) > clk_disable_unprepare(adsp->xo); > disable_irqs: > qcom_q6v5_unprepare(&adsp->q6v5); > +adsp_smmu_unmap: > + iommu_unmap(adsp->iommu_dom, adsp->mem_phys, adsp->mem_size); > + iommu_domain_free(adsp->iommu_dom);
Should this new hunk be above disable_irqs? And I think that it should be guardd with a "if (!adsp->is_wpss)".
CJ
> > return ret; > }
| |