Lines Matching refs:tdm
393 struct qcpas_dmamem *tdm;
396 tdm = malloc(sizeof(*tdm), M_DEVBUF, M_WAITOK | M_ZERO);
397 tdm->tdm_size = size;
400 BUS_DMA_WAITOK | BUS_DMA_ALLOCNOW, &tdm->tdm_map) != 0)
404 &tdm->tdm_seg, 1, &nsegs, BUS_DMA_WAITOK, 0, 0xffffffff) != 0)
407 if (bus_dmamem_map(sc->sc_dmat, &tdm->tdm_seg, nsegs, size,
408 &tdm->tdm_kva, BUS_DMA_WAITOK | BUS_DMA_COHERENT) != 0)
411 if (bus_dmamap_load(sc->sc_dmat, tdm->tdm_map, tdm->tdm_kva, size,
415 bzero(tdm->tdm_kva, size);
417 return (tdm);
420 bus_dmamem_unmap(sc->sc_dmat, tdm->tdm_kva, size);
422 bus_dmamem_free(sc->sc_dmat, &tdm->tdm_seg, 1);
424 bus_dmamap_destroy(sc->sc_dmat, tdm->tdm_map);
426 free(tdm, M_DEVBUF, 0);
432 qcpas_dmamem_free(struct qcpas_softc *sc, struct qcpas_dmamem *tdm)
434 bus_dmamem_unmap(sc->sc_dmat, tdm->tdm_kva, tdm->tdm_size);
435 bus_dmamem_free(sc->sc_dmat, &tdm->tdm_seg, 1);
436 bus_dmamap_destroy(sc->sc_dmat, tdm->tdm_map);
437 free(tdm, M_DEVBUF, 0);