Lines Matching refs:cdm
144 struct cesa_dma_mem *cdm; in cesa_alloc_dma_mem_cb() local
150 cdm = arg; in cesa_alloc_dma_mem_cb()
151 cdm->cdm_paddr = segs->ds_addr; in cesa_alloc_dma_mem_cb()
155 cesa_alloc_dma_mem(struct cesa_softc *sc, struct cesa_dma_mem *cdm, in cesa_alloc_dma_mem() argument
160 KASSERT(cdm->cdm_vaddr == NULL, in cesa_alloc_dma_mem()
171 &cdm->cdm_tag); /* dmat */ in cesa_alloc_dma_mem()
179 error = bus_dmamem_alloc(cdm->cdm_tag, &cdm->cdm_vaddr, in cesa_alloc_dma_mem()
180 BUS_DMA_NOWAIT | BUS_DMA_ZERO, &cdm->cdm_map); in cesa_alloc_dma_mem()
188 error = bus_dmamap_load(cdm->cdm_tag, cdm->cdm_map, cdm->cdm_vaddr, in cesa_alloc_dma_mem()
189 size, cesa_alloc_dma_mem_cb, cdm, BUS_DMA_NOWAIT); in cesa_alloc_dma_mem()
199 bus_dmamem_free(cdm->cdm_tag, cdm->cdm_vaddr, cdm->cdm_map); in cesa_alloc_dma_mem()
201 bus_dma_tag_destroy(cdm->cdm_tag); in cesa_alloc_dma_mem()
203 cdm->cdm_vaddr = NULL; in cesa_alloc_dma_mem()
208 cesa_free_dma_mem(struct cesa_dma_mem *cdm) in cesa_free_dma_mem() argument
211 bus_dmamap_unload(cdm->cdm_tag, cdm->cdm_map); in cesa_free_dma_mem()
212 bus_dmamem_free(cdm->cdm_tag, cdm->cdm_vaddr, cdm->cdm_map); in cesa_free_dma_mem()
213 bus_dma_tag_destroy(cdm->cdm_tag); in cesa_free_dma_mem()
214 cdm->cdm_vaddr = NULL; in cesa_free_dma_mem()
218 cesa_sync_dma_mem(struct cesa_dma_mem *cdm, bus_dmasync_op_t op) in cesa_sync_dma_mem() argument
222 if (cdm->cdm_vaddr != NULL) in cesa_sync_dma_mem()
223 bus_dmamap_sync(cdm->cdm_tag, cdm->cdm_map, op); in cesa_sync_dma_mem()