diff options
| author | Scott Long <scottl@FreeBSD.org> | 2008-02-12 16:24:30 +0000 |
|---|---|---|
| committer | Scott Long <scottl@FreeBSD.org> | 2008-02-12 16:24:30 +0000 |
| commit | 54f8dbc48fd7044340be853d2bac9c2bd38352fb (patch) | |
| tree | f8c7bedfa0ddc2b0964999befbe86256947ea937 | |
| parent | 7a3107219353a5399cd3886bc3ff0a06d4aef8e2 (diff) | |
Notes
| -rw-r--r-- | sys/amd64/amd64/busdma_machdep.c | 4 | ||||
| -rw-r--r-- | sys/i386/i386/busdma_machdep.c | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/sys/amd64/amd64/busdma_machdep.c b/sys/amd64/amd64/busdma_machdep.c index 321c49ebf591..c9475d525c97 100644 --- a/sys/amd64/amd64/busdma_machdep.c +++ b/sys/amd64/amd64/busdma_machdep.c @@ -598,14 +598,14 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dmat, * Count the number of bounce pages * needed in order to complete this transfer */ - vaddr = trunc_page((vm_offset_t)buf); + vaddr = (vm_offset_t)buf; vendaddr = (vm_offset_t)buf + buflen; while (vaddr < vendaddr) { paddr = pmap_kextract(vaddr); if (run_filter(dmat, paddr) != 0) map->pagesneeded++; - vaddr += PAGE_SIZE; + vaddr += (PAGE_SIZE - ((vm_offset_t)vaddr & PAGE_MASK)); } CTR1(KTR_BUSDMA, "pagesneeded= %d\n", map->pagesneeded); } diff --git a/sys/i386/i386/busdma_machdep.c b/sys/i386/i386/busdma_machdep.c index 383061b78b60..0c76c7a1dba6 100644 --- a/sys/i386/i386/busdma_machdep.c +++ b/sys/i386/i386/busdma_machdep.c @@ -585,7 +585,7 @@ _bus_dmamap_count_pages(bus_dma_tag_t dmat, bus_dmamap_t map, void *buf, * Count the number of bounce pages * needed in order to complete this transfer */ - vaddr = trunc_page((vm_offset_t)buf); + vaddr = (vm_offset_t)buf; vendaddr = (vm_offset_t)buf + buflen; while (vaddr < vendaddr) { @@ -594,7 +594,7 @@ _bus_dmamap_count_pages(bus_dma_tag_t dmat, bus_dmamap_t map, void *buf, run_filter(dmat, paddr) != 0) { map->pagesneeded++; } - vaddr += PAGE_SIZE; + vaddr += (PAGE_SIZE - ((vm_offset_t)vaddr & PAGE_MASK)); } CTR1(KTR_BUSDMA, "pagesneeded= %d\n", map->pagesneeded); } |
