remoteproc: qcom: Add flag in adsp private data structure
authorSrinivasa Rao Mandadapu <quic_srivasam@quicinc.com>
Wed, 28 Sep 2022 12:27:48 +0000 (17:57 +0530)
committerBjorn Andersson <andersson@kernel.org>
Wed, 28 Dec 2022 16:29:34 +0000 (10:29 -0600)
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 <quic_srivasam@quicinc.com>
Reviewed-by: Stephen Boyd <swboyd@chromium.org>
Reviewed-by: Sibi Sankar <quic_sibis@quicinc.com>
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/1664368073-13659-3-git-send-email-quic_srivasam@quicinc.com
drivers/remoteproc/qcom_q6v5_adsp.c

index 4c9a1b9..fe385e8 100644 (file)
@@ -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)