diff options
author | scottl <scottl@FreeBSD.org> | 2005-03-08 23:25:46 +0000 |
---|---|---|
committer | scottl <scottl@FreeBSD.org> | 2005-03-08 23:25:46 +0000 |
commit | ab661be527e20d291587f2861ab6288b036b46c9 (patch) | |
tree | 72f6aaf5594a5d392c2a44a9dd462b604204cbd1 /sys/pci | |
parent | 2619687e843fda7da731da685dbfff9deba2f059 (diff) | |
download | FreeBSD-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/pci')
-rw-r--r-- | sys/pci/if_dc.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/pci/if_dc.c b/sys/pci/if_dc.c index b3394b9..d4cba44 100644 --- a/sys/pci/if_dc.c +++ b/sys/pci/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; |