summaryrefslogtreecommitdiffstats
path: root/sys/dev/mxge
diff options
context:
space:
mode:
authorgallatin <gallatin@FreeBSD.org>2006-08-01 14:02:54 +0000
committergallatin <gallatin@FreeBSD.org>2006-08-01 14:02:54 +0000
commita3e442d0c278cb8a2e4801ae95b48dc59a31f455 (patch)
tree5c0480cfc67daf56e3318b5ebee97e0bc3b063b5 /sys/dev/mxge
parentcedd19512d5ec8d27159476420b827e2e01731e1 (diff)
downloadFreeBSD-src-a3e442d0c278cb8a2e4801ae95b48dc59a31f455.zip
FreeBSD-src-a3e442d0c278cb8a2e4801ae95b48dc59a31f455.tar.gz
- add read only sysctl to indicate if write-combining was enabled
- enable mxge_dummy_rdma() right after reset, and make sure to disable when detaching the driver.
Diffstat (limited to 'sys/dev/mxge')
-rw-r--r--sys/dev/mxge/if_mxge.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/sys/dev/mxge/if_mxge.c b/sys/dev/mxge/if_mxge.c
index 2e8a707..b775595 100644
--- a/sys/dev/mxge/if_mxge.c
+++ b/sys/dev/mxge/if_mxge.c
@@ -765,7 +765,6 @@ mxge_load_firmware(mxge_softc_t *sc)
return ENXIO;
}
- mxge_dummy_rdma(sc, 1);
return 0;
}
@@ -843,6 +842,8 @@ mxge_reset(mxge_softc_t *sc)
return ENXIO;
}
+ mxge_dummy_rdma(sc, 1);
+
/* Now exchange information about interrupts */
bytes = mxge_max_intr_slots * sizeof (*sc->rx_done.entry);\
memset(sc->rx_done.entry, 0, bytes);
@@ -1025,6 +1026,10 @@ mxge_add_sysctls(mxge_softc_t *sc)
CTLFLAG_RD, &sc->tx.boundary,
0, "tx_boundary");
SYSCTL_ADD_INT(ctx, children, OID_AUTO,
+ "write_combine",
+ CTLFLAG_RD, &sc->wc,
+ 0, "write combining PIO?");
+ SYSCTL_ADD_INT(ctx, children, OID_AUTO,
"read_dma_MBs",
CTLFLAG_RD, &sc->read_dma,
0, "DMA Read speed in MB/s");
@@ -2544,6 +2549,7 @@ mxge_detach(device_t dev)
mxge_close(sc);
sx_xunlock(&sc->driver_lock);
ether_ifdetach(sc->ifp);
+ mxge_dummy_rdma(sc, 0);
bus_release_resource(dev, SYS_RES_IRQ, 0, sc->irq_res);
sc->rx_done.entry = NULL;
mxge_dma_free(&sc->rx_done.dma);
OpenPOWER on IntegriCloud