Lines Matching defs:lm
616 struct ldc_map *lm;
623 lm = kmem_zalloc(sizeof(struct ldc_map), KM_SLEEP);
628 BUS_DMA_NOWAIT | BUS_DMA_ALLOCNOW, &lm->lm_map) != 0) {
633 if (bus_dmamem_alloc(t, size, PAGE_SIZE, 0, &lm->lm_seg, 1,
639 if (bus_dmamem_map(t, &lm->lm_seg, 1, size, (void *)&va,
644 if (bus_dmamap_load(t, lm->lm_map, (void*)va, size, NULL,
652 lm->lm_slot = (struct ldc_map_slot *)va;
653 lm->lm_nentries = nentries;
654 bzero(lm->lm_slot, nentries * sizeof(struct ldc_map_slot));
655 return (lm);
661 bus_dmamem_free(t, &lm->lm_seg, 1);
663 bus_dmamap_destroy(t, lm->lm_map);
670 ldc_map_free(bus_dma_tag_t t, struct ldc_map *lm)
673 ldc_map_free(struct ldc_map *lm)
678 size = lm->lm_nentries * sizeof(struct ldc_map_slot);
682 bus_dmamap_unload(t, lm->lm_map);
683 bus_dmamem_unmap(t, lm->lm_slot, size);
684 bus_dmamem_free(t, &lm->lm_seg, 1);
685 bus_dmamap_destroy(t, lm->lm_map);
687 kmem_free(lm->lm_slot, size);
689 kmem_free(lm, size);