summaryrefslogtreecommitdiffstats
path: root/sys/dev/pccbb
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2001-08-29 20:33:08 +0000
committerimp <imp@FreeBSD.org>2001-08-29 20:33:08 +0000
commit4b3368b6ec7e3342c5136bceac21cfa29e194f6a (patch)
tree97c316a01e81c83bdf1a1eed9602231ea23e079b /sys/dev/pccbb
parente0090eb6468143b2367bf5727b7b1e2f2760f92e (diff)
downloadFreeBSD-src-4b3368b6ec7e3342c5136bceac21cfa29e194f6a.zip
FreeBSD-src-4b3368b6ec7e3342c5136bceac21cfa29e194f6a.tar.gz
First, The Ricoh 5C47x chips don't have the disable the 3e0 bits.
Second, the TI 1130 need to have the PCI_INTR set, not cleared. This gets Soren's machine working with NEWCARD again. # The whole initialization is a mess and needs to be organized ala OLDCARD.
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 2827eeb..4173c41 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);
OpenPOWER on IntegriCloud