Home
last modified time | relevance | path

Searched refs:ioasid (Results 1 – 5 of 5) sorted by relevance

/Linux-v6.1/include/linux/
Dioasid.h11 typedef void (*ioasid_free_fn_t)(ioasid_t ioasid, void *data);
37 void ioasid_free(ioasid_t ioasid);
38 void *ioasid_find(struct ioasid_set *set, ioasid_t ioasid,
42 int ioasid_set_data(ioasid_t ioasid, void *data);
43 static inline bool pasid_valid(ioasid_t ioasid) in pasid_valid() argument
45 return ioasid != INVALID_IOASID; in pasid_valid()
55 static inline void ioasid_free(ioasid_t ioasid) { } in ioasid_free() argument
57 static inline void *ioasid_find(struct ioasid_set *set, ioasid_t ioasid, in ioasid_find() argument
72 static inline int ioasid_set_data(ioasid_t ioasid, void *data) in ioasid_set_data() argument
77 static inline bool pasid_valid(ioasid_t ioasid) in pasid_valid() argument
/Linux-v6.1/drivers/iommu/
Dioasid.c62 static void default_free(ioasid_t ioasid, void *opaque);
89 static void default_free(ioasid_t ioasid, void *opaque) in default_free() argument
93 ioasid_data = xa_erase(&default_allocator.xa, ioasid); in default_free()
268 int ioasid_set_data(ioasid_t ioasid, void *data) in ioasid_set_data() argument
274 ioasid_data = xa_load(&active_allocator->xa, ioasid); in ioasid_set_data()
352 void ioasid_free(ioasid_t ioasid) in ioasid_free() argument
357 ioasid_data = xa_load(&active_allocator->xa, ioasid); in ioasid_free()
359 pr_err("Trying to free unknown IOASID %u\n", ioasid); in ioasid_free()
363 active_allocator->ops->free(ioasid, active_allocator->ops->pdata); in ioasid_free()
366 ioasid_data = xa_erase(&active_allocator->xa, ioasid); in ioasid_free()
[all …]
DMakefile12 obj-$(CONFIG_IOASID) += ioasid.o
/Linux-v6.1/drivers/iommu/intel/
Diommu.c2846 ioasid_t ioasid; in intel_vcmd_ioasid_alloc() local
2858 if (vcmd_alloc_pasid(iommu, &ioasid)) in intel_vcmd_ioasid_alloc()
2861 return ioasid; in intel_vcmd_ioasid_alloc()
2864 static void intel_vcmd_ioasid_free(ioasid_t ioasid, void *data) in intel_vcmd_ioasid_free() argument
2874 if (ioasid_find(NULL, ioasid, NULL)) { in intel_vcmd_ioasid_free()
2875 pr_alert("Cannot free active IOASID %d\n", ioasid); in intel_vcmd_ioasid_free()
2878 vcmd_free_pasid(iommu, ioasid); in intel_vcmd_ioasid_free()
/Linux-v6.1/Documentation/userspace-api/
Diommu.rst209 struct device *dev, ioasid_t ioasid);