summaryrefslogtreecommitdiffstats
path: root/sys/kern/subr_bus_dma.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/kern/subr_bus_dma.c')
-rw-r--r--sys/kern/subr_bus_dma.c26
1 files changed, 2 insertions, 24 deletions
diff --git a/sys/kern/subr_bus_dma.c b/sys/kern/subr_bus_dma.c
index ae30276..cdf176b 100644
--- a/sys/kern/subr_bus_dma.c
+++ b/sys/kern/subr_bus_dma.c
@@ -131,28 +131,6 @@ _bus_dmamap_load_mbuf_sg(bus_dma_tag_t dmat, bus_dmamap_t map,
}
/*
- * Load tlen data starting at offset within a region specified by a list of
- * physical pages.
- */
-static int
-_bus_dmamap_load_pages(bus_dma_tag_t dmat, bus_dmamap_t map,
- vm_page_t *pages, bus_size_t tlen, int offset, int *nsegs, int flags)
-{
- vm_paddr_t paddr;
- bus_size_t len;
- int error, i;
-
- for (i = 0, error = 0; error == 0 && tlen > 0; i++, tlen -= len) {
- len = min(PAGE_SIZE - offset, tlen);
- paddr = VM_PAGE_TO_PHYS(pages[i]) + offset;
- error = _bus_dmamap_load_phys(dmat, map, paddr, len,
- flags, NULL, nsegs);
- offset = 0;
- }
- return (error);
-}
-
-/*
* Load from block io.
*/
static int
@@ -168,8 +146,8 @@ _bus_dmamap_load_bio(bus_dma_tag_t dmat, bus_dmamap_t map, struct bio *bio,
}
if ((bio->bio_flags & BIO_UNMAPPED) != 0)
- return (_bus_dmamap_load_pages(dmat, map, bio->bio_ma,
- bio->bio_bcount, bio->bio_ma_offset, nsegs, flags));
+ return (_bus_dmamap_load_ma(dmat, map, bio->bio_ma,
+ bio->bio_bcount, bio->bio_ma_offset, flags, NULL, nsegs));
return (_bus_dmamap_load_buffer(dmat, map, bio->bio_data,
bio->bio_bcount, kernel_pmap, flags, NULL, nsegs));
OpenPOWER on IntegriCloud