Lines Matching full:cdm
143 struct cesa_dma_mem *cdm; in cesa_alloc_dma_mem_cb() local
149 cdm = arg; in cesa_alloc_dma_mem_cb()
150 cdm->cdm_paddr = segs->ds_addr; in cesa_alloc_dma_mem_cb()
154 cesa_alloc_dma_mem(struct cesa_softc *sc, struct cesa_dma_mem *cdm, in cesa_alloc_dma_mem() argument
159 KASSERT(cdm->cdm_vaddr == NULL, in cesa_alloc_dma_mem()
170 &cdm->cdm_tag); /* dmat */ in cesa_alloc_dma_mem()
178 error = bus_dmamem_alloc(cdm->cdm_tag, &cdm->cdm_vaddr, in cesa_alloc_dma_mem()
179 BUS_DMA_NOWAIT | BUS_DMA_ZERO, &cdm->cdm_map); in cesa_alloc_dma_mem()
187 error = bus_dmamap_load(cdm->cdm_tag, cdm->cdm_map, cdm->cdm_vaddr, in cesa_alloc_dma_mem()
188 size, cesa_alloc_dma_mem_cb, cdm, BUS_DMA_NOWAIT); in cesa_alloc_dma_mem()
198 bus_dmamem_free(cdm->cdm_tag, cdm->cdm_vaddr, cdm->cdm_map); in cesa_alloc_dma_mem()
200 bus_dma_tag_destroy(cdm->cdm_tag); in cesa_alloc_dma_mem()
202 cdm->cdm_vaddr = NULL; in cesa_alloc_dma_mem()
207 cesa_free_dma_mem(struct cesa_dma_mem *cdm) in cesa_free_dma_mem() argument
210 bus_dmamap_unload(cdm->cdm_tag, cdm->cdm_map); in cesa_free_dma_mem()
211 bus_dmamem_free(cdm->cdm_tag, cdm->cdm_vaddr, cdm->cdm_map); in cesa_free_dma_mem()
212 bus_dma_tag_destroy(cdm->cdm_tag); in cesa_free_dma_mem()
213 cdm->cdm_vaddr = NULL; in cesa_free_dma_mem()
217 cesa_sync_dma_mem(struct cesa_dma_mem *cdm, bus_dmasync_op_t op) in cesa_sync_dma_mem() argument
221 if (cdm->cdm_vaddr != NULL) in cesa_sync_dma_mem()
222 bus_dmamap_sync(cdm->cdm_tag, cdm->cdm_map, op); in cesa_sync_dma_mem()