Lines Matching refs:adm
23497 struct qwz_dmamem *adm; in qwz_dmamem_alloc() local
23500 adm = malloc(sizeof(*adm), M_DEVBUF, M_NOWAIT | M_ZERO); in qwz_dmamem_alloc()
23501 if (adm == NULL) in qwz_dmamem_alloc()
23503 adm->size = size; in qwz_dmamem_alloc()
23506 BUS_DMA_NOWAIT | BUS_DMA_ALLOCNOW, &adm->map) != 0) in qwz_dmamem_alloc()
23509 if (bus_dmamem_alloc_range(dmat, size, align, 0, &adm->seg, 1, in qwz_dmamem_alloc()
23513 if (bus_dmamem_map(dmat, &adm->seg, nsegs, size, in qwz_dmamem_alloc()
23514 &adm->kva, BUS_DMA_NOWAIT | BUS_DMA_COHERENT) != 0) in qwz_dmamem_alloc()
23517 if (bus_dmamap_load_raw(dmat, adm->map, &adm->seg, nsegs, size, in qwz_dmamem_alloc()
23521 bzero(adm->kva, size); in qwz_dmamem_alloc()
23523 return adm; in qwz_dmamem_alloc()
23526 bus_dmamem_unmap(dmat, adm->kva, size); in qwz_dmamem_alloc()
23528 bus_dmamem_free(dmat, &adm->seg, 1); in qwz_dmamem_alloc()
23530 bus_dmamap_destroy(dmat, adm->map); in qwz_dmamem_alloc()
23532 free(adm, M_DEVBUF, sizeof(*adm)); in qwz_dmamem_alloc()
23538 qwz_dmamem_free(bus_dma_tag_t dmat, struct qwz_dmamem *adm) in qwz_dmamem_free() argument
23540 bus_dmamem_unmap(dmat, adm->kva, adm->size); in qwz_dmamem_free()
23541 bus_dmamem_free(dmat, &adm->seg, 1); in qwz_dmamem_free()
23542 bus_dmamap_destroy(dmat, adm->map); in qwz_dmamem_free()
23543 free(adm, M_DEVBUF, sizeof(*adm)); in qwz_dmamem_free()