Lines Matching refs:iommu
27 #include <asm/dma-iommu.h>
120 mutex_init(&tdev->iommu.mutex);
123 tdev->iommu.domain = iommu_domain_alloc(&platform_bus_type);
124 if (!tdev->iommu.domain)
132 pgsize_bitmap = tdev->iommu.domain->pgsize_bitmap;
134 tdev->iommu.pgshift = PAGE_SHIFT;
136 tdev->iommu.pgshift = fls(pgsize_bitmap & ~PAGE_MASK);
137 if (tdev->iommu.pgshift == 0) {
141 tdev->iommu.pgshift -= 1;
144 ret = iommu_attach_device(tdev->iommu.domain, dev);
148 ret = nvkm_mm_init(&tdev->iommu.mm, 0, 0,
150 tdev->iommu.pgshift, 1);
158 iommu_detach_device(tdev->iommu.domain, dev);
161 iommu_domain_free(tdev->iommu.domain);
164 tdev->iommu.domain = NULL;
165 tdev->iommu.pgshift = 0;
174 if (tdev->iommu.domain) {
175 nvkm_mm_fini(&tdev->iommu.mm);
176 iommu_detach_device(tdev->iommu.domain, tdev->device.dev);
177 iommu_domain_free(tdev->iommu.domain);