aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/bfe
diff options
context:
space:
mode:
authorScott Long <scottl@FreeBSD.org>2006-04-27 14:02:58 +0000
committerScott Long <scottl@FreeBSD.org>2006-04-27 14:02:58 +0000
commit9171a12bcd482202a298e43e7a99d6ac84502e1a (patch)
treeaf88e407dfdcf059a8ef00df4b59a46d94efd3b4 /sys/dev/bfe
parent0a5fa4556098bbff3f1d305b30ab3de96d88b444 (diff)
Notes
Diffstat (limited to 'sys/dev/bfe')
-rw-r--r--sys/dev/bfe/if_bfe.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/sys/dev/bfe/if_bfe.c b/sys/dev/bfe/if_bfe.c
index 4eec5123c9c44..3bdfc8fcb19be 100644
--- a/sys/dev/bfe/if_bfe.c
+++ b/sys/dev/bfe/if_bfe.c
@@ -197,16 +197,19 @@ bfe_dma_alloc(device_t dev)
sc = device_get_softc(dev);
- /* parent tag */
+ /*
+ * parent tag. Apparently the chip cannot handle any DMA address
+ * greater than 1GB.
+ */
error = bus_dma_tag_create(NULL, /* parent */
PAGE_SIZE, 0, /* alignment, boundary */
- BUS_SPACE_MAXADDR, /* lowaddr */
- BUS_SPACE_MAXADDR_32BIT, /* highaddr */
+ 0x40000000, /* lowaddr */
+ BUS_SPACE_MAXADDR, /* highaddr */
NULL, NULL, /* filter, filterarg */
MAXBSIZE, /* maxsize */
BUS_SPACE_UNRESTRICTED, /* num of segments */
BUS_SPACE_MAXSIZE_32BIT, /* max segment size */
- BUS_DMA_ALLOCNOW, /* flags */
+ 0, /* flags */
NULL, NULL, /* lockfunc, lockarg */
&sc->bfe_parent_tag);
@@ -255,7 +258,7 @@ bfe_dma_alloc(device_t dev)
MCLBYTES,
1,
BUS_SPACE_MAXSIZE_32BIT,
- 0,
+ BUS_DMA_ALLOCNOW,
NULL, NULL,
&sc->bfe_tag);