mdm 733 dev/ic/mpi.c struct mpi_dmamem *mdm; mdm 736 dev/ic/mpi.c mdm = malloc(sizeof(struct mpi_dmamem), M_DEVBUF, M_NOWAIT); mdm 737 dev/ic/mpi.c if (mdm == NULL) mdm 740 dev/ic/mpi.c bzero(mdm, sizeof(struct mpi_dmamem)); mdm 741 dev/ic/mpi.c mdm->mdm_size = size; mdm 744 dev/ic/mpi.c BUS_DMA_NOWAIT | BUS_DMA_ALLOCNOW, &mdm->mdm_map) != 0) mdm 747 dev/ic/mpi.c if (bus_dmamem_alloc(sc->sc_dmat, size, PAGE_SIZE, 0, &mdm->mdm_seg, mdm 751 dev/ic/mpi.c if (bus_dmamem_map(sc->sc_dmat, &mdm->mdm_seg, nsegs, size, mdm 752 dev/ic/mpi.c &mdm->mdm_kva, BUS_DMA_NOWAIT) != 0) mdm 755 dev/ic/mpi.c if (bus_dmamap_load(sc->sc_dmat, mdm->mdm_map, mdm->mdm_kva, size, mdm 759 dev/ic/mpi.c bzero(mdm->mdm_kva, size); mdm 763 dev/ic/mpi.c DEVNAME(sc), size, mdm->mdm_map, nsegs, mdm->mdm_seg, mdm->mdm_kva); mdm 765 dev/ic/mpi.c return (mdm); mdm 768 dev/ic/mpi.c bus_dmamem_unmap(sc->sc_dmat, mdm->mdm_kva, size); mdm 770 dev/ic/mpi.c bus_dmamem_free(sc->sc_dmat, &mdm->mdm_seg, 1); mdm 772 dev/ic/mpi.c bus_dmamap_destroy(sc->sc_dmat, mdm->mdm_map); mdm 774 dev/ic/mpi.c free(mdm, M_DEVBUF); mdm 780 dev/ic/mpi.c mpi_dmamem_free(struct mpi_softc *sc, struct mpi_dmamem *mdm) mdm 782 dev/ic/mpi.c DNPRINTF(MPI_D_MEM, "%s: mpi_dmamem_free %#x\n", DEVNAME(sc), mdm); mdm 784 dev/ic/mpi.c bus_dmamap_unload(sc->sc_dmat, mdm->mdm_map); mdm 785 dev/ic/mpi.c bus_dmamem_unmap(sc->sc_dmat, mdm->mdm_kva, mdm->mdm_size); mdm 786 dev/ic/mpi.c bus_dmamem_free(sc->sc_dmat, &mdm->mdm_seg, 1); mdm 787 dev/ic/mpi.c bus_dmamap_destroy(sc->sc_dmat, mdm->mdm_map); mdm 788 dev/ic/mpi.c free(mdm, M_DEVBUF);