aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/pccbb/pccbb.c
diff options
context:
space:
mode:
authorWarner Losh <imp@FreeBSD.org>2003-11-07 23:12:59 +0000
committerWarner Losh <imp@FreeBSD.org>2003-11-07 23:12:59 +0000
commit123cd74e26cce763ad5a152c4dd6ecadabfbb416 (patch)
tree641a8709e120771f188d39bd155c8f06478bd034 /sys/dev/pccbb/pccbb.c
parent29e2fc2f5fcf3b5eb109766d67e5d6847bb5fca8 (diff)
downloadsrc-123cd74e26cce763ad5a152c4dd6ecadabfbb416.tar.gz
src-123cd74e26cce763ad5a152c4dd6ecadabfbb416.zip
Remove channeling interrupts to IRQ1. Some chipsets don't do the
expected thing and that causes interference with keyboards.
Notes
Notes: svn path=/head/; revision=122263
Diffstat (limited to 'sys/dev/pccbb/pccbb.c')
-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 fb9926f9ebb9..2571d0ad4eb9 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
}
/*