Lines Matching full:unit
40 * (u) - Protected by iommu unit lock
47 * are protected by owning dmar unit lock, not by the domain lock.
174 bool dmar_pglvl_supported(struct dmar_unit *unit, int pglvl);
176 int dmar_maxaddr2mgaw(struct dmar_unit *unit, iommu_gaddr_t maxaddr,
180 int calc_am(struct dmar_unit *unit, iommu_gaddr_t base, iommu_gaddr_t size,
182 int dmar_load_root_entry_ptr(struct dmar_unit *unit);
183 int dmar_inv_ctx_glob(struct dmar_unit *unit);
184 int dmar_inv_iotlb_glob(struct dmar_unit *unit);
185 int dmar_flush_write_bufs(struct dmar_unit *unit);
186 void dmar_flush_pte_to_ram(struct dmar_unit *unit, iommu_pte_t *dst);
187 void dmar_flush_ctx_to_ram(struct dmar_unit *unit, dmar_ctx_entry_t *dst);
188 void dmar_flush_root_to_ram(struct dmar_unit *unit, dmar_root_entry_t *dst);
189 int dmar_disable_protected_regions(struct dmar_unit *unit);
190 int dmar_enable_translation(struct dmar_unit *unit);
191 int dmar_disable_translation(struct dmar_unit *unit);
192 int dmar_load_irt_ptr(struct dmar_unit *unit);
193 int dmar_enable_ir(struct dmar_unit *unit);
194 int dmar_disable_ir(struct dmar_unit *unit);
201 void dmar_enable_fault_intr(struct iommu_unit *unit);
202 void dmar_disable_fault_intr(struct iommu_unit *unit);
203 int dmar_init_fault_log(struct dmar_unit *unit);
204 void dmar_fini_fault_log(struct dmar_unit *unit);
207 void dmar_enable_qi_intr(struct iommu_unit *unit);
208 void dmar_disable_qi_intr(struct iommu_unit *unit);
209 int dmar_init_qi(struct dmar_unit *unit);
210 void dmar_fini_qi(struct dmar_unit *unit);
215 void dmar_qi_invalidate_ctx_glob_locked(struct dmar_unit *unit);
216 void dmar_qi_invalidate_iotlb_glob_locked(struct dmar_unit *unit);
217 void dmar_qi_invalidate_iec_glob(struct dmar_unit *unit);
218 void dmar_qi_invalidate_iec(struct dmar_unit *unit, u_int start, u_int cnt);
256 int dmar_init_irt(struct dmar_unit *unit);
257 void dmar_fini_irt(struct dmar_unit *unit);
270 dmar_read4(const struct dmar_unit *unit, int reg)
273 return (bus_read_4(unit->regs, reg));
277 dmar_read8(const struct dmar_unit *unit, int reg)
282 low = bus_read_4(unit->regs, reg);
283 high = bus_read_4(unit->regs, reg + 4);
286 return (bus_read_8(unit->regs, reg));
291 dmar_write4(const struct dmar_unit *unit, int reg, uint32_t val)
295 (unit->hw_gcmd & DMAR_GCMD_TE),
296 ("dmar%d clearing TE 0x%08x 0x%08x", unit->iommu.unit,
297 unit->hw_gcmd, val));
298 bus_write_4(unit->regs, reg, val);
302 dmar_write8(const struct dmar_unit *unit, int reg, uint64_t val)
311 bus_write_4(unit->regs, reg, low);
312 bus_write_4(unit->regs, reg + 4, high);
314 bus_write_8(unit->regs, reg, val);