summaryrefslogtreecommitdiffstats
path: root/sys/ia64
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2007-11-27 17:28:12 +0000
committerjhb <jhb@FreeBSD.org>2007-11-27 17:28:12 +0000
commit7fe785218b409a5fce43a2ca79739e1599c71591 (patch)
treef0985e5ee1a2bfe1965388e2711189e15071b712 /sys/ia64
parenta32c67c9ab76d6bb3fb57b85250e614484fcd907 (diff)
downloadFreeBSD-src-7fe785218b409a5fce43a2ca79739e1599c71591.zip
FreeBSD-src-7fe785218b409a5fce43a2ca79739e1599c71591.tar.gz
Remove the 'needbounce' variable from the _bus_dmamap_load_buffer()
routine. It is not needed as the existing tests for segment coalescing already handle bounced addresses and it prevents legal segment coalescing in certain edge cases. MFC after: 1 week Reviewed by: scottl
Diffstat (limited to 'sys/ia64')
-rw-r--r--sys/ia64/ia64/busdma_machdep.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/sys/ia64/ia64/busdma_machdep.c b/sys/ia64/ia64/busdma_machdep.c
index 5ef2e53..8dd4a9b 100644
--- a/sys/ia64/ia64/busdma_machdep.c
+++ b/sys/ia64/ia64/busdma_machdep.c
@@ -503,7 +503,6 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dmat,
bus_addr_t curaddr, lastaddr, baddr, bmask;
vm_offset_t vaddr;
bus_addr_t paddr;
- int needbounce = 0;
int seg;
pmap_t pmap;
@@ -529,10 +528,8 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dmat,
while (vaddr < vendaddr) {
paddr = pmap_kextract(vaddr);
- if (run_filter(dmat, paddr, 0) != 0) {
- needbounce = 1;
+ if (run_filter(dmat, paddr, 0) != 0)
map->pagesneeded++;
- }
vaddr += PAGE_SIZE;
}
}
@@ -604,7 +601,7 @@ _bus_dmamap_load_buffer(bus_dma_tag_t dmat,
segs[seg].ds_len = sgsize;
first = 0;
} else {
- if (!needbounce && curaddr == lastaddr &&
+ if (curaddr == lastaddr &&
(segs[seg].ds_len + sgsize) <= dmat->maxsegsz &&
(dmat->boundary == 0 ||
(segs[seg].ds_addr & bmask) == (curaddr & bmask)))
OpenPOWER on IntegriCloud