Lines Matching defs:sdm
910 struct sili_dmamem *sdm;
913 sdm = malloc(sizeof(*sdm), M_DEVBUF, M_WAITOK | M_ZERO);
914 sdm->sdm_size = size;
917 BUS_DMA_WAITOK | BUS_DMA_ALLOCNOW, &sdm->sdm_map) != 0)
920 if (bus_dmamem_alloc(sc->sc_dmat, size, align, 0, &sdm->sdm_seg,
924 if (bus_dmamem_map(sc->sc_dmat, &sdm->sdm_seg, nsegs, size,
925 &sdm->sdm_kva, BUS_DMA_NOWAIT) != 0)
928 if (bus_dmamap_load(sc->sc_dmat, sdm->sdm_map, sdm->sdm_kva, size,
932 return (sdm);
935 bus_dmamem_unmap(sc->sc_dmat, sdm->sdm_kva, size);
937 bus_dmamem_free(sc->sc_dmat, &sdm->sdm_seg, 1);
939 bus_dmamap_destroy(sc->sc_dmat, sdm->sdm_map);
941 free(sdm, M_DEVBUF, sizeof *sdm);
947 sili_dmamem_free(struct sili_softc *sc, struct sili_dmamem *sdm)
949 bus_dmamap_unload(sc->sc_dmat, sdm->sdm_map);
950 bus_dmamem_unmap(sc->sc_dmat, sdm->sdm_kva, sdm->sdm_size);
951 bus_dmamem_free(sc->sc_dmat, &sdm->sdm_seg, 1);
952 bus_dmamap_destroy(sc->sc_dmat, sdm->sdm_map);
953 free(sdm, M_DEVBUF, sizeof *sdm);