Lines Matching defs:iommu
13 #include <linux/dma-iommu.h>
20 #include <linux/iommu.h>
51 struct iommu_device iommu;
71 struct mutex init_mutex; /* Protects iommu pointer */
73 struct qcom_iommu_dev *iommu;
96 struct qcom_iommu_dev *qcom_iommu = d->iommu;
248 if (qcom_domain->iommu)
259 qcom_domain->iommu = qcom_iommu;
333 qcom_domain->iommu = NULL;
372 if (qcom_domain->iommu) {
379 pm_runtime_get_sync(qcom_domain->iommu->dev);
381 pm_runtime_put_sync(qcom_domain->iommu->dev);
409 if (qcom_domain->iommu != qcom_iommu) {
412 dev_name(qcom_domain->iommu->dev),
427 if (WARN_ON(!qcom_domain->iommu))
475 pm_runtime_get_sync(qcom_domain->iommu->dev);
479 pm_runtime_put_sync(qcom_domain->iommu->dev);
492 pm_runtime_get_sync(qcom_domain->iommu->dev);
494 pm_runtime_put_sync(qcom_domain->iommu->dev);
546 * Establish the link between iommu and master, so that the
547 * iommu gets runtime enabled/disabled as per the master's
557 return &qcom_iommu->iommu;
577 dev_err(dev, "incorrect number of iommu params found for %s "
603 * multiple different iommu devices. Multiple context
648 dev_err(dev, "failed to get iommu secure pgtable size (%d)\n",
653 dev_info(dev, "iommu sec: pgtable size: %zu\n", psize);
666 dev_err(dev, "failed to init iommu pgtable (%d)\n", ret);
723 "qcom-iommu-fault",
758 { .compatible = "qcom,msm-iommu-v1-ns" },
759 { .compatible = "qcom,msm-iommu-v1-sec" },
765 .name = "qcom-iommu-ctx",
777 if (of_device_is_compatible(child, "qcom,msm-iommu-v1-sec")) {
836 if (of_property_read_u32(dev->of_node, "qcom,iommu-secure-id",
838 dev_err(dev, "missing qcom,iommu-secure-id property\n");
857 dev_err(dev, "Failed to populate iommu contexts\n");
861 ret = iommu_device_sysfs_add(&qcom_iommu->iommu, dev, NULL,
864 dev_err(dev, "Failed to register iommu in sysfs\n");
868 iommu_device_set_ops(&qcom_iommu->iommu, &qcom_iommu_ops);
869 iommu_device_set_fwnode(&qcom_iommu->iommu, dev->fwnode);
871 ret = iommu_device_register(&qcom_iommu->iommu);
873 dev_err(dev, "Failed to register iommu\n");
896 iommu_device_sysfs_remove(&qcom_iommu->iommu);
897 iommu_device_unregister(&qcom_iommu->iommu);
925 { .compatible = "qcom,msm-iommu-v1" },
931 .name = "qcom-iommu",