aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/pccbb
diff options
context:
space:
mode:
authorWarner Losh <imp@FreeBSD.org>2001-08-29 20:33:08 +0000
committerWarner Losh <imp@FreeBSD.org>2001-08-29 20:33:08 +0000
commit9a25341262af1ebfc9ac5c580b0eba3b86e1e7bf (patch)
tree97c316a01e81c83bdf1a1eed9602231ea23e079b /sys/dev/pccbb
parent466df28c527764f67157e676ec6f49d381b95ff4 (diff)
Notes
Diffstat (limited to 'sys/dev/pccbb')
-rw-r--r--sys/dev/pccbb/pccbb.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/sys/dev/pccbb/pccbb.c b/sys/dev/pccbb/pccbb.c
index 2827eebcdd2d..4173c413ed8a 100644
--- a/sys/dev/pccbb/pccbb.c
+++ b/sys/dev/pccbb/pccbb.c
@@ -331,7 +331,6 @@ pccbb_chipinit(struct pccbb_softc *sc)
/* disable Legacy IO */
switch (sc->sc_chipset) {
case CB_RF5C46X:
- case CB_RF5C47X:
PCI_MASK_CONFIG(sc->sc_dev, PCCBBR_BRIDGECTRL,
& ~(PCCBBM_BRIDGECTRL_RL_3E0_EN |
PCCBBM_BRIDGECTRL_RL_3E2_EN), 2);
@@ -348,12 +347,19 @@ pccbb_chipinit(struct pccbb_softc *sc)
| PCCBBM_BRIDGECTRL_WRITE_POST_EN,
2);
+ /* XXX this should be a function table, ala OLDCARD. */
switch (sc->sc_chipset) {
case CB_TI113X:
- PCI_MASK2_CONFIG(sc->sc_dev, PCCBBR_CBCTRL,
- & ~PCCBBM_CBCTRL_113X_PCI_INTR,
- | PCCBBM_CBCTRL_113X_PCI_CSC |
- PCCBBM_CBCTRL_113X_PCI_IRQ_EN, 1);
+ /*
+ * The TI 1030, TI 1130 and TI 1131 all require another bit
+ * be set to enable PCI routing of interrupts, and then
+ * a bit for each of the CSC and Function interrupts we
+ * want routed.
+ */
+ PCI_MASK_CONFIG(sc->sc_dev, PCCBBR_CBCTRL,
+ | PCCBBM_CBCTRL_113X_PCI_INTR |
+ PCCBBM_CBCTRL_113X_PCI_CSC | PCCBBM_CBCTRL_113X_PCI_IRQ_EN,
+ 1);
PCI_MASK_CONFIG(sc->sc_dev, PCCBBR_DEVCTRL,
& ~(PCCBBM_DEVCTRL_INT_SERIAL |
PCCBBM_DEVCTRL_INT_PCI), 1);