Home
last modified time | relevance | path

Searched refs:iommu_unit (Results 1 – 21 of 21) sorted by relevance

/freebsd/sys/x86/iommu/
H A Dx86_iommu.h67 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 Diommu_utils.c201 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 Damd_cmd.c81 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 Dintel_dmar.h108 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 Dintel_qi.c88 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 Damd_iommu.h61 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 Dintel_fault.c130 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 Dintel_ctx.c366 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 Dintel_quirks.c223 dmar_quirks_pre_use(struct iommu_unit *unit) in dmar_quirks_pre_use()
H A Dintel_drv.c1062 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 Damd_ctx.c589 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 Damd_drv.c1047 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 Diommu.h71 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 Dbusdma_iommu.c236 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 Diommu_msi.h36 struct iommu_unit;
/freebsd/sys/arm64/iommu/
H A Diommu.c77 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 Diommu.h39 int iommu_unregister(struct iommu_unit *unit);
40 int iommu_register(struct iommu_unit *unit);
H A Dsmmu_fdt.c81 struct iommu_unit *iommu; in smmu_fdt_attach()
H A Dsmmu_acpi.c190 struct iommu_unit *iommu; in smmu_acpi_attach()
H A Diommu_if.m90 struct iommu_unit *iommu; struct
H A Dsmmu.c1688 smmu_domain_alloc(device_t dev, struct iommu_unit *iommu) in smmu_domain_alloc()
1917 struct iommu_unit *iommu __diagused; in smmu_ctx_lookup()