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