Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/iommu/iommu.h
Show First 20 Lines • Show All 145 Lines • ▼ Show 20 Lines | |||||
#define IOMMU_DOMAIN_UNLOCK(dom) mtx_unlock(&(dom)->lock) | #define IOMMU_DOMAIN_UNLOCK(dom) mtx_unlock(&(dom)->lock) | ||||
#define IOMMU_DOMAIN_ASSERT_LOCKED(dom) mtx_assert(&(dom)->lock, MA_OWNED) | #define IOMMU_DOMAIN_ASSERT_LOCKED(dom) mtx_assert(&(dom)->lock, MA_OWNED) | ||||
void iommu_free_ctx(struct iommu_ctx *ctx); | void iommu_free_ctx(struct iommu_ctx *ctx); | ||||
void iommu_free_ctx_locked(struct iommu_unit *iommu, struct iommu_ctx *ctx); | void iommu_free_ctx_locked(struct iommu_unit *iommu, struct iommu_ctx *ctx); | ||||
struct iommu_ctx *iommu_get_ctx(struct iommu_unit *, device_t dev, | struct iommu_ctx *iommu_get_ctx(struct iommu_unit *, device_t dev, | ||||
uint16_t rid, bool id_mapped, bool rmrr_init); | uint16_t rid, bool id_mapped, bool rmrr_init); | ||||
struct iommu_unit *iommu_find(device_t dev, bool verbose); | struct iommu_unit *iommu_find(device_t dev, bool verbose); | ||||
void iommu_domain_unload_entry(struct iommu_map_entry *entry, bool free); | void iommu_domain_unload_entry(struct iommu_map_entry *entry, bool free, | ||||
bool cansleep); | |||||
void iommu_domain_unload(struct iommu_domain *domain, | void iommu_domain_unload(struct iommu_domain *domain, | ||||
struct iommu_map_entries_tailq *entries, bool cansleep); | struct iommu_map_entries_tailq *entries, bool cansleep); | ||||
struct iommu_ctx *iommu_instantiate_ctx(struct iommu_unit *iommu, | struct iommu_ctx *iommu_instantiate_ctx(struct iommu_unit *iommu, | ||||
device_t dev, bool rmrr); | device_t dev, bool rmrr); | ||||
device_t iommu_get_requester(device_t dev, uint16_t *rid); | device_t iommu_get_requester(device_t dev, uint16_t *rid); | ||||
int iommu_init_busdma(struct iommu_unit *unit); | int iommu_init_busdma(struct iommu_unit *unit); | ||||
void iommu_fini_busdma(struct iommu_unit *unit); | void iommu_fini_busdma(struct iommu_unit *unit); | ||||
Show All 38 Lines |