2022-09-27 14:15:43

by Srinivasa Rao Mandadapu

[permalink] [raw]
Subject: [PATCH v9 2/7] remoteproc: qcom: Add flag in adsp private data structure

Add flag in qcom_adsp private data structure and initialize
it to distinguish ADSP modules, which has iommu requirement,
for using iommu selectively.

Signed-off-by: Srinivasa Rao Mandadapu <[email protected]>
Reviewed-by: Stephen Boyd <[email protected]>
Reviewed-by: Sibi Sankar <[email protected]>
---
Changes since V6:
-- Update commit message.
Changes since V5:
-- Rename adsp_sandbox_needed to has_iommu.
Changes since V3:
-- Rename is_adsp_sb_needed to adsp_sandbox_needed.
Changes since V2:
-- Add is_adsp_sb_needed flag instead of is_wpss.

drivers/remoteproc/qcom_q6v5_adsp.c | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/drivers/remoteproc/qcom_q6v5_adsp.c b/drivers/remoteproc/qcom_q6v5_adsp.c
index 4c9a1b9..fe385e8 100644
--- a/drivers/remoteproc/qcom_q6v5_adsp.c
+++ b/drivers/remoteproc/qcom_q6v5_adsp.c
@@ -62,6 +62,7 @@ struct adsp_pil_data {
const char *sysmon_name;
int ssctl_id;
bool is_wpss;
+ bool has_iommu;
bool auto_boot;

const char **clk_ids;
@@ -99,6 +100,7 @@ struct qcom_adsp {
phys_addr_t mem_reloc;
void *mem_region;
size_t mem_size;
+ bool has_iommu;

struct device *proxy_pds[QCOM_Q6V5_RPROC_PROXY_PD_MAX];
size_t proxy_pd_count;
@@ -595,12 +597,15 @@ static int adsp_probe(struct platform_device *pdev)
}

rproc->auto_boot = desc->auto_boot;
+ rproc->has_iommu = desc->has_iommu;
rproc_coredump_set_elf_info(rproc, ELFCLASS32, EM_NONE);

adsp = (struct qcom_adsp *)rproc->priv;
adsp->dev = &pdev->dev;
adsp->rproc = rproc;
adsp->info_name = desc->sysmon_name;
+ adsp->has_iommu = desc->has_iommu;
+
platform_set_drvdata(pdev, adsp);

if (desc->is_wpss)
--
2.7.4