Re: [PATCH v6 2/8] remoteproc: qcom: Add flag in adsp private data structure

From: Srinivasa Rao Mandadapu
Date: Mon Sep 19 2022 - 10:06:30 EST



On 9/14/2022 2:36 PM, Sibi Sankar wrote:
Thanks for Your time Sibi Sankar!!!
On 9/8/22 6:53 PM, Srinivasa Rao Mandadapu wrote:
Add flag in qcom_adsp private data structure and initialize
it to distinguish ADSP and WPSS modules for using iommu selectively.

There are other flags available to distinguish between ADSP and WPSS
like 'is_wpss'. So you probably want to tweak your commit message to
just say if it has a iommu in front of it or not and skip referencing
WPSS.
Okay. Will update commit message.

Reviewed-by: Sibi Sankar <quic_sibis@xxxxxxxxxxx>


Signed-off-by: Srinivasa Rao Mandadapu <quic_srivasam@xxxxxxxxxxx>
Reviewed-by: Stephen Boyd <swboyd@xxxxxxxxxxxx>
---
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 2f3b9f5..fa2ccac 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;
@@ -596,12 +598,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)