Lines Matching full:sdm
818 struct safexcel_dma_mem *sdm; in safexcel_dma_alloc_mem_cb() local
824 sdm = arg; in safexcel_dma_alloc_mem_cb()
825 sdm->paddr = segs->ds_addr; in safexcel_dma_alloc_mem_cb()
829 safexcel_dma_alloc_mem(struct safexcel_softc *sc, struct safexcel_dma_mem *sdm, in safexcel_dma_alloc_mem() argument
834 KASSERT(sdm->vaddr == NULL, in safexcel_dma_alloc_mem()
845 &sdm->tag); /* dmat */ in safexcel_dma_alloc_mem()
852 error = bus_dmamem_alloc(sdm->tag, (void **)&sdm->vaddr, in safexcel_dma_alloc_mem()
853 BUS_DMA_WAITOK | BUS_DMA_ZERO | BUS_DMA_COHERENT, &sdm->map); in safexcel_dma_alloc_mem()
860 error = bus_dmamap_load(sdm->tag, sdm->map, sdm->vaddr, size, in safexcel_dma_alloc_mem()
861 safexcel_dma_alloc_mem_cb, sdm, BUS_DMA_NOWAIT); in safexcel_dma_alloc_mem()
870 bus_dmamem_free(sdm->tag, sdm->vaddr, sdm->map); in safexcel_dma_alloc_mem()
872 bus_dma_tag_destroy(sdm->tag); in safexcel_dma_alloc_mem()
874 sdm->vaddr = NULL; in safexcel_dma_alloc_mem()
880 safexcel_dma_free_mem(struct safexcel_dma_mem *sdm) in safexcel_dma_free_mem() argument
882 bus_dmamap_unload(sdm->tag, sdm->map); in safexcel_dma_free_mem()
883 bus_dmamem_free(sdm->tag, sdm->vaddr, sdm->map); in safexcel_dma_free_mem()
884 bus_dma_tag_destroy(sdm->tag); in safexcel_dma_free_mem()