summaryrefslogtreecommitdiffstats
path: root/sys/dev/dc
diff options
context:
space:
mode:
authorscottl <scottl@FreeBSD.org>2005-03-08 23:25:46 +0000
committerscottl <scottl@FreeBSD.org>2005-03-08 23:25:46 +0000
commitab661be527e20d291587f2861ab6288b036b46c9 (patch)
tree72f6aaf5594a5d392c2a44a9dd462b604204cbd1 /sys/dev/dc
parent2619687e843fda7da731da685dbfff9deba2f059 (diff)
downloadFreeBSD-src-ab661be527e20d291587f2861ab6288b036b46c9.zip
FreeBSD-src-ab661be527e20d291587f2861ab6288b036b46c9.tar.gz
The DC driver asks for an alignment of PAGE_SIZE for data buffers, but also
asks that each buffer be (2048 * 256) bytes long. I suspect that alignment isn't a real requirement since busdma only recently started honoring it. The size is also bogus. Fix both of these and stop busdma from trying to exhaust the system memory pool with bounce pages. Submitted by: Kevin Oberman MFC After: 7 days
Diffstat (limited to 'sys/dev/dc')
-rw-r--r--sys/dev/dc/if_dc.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/dev/dc/if_dc.c b/sys/dev/dc/if_dc.c
index b3394b9..d4cba44 100644
--- a/sys/dev/dc/if_dc.c
+++ b/sys/dev/dc/if_dc.c
@@ -2147,9 +2147,9 @@ dc_attach(device_t dev)
}
/* Allocate a busdma tag for mbufs. */
- error = bus_dma_tag_create(NULL, PAGE_SIZE, 0, BUS_SPACE_MAXADDR_32BIT,
- BUS_SPACE_MAXADDR, NULL, NULL, MCLBYTES * DC_TX_LIST_CNT,
- DC_TX_LIST_CNT, MCLBYTES, 0, NULL, NULL, &sc->dc_mtag);
+ error = bus_dma_tag_create(NULL, 1, 0, BUS_SPACE_MAXADDR_32BIT,
+ BUS_SPACE_MAXADDR, NULL, NULL, MCLBYTES DC_TX_LIST_CNT, MCLBYTES,
+ 0, NULL, NULL, &sc->dc_mtag);
if (error) {
printf("dc%d: failed to allocate busdma tag\n", unit);
error = ENXIO;
OpenPOWER on IntegriCloud