Lines Matching refs:fwspec
77 static struct qcom_iommu_dev * to_iommu(struct iommu_fwspec *fwspec) in to_iommu() argument
79 if (!fwspec || fwspec->ops != &qcom_iommu_ops) in to_iommu()
81 return fwspec->iommu_priv; in to_iommu()
84 static struct qcom_iommu_ctx * to_ctx(struct iommu_fwspec *fwspec, unsigned asid) in to_ctx() argument
86 struct qcom_iommu_dev *qcom_iommu = to_iommu(fwspec); in to_ctx()
118 struct iommu_fwspec *fwspec = cookie; in qcom_iommu_tlb_sync() local
121 for (i = 0; i < fwspec->num_ids; i++) { in qcom_iommu_tlb_sync()
122 struct qcom_iommu_ctx *ctx = to_ctx(fwspec, fwspec->ids[i]); in qcom_iommu_tlb_sync()
136 struct iommu_fwspec *fwspec = cookie; in qcom_iommu_tlb_inv_context() local
139 for (i = 0; i < fwspec->num_ids; i++) { in qcom_iommu_tlb_inv_context()
140 struct qcom_iommu_ctx *ctx = to_ctx(fwspec, fwspec->ids[i]); in qcom_iommu_tlb_inv_context()
150 struct iommu_fwspec *fwspec = cookie; in qcom_iommu_tlb_inv_range_nosync() local
155 for (i = 0; i < fwspec->num_ids; i++) { in qcom_iommu_tlb_inv_range_nosync()
156 struct qcom_iommu_ctx *ctx = to_ctx(fwspec, fwspec->ids[i]); in qcom_iommu_tlb_inv_range_nosync()
225 struct iommu_fwspec *fwspec) in qcom_iommu_init_domain() argument
246 pgtbl_ops = alloc_io_pgtable_ops(ARM_32_LPAE_S1, &pgtbl_cfg, fwspec); in qcom_iommu_init_domain()
258 for (i = 0; i < fwspec->num_ids; i++) { in qcom_iommu_init_domain()
259 struct qcom_iommu_ctx *ctx = to_ctx(fwspec, fwspec->ids[i]); in qcom_iommu_init_domain()
369 struct iommu_fwspec *fwspec = dev_iommu_fwspec_get(dev); in qcom_iommu_attach_dev() local
370 struct qcom_iommu_dev *qcom_iommu = to_iommu(fwspec); in qcom_iommu_attach_dev()
381 ret = qcom_iommu_init_domain(domain, qcom_iommu, fwspec); in qcom_iommu_attach_dev()
403 struct iommu_fwspec *fwspec = dev_iommu_fwspec_get(dev); in qcom_iommu_detach_dev() local
404 struct qcom_iommu_dev *qcom_iommu = to_iommu(fwspec); in qcom_iommu_detach_dev()
412 for (i = 0; i < fwspec->num_ids; i++) { in qcom_iommu_detach_dev()
413 struct qcom_iommu_ctx *ctx = to_ctx(fwspec, fwspec->ids[i]); in qcom_iommu_detach_dev()
565 struct iommu_fwspec *fwspec = dev_iommu_fwspec_get(dev); in qcom_iommu_of_xlate() local
591 if (!fwspec->iommu_priv) { in qcom_iommu_of_xlate()
592 fwspec->iommu_priv = qcom_iommu; in qcom_iommu_of_xlate()
598 if (WARN_ON(qcom_iommu != fwspec->iommu_priv)) in qcom_iommu_of_xlate()