Lines Matching full:xio
64 struct xdma_iommu *xio; in xdma_iommu_remove_entry() local
66 xio = &xchan->xio; in xdma_iommu_remove_entry()
69 pmap_remove(&xio->p, va, va + PAGE_SIZE); in xdma_iommu_remove_entry()
71 XDMA_IOMMU_REMOVE(xio->dev, xio, va); in xdma_iommu_remove_entry()
73 vmem_free(xio->vmem, va, PAGE_SIZE); in xdma_iommu_remove_entry()
77 xdma_iommu_enter(struct xdma_iommu *xio, vm_offset_t va, in xdma_iommu_enter() argument
83 p = &xio->p; in xdma_iommu_enter()
92 XDMA_IOMMU_ENTER(xio->dev, xio, va, pa); in xdma_iommu_enter()
103 struct xdma_iommu *xio; in xdma_iommu_add_entry() local
107 xio = &xchan->xio; in xdma_iommu_add_entry()
109 if (vmem_alloc(xio->vmem, size, in xdma_iommu_add_entry()
119 xdma_iommu_enter(xio, addr, pa, size, prot); in xdma_iommu_add_entry()
123 xdma_iommu_init(struct xdma_iommu *xio) in xdma_iommu_init() argument
130 pmap_pinit(&xio->p); in xdma_iommu_init()
133 node = ofw_bus_get_node(xio->dev); in xdma_iommu_init()
142 xio->vmem = vmem_create("xDMA vmem", 0, 0, PAGE_SIZE, in xdma_iommu_init()
144 if (xio->vmem == NULL) in xdma_iommu_init()
149 if (xdma_handle_mem_node(xio->vmem, mem_node) != 0) { in xdma_iommu_init()
150 vmem_destroy(xio->vmem); in xdma_iommu_init()
155 XDMA_IOMMU_INIT(xio->dev, xio); in xdma_iommu_init()
161 xdma_iommu_release(struct xdma_iommu *xio) in xdma_iommu_release() argument
164 pmap_release(&xio->p); in xdma_iommu_release()
166 vmem_destroy(xio->vmem); in xdma_iommu_release()
168 XDMA_IOMMU_RELEASE(xio->dev, xio); in xdma_iommu_release()