Lines Matching refs:ops

41 	const struct iommu_ops *ops;  member
340 BUG_ON(!domain->ops->pgsize_bitmap); in iommu_group_create_direct_mappings()
342 pg_size = 1UL << __ffs(domain->ops->pgsize_bitmap); in iommu_group_create_direct_mappings()
828 const struct iommu_ops *ops = dev->bus->iommu_ops; in iommu_group_get_for_dev() local
838 if (ops && ops->device_group) in iommu_group_get_for_dev()
839 group = ops->device_group(dev); in iommu_group_get_for_dev()
872 const struct iommu_ops *ops = cb->ops; in add_iommu_group() local
875 if (!ops->add_device) in add_iommu_group()
880 ret = ops->add_device(dev); in add_iommu_group()
896 const struct iommu_ops *ops = cb->ops; in remove_iommu_group() local
898 if (ops->remove_device && dev->iommu_group) in remove_iommu_group()
899 ops->remove_device(dev); in remove_iommu_group()
908 const struct iommu_ops *ops = dev->bus->iommu_ops; in iommu_bus_notifier() local
917 if (ops->add_device) in iommu_bus_notifier()
918 return ops->add_device(dev); in iommu_bus_notifier()
920 if (ops->remove_device && dev->iommu_group) { in iommu_bus_notifier()
921 ops->remove_device(dev); in iommu_bus_notifier()
957 static int iommu_bus_init(struct bus_type *bus, const struct iommu_ops *ops) in iommu_bus_init() argument
962 .ops = ops, in iommu_bus_init()
1006 int bus_set_iommu(struct bus_type *bus, const struct iommu_ops *ops) in bus_set_iommu() argument
1013 bus->iommu_ops = ops; in bus_set_iommu()
1016 err = iommu_bus_init(bus, ops); in bus_set_iommu()
1074 domain->ops = bus->iommu_ops; in __iommu_domain_alloc()
1088 domain->ops->domain_free(domain); in iommu_domain_free()
1096 if (unlikely(domain->ops->attach_dev == NULL)) in __iommu_attach_device()
1099 ret = domain->ops->attach_dev(domain, dev); in __iommu_attach_device()
1137 if (unlikely(domain->ops->detach_dev == NULL)) in __iommu_detach_device()
1140 domain->ops->detach_dev(domain, dev); in __iommu_detach_device()
1273 if (unlikely(domain->ops->iova_to_phys == NULL)) in iommu_iova_to_phys()
1276 return domain->ops->iova_to_phys(domain, iova); in iommu_iova_to_phys()
1300 pgsize &= domain->ops->pgsize_bitmap; in iommu_pgsize()
1320 if (unlikely(domain->ops->map == NULL || in iommu_map()
1321 domain->ops->pgsize_bitmap == 0UL)) in iommu_map()
1328 min_pagesz = 1 << __ffs(domain->ops->pgsize_bitmap); in iommu_map()
1349 ret = domain->ops->map(domain, iova, paddr, pgsize, prot); in iommu_map()
1374 if (unlikely(domain->ops->unmap == NULL || in iommu_unmap()
1375 domain->ops->pgsize_bitmap == 0UL)) in iommu_unmap()
1382 min_pagesz = 1 << __ffs(domain->ops->pgsize_bitmap); in iommu_unmap()
1404 unmapped_page = domain->ops->unmap(domain, iova, pgsize); in iommu_unmap()
1428 if (unlikely(domain->ops->pgsize_bitmap == 0UL)) in default_iommu_map_sg()
1431 min_pagesz = 1 << __ffs(domain->ops->pgsize_bitmap); in default_iommu_map_sg()
1466 if (unlikely(domain->ops->domain_window_enable == NULL)) in iommu_domain_window_enable()
1469 return domain->ops->domain_window_enable(domain, wnd_nr, paddr, size, in iommu_domain_window_enable()
1476 if (unlikely(domain->ops->domain_window_disable == NULL)) in iommu_domain_window_disable()
1479 return domain->ops->domain_window_disable(domain, wnd_nr); in iommu_domain_window_disable()
1512 *paging = (domain->ops->pgsize_bitmap != 0UL); in iommu_domain_get_attr()
1517 if (domain->ops->domain_get_windows != NULL) in iommu_domain_get_attr()
1518 *count = domain->ops->domain_get_windows(domain); in iommu_domain_get_attr()
1524 if (!domain->ops->domain_get_attr) in iommu_domain_get_attr()
1527 ret = domain->ops->domain_get_attr(domain, attr, data); in iommu_domain_get_attr()
1544 if (domain->ops->domain_set_windows != NULL) in iommu_domain_set_attr()
1545 ret = domain->ops->domain_set_windows(domain, *count); in iommu_domain_set_attr()
1551 if (domain->ops->domain_set_attr == NULL) in iommu_domain_set_attr()
1554 ret = domain->ops->domain_set_attr(domain, attr, data); in iommu_domain_set_attr()
1563 const struct iommu_ops *ops = dev->bus->iommu_ops; in iommu_get_dm_regions() local
1565 if (ops && ops->get_dm_regions) in iommu_get_dm_regions()
1566 ops->get_dm_regions(dev, list); in iommu_get_dm_regions()
1571 const struct iommu_ops *ops = dev->bus->iommu_ops; in iommu_put_dm_regions() local
1573 if (ops && ops->put_dm_regions) in iommu_put_dm_regions()
1574 ops->put_dm_regions(dev, list); in iommu_put_dm_regions()