Lines Matching refs:cdm
147 struct cesa_dma_mem *cdm; in cesa_alloc_dma_mem_cb() local
153 cdm = arg; in cesa_alloc_dma_mem_cb()
154 cdm->cdm_paddr = segs->ds_addr; in cesa_alloc_dma_mem_cb()
158 cesa_alloc_dma_mem(struct cesa_softc *sc, struct cesa_dma_mem *cdm, in cesa_alloc_dma_mem() argument
163 KASSERT(cdm->cdm_vaddr == NULL, in cesa_alloc_dma_mem()
174 &cdm->cdm_tag); /* dmat */ in cesa_alloc_dma_mem()
182 error = bus_dmamem_alloc(cdm->cdm_tag, &cdm->cdm_vaddr, in cesa_alloc_dma_mem()
183 BUS_DMA_NOWAIT | BUS_DMA_ZERO, &cdm->cdm_map); in cesa_alloc_dma_mem()
191 error = bus_dmamap_load(cdm->cdm_tag, cdm->cdm_map, cdm->cdm_vaddr, in cesa_alloc_dma_mem()
192 size, cesa_alloc_dma_mem_cb, cdm, BUS_DMA_NOWAIT); in cesa_alloc_dma_mem()
202 bus_dmamem_free(cdm->cdm_tag, cdm->cdm_vaddr, cdm->cdm_map); in cesa_alloc_dma_mem()
204 bus_dma_tag_destroy(cdm->cdm_tag); in cesa_alloc_dma_mem()
206 cdm->cdm_vaddr = NULL; in cesa_alloc_dma_mem()
211 cesa_free_dma_mem(struct cesa_dma_mem *cdm) in cesa_free_dma_mem() argument
214 bus_dmamap_unload(cdm->cdm_tag, cdm->cdm_map); in cesa_free_dma_mem()
215 bus_dmamem_free(cdm->cdm_tag, cdm->cdm_vaddr, cdm->cdm_map); in cesa_free_dma_mem()
216 bus_dma_tag_destroy(cdm->cdm_tag); in cesa_free_dma_mem()
217 cdm->cdm_vaddr = NULL; in cesa_free_dma_mem()
221 cesa_sync_dma_mem(struct cesa_dma_mem *cdm, bus_dmasync_op_t op) in cesa_sync_dma_mem() argument
225 if (cdm->cdm_vaddr != NULL) in cesa_sync_dma_mem()
226 bus_dmamap_sync(cdm->cdm_tag, cdm->cdm_map, op); in cesa_sync_dma_mem()