summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoryongari <yongari@FreeBSD.org>2011-01-10 17:37:49 +0000
committeryongari <yongari@FreeBSD.org>2011-01-10 17:37:49 +0000
commitdafab263540342d71fe700d3506b22fe04902235 (patch)
tree1b8baa7eaaba0b1516801e549a4a501993a84fb0
parent2325865369c1fbead81ec6db367b2ae00f57ff20 (diff)
downloadFreeBSD-src-dafab263540342d71fe700d3506b22fe04902235.zip
FreeBSD-src-dafab263540342d71fe700d3506b22fe04902235.tar.gz
Backout r216973 and r216970. r216973 didn't solve watchdog timeout
issue seen on PCIX BCM5704 controller. r216970 fixed the issue but the DMA address space restriction was applied to all bge(4) controllers such that it caused unnecessary performance degradation for controllers that have no such issues.
-rw-r--r--sys/dev/bge/if_bge.c12
1 files changed, 1 insertions, 11 deletions
diff --git a/sys/dev/bge/if_bge.c b/sys/dev/bge/if_bge.c
index 0963abe..3f9d6d2 100644
--- a/sys/dev/bge/if_bge.c
+++ b/sys/dev/bge/if_bge.c
@@ -2475,18 +2475,8 @@ bge_dma_alloc(struct bge_softc *sc)
boundary = 0;
if ((sc->bge_flags & BGE_FLAG_4G_BNDRY_BUG) != 0)
boundary = BGE_DMA_BNDRY;
- /*
- * XXX
- * It seems bus_dma(9) still has issue on dealing with boundary
- * restriction for dynamic buffers so disable the boundary
- * restriction and limit DMA address space to 32bit. It's not
- * clear whether there is another hardware issue here.
- */
- lowaddr = BUS_SPACE_MAXADDR;
- if ((sc->bge_flags & BGE_FLAG_40BIT_BUG) != 0)
- lowaddr = BUS_SPACE_MAXADDR_32BIT;
error = bus_dma_tag_create(bus_get_dma_tag(sc->bge_dev),
- 1, 0, lowaddr, BUS_SPACE_MAXADDR, NULL,
+ 1, boundary, lowaddr, BUS_SPACE_MAXADDR, NULL,
NULL, BUS_SPACE_MAXSIZE_32BIT, 0, BUS_SPACE_MAXSIZE_32BIT,
0, NULL, NULL, &sc->bge_cdata.bge_buffer_tag);
if (error != 0) {
OpenPOWER on IntegriCloud