Lines Matching refs:omap_domain
914 struct omap_iommu_domain *omap_domain = to_omap_domain(domain); in iommu_fault_handler() local
916 if (!omap_domain->iommu_dev) in iommu_fault_handler()
1126 struct omap_iommu_domain *omap_domain = to_omap_domain(domain); in omap_iommu_map() local
1127 struct omap_iommu *oiommu = omap_domain->iommu_dev; in omap_iommu_map()
1153 struct omap_iommu_domain *omap_domain = to_omap_domain(domain); in omap_iommu_unmap() local
1154 struct omap_iommu *oiommu = omap_domain->iommu_dev; in omap_iommu_unmap()
1165 struct omap_iommu_domain *omap_domain = to_omap_domain(domain); in omap_iommu_attach_dev() local
1175 spin_lock(&omap_domain->lock); in omap_iommu_attach_dev()
1178 if (omap_domain->iommu_dev) { in omap_iommu_attach_dev()
1185 oiommu = omap_iommu_attach(arch_data->name, omap_domain->pgtable); in omap_iommu_attach_dev()
1192 omap_domain->iommu_dev = arch_data->iommu_dev = oiommu; in omap_iommu_attach_dev()
1193 omap_domain->dev = dev; in omap_iommu_attach_dev()
1197 spin_unlock(&omap_domain->lock); in omap_iommu_attach_dev()
1201 static void _omap_iommu_detach_dev(struct omap_iommu_domain *omap_domain, in _omap_iommu_detach_dev() argument
1208 if (omap_domain->iommu_dev != oiommu) { in _omap_iommu_detach_dev()
1217 omap_domain->iommu_dev = arch_data->iommu_dev = NULL; in _omap_iommu_detach_dev()
1218 omap_domain->dev = NULL; in _omap_iommu_detach_dev()
1225 struct omap_iommu_domain *omap_domain = to_omap_domain(domain); in omap_iommu_detach_dev() local
1227 spin_lock(&omap_domain->lock); in omap_iommu_detach_dev()
1228 _omap_iommu_detach_dev(omap_domain, dev); in omap_iommu_detach_dev()
1229 spin_unlock(&omap_domain->lock); in omap_iommu_detach_dev()
1234 struct omap_iommu_domain *omap_domain; in omap_iommu_domain_alloc() local
1239 omap_domain = kzalloc(sizeof(*omap_domain), GFP_KERNEL); in omap_iommu_domain_alloc()
1240 if (!omap_domain) { in omap_iommu_domain_alloc()
1245 omap_domain->pgtable = kzalloc(IOPGD_TABLE_SIZE, GFP_KERNEL); in omap_iommu_domain_alloc()
1246 if (!omap_domain->pgtable) { in omap_iommu_domain_alloc()
1255 BUG_ON(!IS_ALIGNED((long)omap_domain->pgtable, IOPGD_TABLE_SIZE)); in omap_iommu_domain_alloc()
1257 clean_dcache_area(omap_domain->pgtable, IOPGD_TABLE_SIZE); in omap_iommu_domain_alloc()
1258 spin_lock_init(&omap_domain->lock); in omap_iommu_domain_alloc()
1260 omap_domain->domain.geometry.aperture_start = 0; in omap_iommu_domain_alloc()
1261 omap_domain->domain.geometry.aperture_end = (1ULL << 32) - 1; in omap_iommu_domain_alloc()
1262 omap_domain->domain.geometry.force_aperture = true; in omap_iommu_domain_alloc()
1264 return &omap_domain->domain; in omap_iommu_domain_alloc()
1267 kfree(omap_domain); in omap_iommu_domain_alloc()
1274 struct omap_iommu_domain *omap_domain = to_omap_domain(domain); in omap_iommu_domain_free() local
1280 if (omap_domain->iommu_dev) in omap_iommu_domain_free()
1281 _omap_iommu_detach_dev(omap_domain, omap_domain->dev); in omap_iommu_domain_free()
1283 kfree(omap_domain->pgtable); in omap_iommu_domain_free()
1284 kfree(omap_domain); in omap_iommu_domain_free()
1290 struct omap_iommu_domain *omap_domain = to_omap_domain(domain); in omap_iommu_iova_to_phys() local
1291 struct omap_iommu *oiommu = omap_domain->iommu_dev; in omap_iommu_iova_to_phys()