Message ID | 1662643422-14909-3-git-send-email-quic_srivasam@quicinc.com |
---|---|
State | Accepted |
Commit | 272dca8d14c46d03c633756d150b1c48c1dcb594 |
Headers | show |
Series | Update ADSP pil loader for SC7280 platform | expand |
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. Reviewed-by: Sibi Sankar <quic_sibis@quicinc.com> > > Signed-off-by: Srinivasa Rao Mandadapu <quic_srivasam@quicinc.com> > Reviewed-by: Stephen Boyd <swboyd@chromium.org> > --- > 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) >
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)