summaryrefslogtreecommitdiffstats
path: root/sys/dev/bge/if_bge.c
diff options
context:
space:
mode:
authormarius <marius@FreeBSD.org>2009-03-23 14:36:50 +0000
committermarius <marius@FreeBSD.org>2009-03-23 14:36:50 +0000
commit8ca7a264d2db4b426d25dd61d72c6e0c67c445ee (patch)
treef9ea5455e88a9b13cf2950235004068a52ac5964 /sys/dev/bge/if_bge.c
parent8c8df6fbdf914bf576525203f91ca2d17d668d3b (diff)
downloadFreeBSD-src-8ca7a264d2db4b426d25dd61d72c6e0c67c445ee.zip
FreeBSD-src-8ca7a264d2db4b426d25dd61d72c6e0c67c445ee.tar.gz
- Ensure that INTx isn't disabled, as these chips apparently have a
quirk requiring it to be enabled even when using MSI. This makes the latter work again after r189285. - Remove a comment which no longer applies since r190194.
Diffstat (limited to 'sys/dev/bge/if_bge.c')
-rw-r--r--sys/dev/bge/if_bge.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/sys/dev/bge/if_bge.c b/sys/dev/bge/if_bge.c
index 2077c8c3..1bfd509 100644
--- a/sys/dev/bge/if_bge.c
+++ b/sys/dev/bge/if_bge.c
@@ -1295,8 +1295,7 @@ bge_stop_fw(sc)
}
/*
- * Do endian, PCI and DMA initialization. Also check the on-board ROM
- * self-test results.
+ * Do endian, PCI and DMA initialization.
*/
static int
bge_chipinit(struct bge_softc *sc)
@@ -1404,9 +1403,11 @@ bge_chipinit(struct bge_softc *sc)
/*
* Disable memory write invalidate. Apparently it is not supported
- * properly by these devices.
+ * properly by these devices. Also ensure that INTx isn't disabled,
+ * as these chips need it even when using MSI.
*/
- PCI_CLRBIT(sc->bge_dev, BGE_PCI_CMD, PCIM_CMD_MWIEN, 4);
+ PCI_CLRBIT(sc->bge_dev, BGE_PCI_CMD,
+ PCIM_CMD_INTxDIS | PCIM_CMD_MWIEN, 4);
/* Set the timer prescaler (always 66Mhz) */
CSR_WRITE_4(sc, BGE_MISC_CFG, BGE_32BITTIME_66MHZ);
OpenPOWER on IntegriCloud