diff options
| author | Scott Long <scottl@FreeBSD.org> | 2006-04-27 14:02:58 +0000 |
|---|---|---|
| committer | Scott Long <scottl@FreeBSD.org> | 2006-04-27 14:02:58 +0000 |
| commit | 9171a12bcd482202a298e43e7a99d6ac84502e1a (patch) | |
| tree | af88e407dfdcf059a8ef00df4b59a46d94efd3b4 /sys/dev/bfe | |
| parent | 0a5fa4556098bbff3f1d305b30ab3de96d88b444 (diff) | |
Notes
Diffstat (limited to 'sys/dev/bfe')
| -rw-r--r-- | sys/dev/bfe/if_bfe.c | 13 |
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); |
