Lines Matching defs:am
228 struct ami_mem *am;
231 am = malloc(sizeof(struct ami_mem), M_DEVBUF, M_NOWAIT|M_ZERO);
232 if (am == NULL)
235 am->am_size = size;
238 BUS_DMA_NOWAIT | BUS_DMA_ALLOCNOW, &am->am_map) != 0)
241 if (bus_dmamem_alloc(sc->sc_dmat, size, PAGE_SIZE, 0, &am->am_seg, 1,
245 if (bus_dmamem_map(sc->sc_dmat, &am->am_seg, nsegs, size, &am->am_kva,
249 if (bus_dmamap_load(sc->sc_dmat, am->am_map, am->am_kva, size, NULL,
253 return (am);
256 bus_dmamem_unmap(sc->sc_dmat, am->am_kva, size);
258 bus_dmamem_free(sc->sc_dmat, &am->am_seg, 1);
260 bus_dmamap_destroy(sc->sc_dmat, am->am_map);
262 free(am, M_DEVBUF, sizeof *am);
268 ami_freemem(struct ami_softc *sc, struct ami_mem *am)
270 bus_dmamap_unload(sc->sc_dmat, am->am_map);
271 bus_dmamem_unmap(sc->sc_dmat, am->am_kva, am->am_size);
272 bus_dmamem_free(sc->sc_dmat, &am->am_seg, 1);
273 bus_dmamap_destroy(sc->sc_dmat, am->am_map);
274 free(am, M_DEVBUF, sizeof *am);
375 struct ami_mem *am;
384 am = ami_allocmem(sc, NBPG);
385 if (am == NULL) {
389 pa = htole32(AMIMEM_DVA(am));
415 einq = AMIMEM_KVA(am);
416 pi = AMIMEM_KVA(am);
443 inq = AMIMEM_KVA(am);
498 ami_freemem(sc, am);
615 ami_freemem(sc, am);
1735 struct ami_mem *am = NULL;
1752 if ((am = ami_allocmem(sc, size)) == NULL) {
1756 idata = AMIMEM_KVA(am);
1777 cmd->acc_io.aio_data = am ? htole32(AMIMEM_DVA(am)) : 0;
1815 if (am)
1816 ami_freemem(sc, am);