Lines Matching defs:adm
2034 struct arc_dmamem *adm;
2037 adm = kmem_zalloc(sizeof(*adm), KM_SLEEP);
2038 adm->adm_size = size;
2041 BUS_DMA_NOWAIT|BUS_DMA_ALLOCNOW, &adm->adm_map) != 0)
2044 if (bus_dmamem_alloc(sc->sc_dmat, size, PAGE_SIZE, 0, &adm->adm_seg,
2048 if (bus_dmamem_map(sc->sc_dmat, &adm->adm_seg, nsegs, size,
2049 &adm->adm_kva, BUS_DMA_NOWAIT|BUS_DMA_COHERENT) != 0)
2052 if (bus_dmamap_load(sc->sc_dmat, adm->adm_map, adm->adm_kva, size,
2056 memset(adm->adm_kva, 0, size);
2058 return adm;
2061 bus_dmamem_unmap(sc->sc_dmat, adm->adm_kva, size);
2063 bus_dmamem_free(sc->sc_dmat, &adm->adm_seg, 1);
2065 bus_dmamap_destroy(sc->sc_dmat, adm->adm_map);
2067 kmem_free(adm, sizeof(*adm));
2073 arc_dmamem_free(struct arc_softc *sc, struct arc_dmamem *adm)
2075 bus_dmamap_unload(sc->sc_dmat, adm->adm_map);
2076 bus_dmamem_unmap(sc->sc_dmat, adm->adm_kva, adm->adm_size);
2077 bus_dmamem_free(sc->sc_dmat, &adm->adm_seg, 1);
2078 bus_dmamap_destroy(sc->sc_dmat, adm->adm_map);
2079 kmem_free(adm, sizeof(*adm));