summaryrefslogtreecommitdiffstats
path: root/sys/dev/pccbb
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2003-11-07 23:12:59 +0000
committerimp <imp@FreeBSD.org>2003-11-07 23:12:59 +0000
commitae477bf06017bb98eb66293028ee886bc28d7026 (patch)
tree641a8709e120771f188d39bd155c8f06478bd034 /sys/dev/pccbb
parent441af866acf650592d39f0fa36d634d881956229 (diff)
downloadFreeBSD-src-ae477bf06017bb98eb66293028ee886bc28d7026.zip
FreeBSD-src-ae477bf06017bb98eb66293028ee886bc28d7026.tar.gz
Remove channeling interrupts to IRQ1. Some chipsets don't do the
expected thing and that causes interference with keyboards.
Diffstat (limited to 'sys/dev/pccbb')
-rw-r--r--sys/dev/pccbb/pccbb.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/sys/dev/pccbb/pccbb.c b/sys/dev/pccbb/pccbb.c
index fb9926f..2571d0a 100644
--- a/sys/dev/pccbb/pccbb.c
+++ b/sys/dev/pccbb/pccbb.c
@@ -415,15 +415,22 @@ cbb_probe(device_t brdev)
* interrupts. These interrupts aren't really generated by the chip, since
* IRQ1 is reserved. Some chipsets assert INTA# inappropriately during
* initialization, so this helps to work around the problem.
+ *
+ * XXX We can't do this workaround for all chipsets, because this
+ * XXX causes interference with the keyboard because somechipsets will
+ * XXX actually signal IRQ1 over their serial interrupt connections to
+ * XXX the south bridge. Disable it it for now.
*/
static void
cbb_disable_func_intr(struct cbb_softc *sc)
{
uint8_t reg;
+#if 0
reg = (exca_getb(&sc->exca, EXCA_INTR) & ~EXCA_INTR_IRQ_MASK) |
EXCA_INTR_IRQ_RESERVED1;
exca_putb(&sc->exca, EXCA_INTR, reg);
+#endif
}
/*
OpenPOWER on IntegriCloud