/freebsd/sys/x86/iommu/ |
H A D | x86_iommu.h | 67 iommu_unit *iommu); 68 void (*unit_pre_instantiate_ctx)(struct iommu_unit *iommu); 69 void (*qi_ensure)(struct iommu_unit *unit, int descr_count); 70 void (*qi_emit_wait_descr)(struct iommu_unit *unit, uint32_t seq, 72 void (*qi_advance_tail)(struct iommu_unit *unit); 80 struct iommu_ctx *(*get_ctx)(struct iommu_unit *iommu, 82 void (*free_ctx_locked)(struct iommu_unit *iommu, 84 struct iommu_unit *(*find)(device_t dev, bool verbose); 108 void (*enable_intr)(struct iommu_unit *); 109 void (*disable_intr)(struct iommu_unit *); [all …]
|
H A D | iommu_utils.c | 201 static struct iommu_unit * 279 iommu_get_ctx(struct iommu_unit *iommu, device_t dev, uint16_t rid, in iommu_get_ctx() 286 iommu_free_ctx_locked(struct iommu_unit *iommu, struct iommu_ctx *context) in iommu_free_ctx_locked() 291 struct iommu_unit * 332 iommu_unit_pre_instantiate_ctx(struct iommu_unit *unit) in iommu_unit_pre_instantiate_ctx() 340 iommu_qi_seq_processed(struct iommu_unit *unit, in iommu_qi_seq_processed() 353 iommu_qi_emit_wait_seq(struct iommu_unit *unit, struct iommu_qi_genseq *pseq, in iommu_qi_emit_wait_seq() 390 iommu_qi_wait_for_seq(struct iommu_unit *unit, const struct iommu_qi_genseq * in iommu_qi_wait_for_seq() 417 struct iommu_unit *unit; in iommu_qi_invalidate_locked() 452 struct iommu_unit *unit; in iommu_qi_invalidate_sync() [all …]
|
H A D | amd_cmd.c | 81 amdiommu_enable_qi_intr(struct iommu_unit *iommu) in amdiommu_enable_qi_intr() 94 amdiommu_disable_qi_intr(struct iommu_unit *iommu) in amdiommu_disable_qi_intr() 105 amdiommu_cmd_advance_tail(struct iommu_unit *iommu) in amdiommu_cmd_advance_tail() 115 amdiommu_cmd_ensure(struct iommu_unit *iommu, int descr_count) in amdiommu_cmd_ensure() 170 amdiommu_cmd_emit_wait_descr(struct iommu_unit *iommu, uint32_t seq, in amdiommu_cmd_emit_wait_descr() 251 amdiommu_qi_invalidate_wait_sync(struct iommu_unit *iommu) in amdiommu_qi_invalidate_wait_sync() 350 amdiommu_fini_cmd_helper(struct iommu_unit *iommu) in amdiommu_fini_cmd_helper()
|
H A D | intel_dmar.h | 108 struct iommu_unit iommu; 201 void dmar_enable_fault_intr(struct iommu_unit *unit); 202 void dmar_disable_fault_intr(struct iommu_unit *unit); 207 void dmar_enable_qi_intr(struct iommu_unit *unit); 208 void dmar_disable_qi_intr(struct iommu_unit *unit); 238 void dmar_free_ctx_locked_method(struct iommu_unit *dmar, 241 struct iommu_ctx *dmar_get_ctx(struct iommu_unit *iommu, device_t dev, 251 int dmar_instantiate_rmrr_ctxs(struct iommu_unit *dmar); 254 void dmar_quirks_pre_use(struct iommu_unit *dmar);
|
H A D | intel_qi.c | 88 dmar_qi_advance_tail(struct iommu_unit *iommu) in dmar_qi_advance_tail() 98 dmar_qi_ensure(struct iommu_unit *iommu, int descr_count) in dmar_qi_ensure() 169 dmar_qi_emit_wait_descr(struct iommu_unit *iommu, uint32_t seq, bool intr, in dmar_qi_emit_wait_descr() 296 unit = IOMMU2DMAR((struct iommu_unit *)arg); in dmar_qi_intr() 383 dmar_fini_qi_helper(struct iommu_unit *iommu) in dmar_fini_qi_helper() 399 dmar_enable_qi_intr(struct iommu_unit *iommu) in dmar_enable_qi_intr() 414 dmar_disable_qi_intr(struct iommu_unit *iommu) in dmar_disable_qi_intr()
|
H A D | amd_iommu.h | 61 struct iommu_unit iommu; 219 struct iommu_ctx *amdiommu_get_ctx(struct iommu_unit *iommu, device_t dev, 223 void amdiommu_free_ctx_locked_method(struct iommu_unit *iommu, 236 void amdiommu_qi_invalidate_wait_sync(struct iommu_unit *iommu);
|
H A D | intel_fault.c | 130 unit = IOMMU2DMAR((struct iommu_unit *)arg); in dmar_fault_intr() 309 dmar_enable_fault_intr(struct iommu_unit *iommu) in dmar_enable_fault_intr() 322 dmar_disable_fault_intr(struct iommu_unit *iommu) in dmar_disable_fault_intr()
|
H A D | intel_ctx.c | 366 struct iommu_unit *unit; in dmar_domain_alloc() 507 struct iommu_unit *unit __diagused; in dmar_get_ctx_for_dev1() 911 dmar_get_ctx(struct iommu_unit *iommu, device_t dev, uint16_t rid, in dmar_get_ctx() 923 dmar_free_ctx_locked_method(struct iommu_unit *iommu, in dmar_free_ctx_locked_method()
|
H A D | intel_quirks.c | 223 dmar_quirks_pre_use(struct iommu_unit *unit) in dmar_quirks_pre_use()
|
H A D | intel_drv.c | 1062 dmar_instantiate_rmrr_ctxs(struct iommu_unit *unit) in dmar_instantiate_rmrr_ctxs() 1290 static struct iommu_unit * 1300 dmar_get_x86_common(struct iommu_unit *unit) in dmar_get_x86_common() 1309 dmar_unit_pre_instantiate_ctx(struct iommu_unit *unit) in dmar_unit_pre_instantiate_ctx()
|
H A D | amd_ctx.c | 589 amdiommu_get_ctx(struct iommu_unit *iommu, device_t dev, uint16_t rid, in amdiommu_get_ctx() 611 amdiommu_free_ctx_locked_method(struct iommu_unit *iommu, in amdiommu_free_ctx_locked_method()
|
H A D | amd_drv.c | 1047 static struct iommu_unit * 1068 amdiommu_get_x86_common(struct iommu_unit *unit) in amdiommu_get_x86_common() 1077 amdiommu_unit_pre_instantiate_ctx(struct iommu_unit *unit) in amdiommu_unit_pre_instantiate_ctx()
|
/freebsd/sys/dev/iommu/ |
H A D | iommu.h | 71 struct iommu_unit { struct 108 struct iommu_unit *iommu; /* (c) */ argument 161 void iommu_free_ctx_locked(struct iommu_unit *iommu, struct iommu_ctx *ctx); 162 struct iommu_ctx *iommu_get_ctx(struct iommu_unit *, device_t dev, 164 struct iommu_unit *iommu_find(device_t dev, bool verbose); 170 void iommu_unit_pre_instantiate_ctx(struct iommu_unit *iommu); 171 struct iommu_ctx *iommu_instantiate_ctx(struct iommu_unit *iommu, 174 int iommu_init_busdma(struct iommu_unit *unit); 175 void iommu_fini_busdma(struct iommu_unit *unit); 196 void iommu_set_buswide_ctx(struct iommu_unit *unit, u_int busno); [all …]
|
H A D | busdma_iommu.c | 236 iommu_instantiate_ctx(struct iommu_unit *unit, device_t dev, bool rmrr) in iommu_instantiate_ctx() 278 struct iommu_unit *unit; in iommu_get_dev_ctx() 308 struct iommu_unit *unit; in bus_dma_iommu_set_buswide() 334 iommu_set_buswide_ctx(struct iommu_unit *unit, u_int busno) in iommu_set_buswide_ctx() 345 iommu_is_buswide_ctx(struct iommu_unit *unit, u_int busno) in iommu_is_buswide_ctx() 355 static void iommu_bus_schedule_dmamap(struct iommu_unit *unit, 400 struct iommu_unit *iommu; in iommu_bus_dma_tag_destroy() 933 struct iommu_unit *unit; in iommu_bus_task_dmamap() 959 iommu_bus_schedule_dmamap(struct iommu_unit *unit, struct bus_dmamap_iommu *map) in iommu_bus_schedule_dmamap() 970 iommu_init_busdma(struct iommu_unit *unit) in iommu_init_busdma() [all …]
|
H A D | iommu_msi.h | 36 struct iommu_unit;
|
/freebsd/sys/arm64/iommu/ |
H A D | iommu.c | 77 struct iommu_unit *iommu; 86 struct iommu_unit *iommu; in iommu_domain_unmap_buf() 99 struct iommu_unit *iommu; in iommu_domain_map_buf() 125 iommu_domain_alloc(struct iommu_unit *iommu) in iommu_domain_alloc() 145 struct iommu_unit *iommu; in iommu_domain_free() 185 struct iommu_unit *iommu; in iommu_ctx_alloc() 204 struct iommu_unit *iommu; in iommu_ctx_init() 225 static struct iommu_unit * 229 struct iommu_unit *iommu; in iommu_lookup() 249 struct iommu_unit *iommu; in iommu_get_ctx_ofw() [all …]
|
H A D | iommu.h | 39 int iommu_unregister(struct iommu_unit *unit); 40 int iommu_register(struct iommu_unit *unit);
|
H A D | smmu_fdt.c | 81 struct iommu_unit *iommu; in smmu_fdt_attach()
|
H A D | smmu_acpi.c | 190 struct iommu_unit *iommu; in smmu_acpi_attach()
|
H A D | iommu_if.m | 90 struct iommu_unit *iommu; struct
|
H A D | smmu.c | 1688 smmu_domain_alloc(device_t dev, struct iommu_unit *iommu) in smmu_domain_alloc() 1917 struct iommu_unit *iommu __diagused; in smmu_ctx_lookup()
|