Lines Matching refs:bdm

873 	struct bwfm_pci_dmamem *bdm;  in bwfm_pci_dmamem_alloc()  local
876 bdm = kmem_zalloc(sizeof(*bdm), KM_SLEEP); in bwfm_pci_dmamem_alloc()
877 bdm->bdm_size = size; in bwfm_pci_dmamem_alloc()
880 BUS_DMA_WAITOK | BUS_DMA_ALLOCNOW, &bdm->bdm_map) != 0) in bwfm_pci_dmamem_alloc()
883 if (bus_dmamem_alloc(sc->sc_dmat, size, align, 0, &bdm->bdm_seg, 1, in bwfm_pci_dmamem_alloc()
887 if (bus_dmamem_map(sc->sc_dmat, &bdm->bdm_seg, nsegs, size, in bwfm_pci_dmamem_alloc()
888 (void **) &bdm->bdm_kva, BUS_DMA_WAITOK | BUS_DMA_COHERENT) != 0) in bwfm_pci_dmamem_alloc()
891 if (bus_dmamap_load(sc->sc_dmat, bdm->bdm_map, bdm->bdm_kva, size, in bwfm_pci_dmamem_alloc()
895 bzero(bdm->bdm_kva, size); in bwfm_pci_dmamem_alloc()
897 return (bdm); in bwfm_pci_dmamem_alloc()
900 bus_dmamem_unmap(sc->sc_dmat, bdm->bdm_kva, size); in bwfm_pci_dmamem_alloc()
902 bus_dmamem_free(sc->sc_dmat, &bdm->bdm_seg, 1); in bwfm_pci_dmamem_alloc()
904 bus_dmamap_destroy(sc->sc_dmat, bdm->bdm_map); in bwfm_pci_dmamem_alloc()
906 kmem_free(bdm, sizeof(*bdm)); in bwfm_pci_dmamem_alloc()
912 bwfm_pci_dmamem_free(struct bwfm_pci_softc *sc, struct bwfm_pci_dmamem *bdm) in bwfm_pci_dmamem_free() argument
914 bus_dmamap_unload(sc->sc_dmat, bdm->bdm_map); in bwfm_pci_dmamem_free()
915 bus_dmamem_unmap(sc->sc_dmat, bdm->bdm_kva, bdm->bdm_size); in bwfm_pci_dmamem_free()
916 bus_dmamem_free(sc->sc_dmat, &bdm->bdm_seg, 1); in bwfm_pci_dmamem_free()
917 bus_dmamap_destroy(sc->sc_dmat, bdm->bdm_map); in bwfm_pci_dmamem_free()
918 kmem_free(bdm, sizeof(*bdm)); in bwfm_pci_dmamem_free()