Lines Matching defs:iommu
7 #define pr_fmt(fmt) "iommu: " fmt
18 #include <linux/iommu.h>
27 #include <trace/events/iommu.h>
142 int iommu_device_register(struct iommu_device *iommu)
145 list_add_tail(&iommu->list, &iommu_device_list);
151 void iommu_device_unregister(struct iommu_device *iommu)
154 list_del(&iommu->list);
161 struct dev_iommu *param = dev->iommu;
173 dev->iommu = param;
179 struct dev_iommu *param = dev->iommu;
181 dev->iommu = NULL;
215 dev->iommu->iommu_dev = iommu_dev;
297 if (!dev->iommu) {
301 iommu_device_unlink(dev->iommu->iommu_dev, dev);
328 early_param("iommu.passthrough", iommu_set_def_domain_type);
334 early_param("iommu.strict", iommu_dma_setup);
556 * This function is called by an iommu driver to allocate a new iommu
557 * group. The iommu group represents the minimum granularity of the iommu.
659 * iommu drivers can store data in the group for use when doing iommu
675 * iommu drivers can store data in the group for use when doing iommu
691 * Allow iommu driver to set a name for a group. When set it will
791 * iommu_group_add_device - add a device to an iommu group
795 * This function is called by an iommu driver to add a device into a
857 dev_info(dev, "Adding to iommu group %d\n", group->id);
874 dev_err(dev, "Failed to add to iommu group %d: %d\n", group->id, ret);
883 * This function is called by an iommu driver to remove the device from
884 * it's current group. This decrements the iommu group reference count.
895 dev_info(dev, "Removing from iommu group %d\n", group->id);
979 * This function is called by iommu drivers and users to get the group
999 * This function is called by iommu drivers to take additional references on an
1013 * This function is called by iommu drivers and users to release the
1014 * iommu group. Once the reference count is zero, the group is released.
1029 * This function allows iommu group users to track changes in a group.
1030 * See include/linux/iommu.h for actions sent via this notifier. Caller
1072 struct dev_iommu *param = dev->iommu;
1116 struct dev_iommu *param = dev->iommu;
1158 struct dev_iommu *param = dev->iommu;
1205 struct dev_iommu *param = dev->iommu;
1392 * iommu-group per device.
1632 * ADD/DEL call into iommu driver ops if provided, which may
1698 "Device needs domain type %s, but device %s in the same iommu group requires type %s - using default\n",
1783 * creating the iommu group, so do it after the groups are
1858 * bus_set_iommu - set iommu-callbacks for the bus
1860 * @ops: the callbacks provided by the iommu-driver
1862 * This function is called by an iommu driver to set the iommu methods
1864 * the iommu-api after these ops are registered.
1866 * the bus itself, so the iommu drivers are not initialized when the bus
1867 * is set up. With this function the iommu-driver can set the iommu-ops
1912 * iommu_set_fault_handler() - set a fault handler for an iommu domain
1913 * @domain: iommu domain
2262 /* Don't break detach if iommu shared by more than one master */
2739 * @domain: the iommu domain where the fault has happened
2911 struct iommu_device *iommu;
2914 list_for_each_entry(iommu, &iommu_device_list, list)
2916 if (iommu->fwnode == fwnode) {
2917 ops = iommu->ops;
3008 if (dev->iommu && dev->iommu->iommu_dev) {
3009 const struct iommu_ops *ops = dev->iommu->iommu_dev->ops;
3027 if (dev->iommu && dev->iommu->iommu_dev) {
3028 const struct iommu_ops *ops = dev->iommu->iommu_dev->ops;
3041 if (dev->iommu && dev->iommu->iommu_dev) {
3042 const struct iommu_ops *ops = dev->iommu->iommu_dev->ops;