Lines Matching defs:iommu
19 #include <linux/iommu.h>
48 struct iommu_device iommu;
69 struct mutex init_mutex; /* Protects iommu pointer */
71 struct qcom_iommu_dev *iommu;
94 struct qcom_iommu_dev *qcom_iommu = d->iommu;
238 if (qcom_domain->iommu)
249 qcom_domain->iommu = qcom_iommu;
329 qcom_domain->iommu = NULL;
360 if (qcom_domain->iommu) {
367 pm_runtime_get_sync(qcom_domain->iommu->dev);
369 pm_runtime_put_sync(qcom_domain->iommu->dev);
397 if (qcom_domain->iommu != qcom_iommu)
438 pm_runtime_get_sync(qcom_domain->iommu->dev);
442 pm_runtime_put_sync(qcom_domain->iommu->dev);
455 pm_runtime_get_sync(qcom_domain->iommu->dev);
457 pm_runtime_put_sync(qcom_domain->iommu->dev);
509 * Establish the link between iommu and master, so that the
510 * iommu gets runtime enabled/disabled as per the master's
520 return &qcom_iommu->iommu;
530 dev_err(dev, "incorrect number of iommu params found for %s "
555 * multiple different iommu devices. Multiple context
600 dev_err(dev, "failed to get iommu secure pgtable size (%d)\n",
605 dev_info(dev, "iommu sec: pgtable size: %zu\n", psize);
618 dev_err(dev, "failed to init iommu pgtable (%d)\n", ret);
676 if (of_device_is_compatible(dev->of_node, "qcom,msm-iommu-v2-sec"))
688 "qcom-iommu-fault",
721 { .compatible = "qcom,msm-iommu-v1-ns" },
722 { .compatible = "qcom,msm-iommu-v1-sec" },
723 { .compatible = "qcom,msm-iommu-v2-ns" },
724 { .compatible = "qcom,msm-iommu-v2-sec" },
730 .name = "qcom-iommu-ctx",
742 if (of_device_is_compatible(child, "qcom,msm-iommu-v1-sec") ||
743 of_device_is_compatible(child, "qcom,msm-iommu-v2-sec")) {
802 if (of_property_read_u32(dev->of_node, "qcom,iommu-secure-id",
804 dev_err(dev, "missing qcom,iommu-secure-id property\n");
823 dev_err(dev, "Failed to populate iommu contexts\n");
827 ret = iommu_device_sysfs_add(&qcom_iommu->iommu, dev, NULL,
830 dev_err(dev, "Failed to register iommu in sysfs\n");
834 ret = iommu_device_register(&qcom_iommu->iommu, &qcom_iommu_ops, dev);
836 dev_err(dev, "Failed to register iommu\n");
859 iommu_device_sysfs_remove(&qcom_iommu->iommu);
860 iommu_device_unregister(&qcom_iommu->iommu);
886 { .compatible = "qcom,msm-iommu-v1" },
887 { .compatible = "qcom,msm-iommu-v2" },
893 .name = "qcom-iommu",