On 07-Nov-2003 M. Warner Losh wrote: > In message: <XFMail.20031107152126.john_at_baldwin.cx> > John Baldwin <john_at_baldwin.cx> writes: >: >: On 07-Nov-2003 John Baldwin wrote: >: > >: > On 07-Nov-2003 Sven Petai wrote: >: >> hi >: >> >: >> I upgraded my laptop (compaq Evo n1020V) from 5.1 beta to recent current few >: >> days ago. I noticed two regressions and hunted down commits that introduced >: >> them >: >> >: >> the first one is that my keyboard doesn't respond before single user mode if I >: >> reboot fBSD, so I can't break into loader.. it works fine when doing cold >: >> boot though. >: >> this bug is introduced by the version 1.86 of the file >: >> src/sys/dev/pccbb/pccbb.c >: >> my cbb is recognized as >: >> cbb0: <TI4410 PCI-CardBus Bridge> mem 0xffbfe000-0xffbfefff irq 10 at device >: >> 10.0 on pci0 >: >> cbb0: Found memory at ffbfe000 >: >> full dmesg is available _at_ >: >> http://bsd.ee/~hadara/dump/dmesg.2003.11.04_evon1020v >: > >: > Hmm, I have this keyboard problem as well but my bridge is: >: > >: > cbb0: <TI1225 PCI-CardBus Bridge> at device 4.0 on pci0 >: > cbb1: <TI1225 PCI-CardBus Bridge> at device 4.1 on pci0 >: > >: > I'm going to try disabling the func_intr() functions to see if that makes >: > my keyboard happier. >: >: Yes. this has helped immensely. My keyboard now works again after >: reboot and key repeat now works again. I just disabled both of >: the enable and disable func_intr functions. > > I have no clue what you are talking about here... Index: pccbb.c =================================================================== RCS file: /usr/cvs/src/sys/dev/pccbb/pccbb.c,v retrieving revision 1.96 diff -u -r1.96 pccbb.c --- pccbb.c 24 Oct 2003 07:20:13 -0000 1.96 +++ pccbb.c 7 Nov 2003 18:21:27 -0000 _at__at_ -409,7 +409,7 _at__at_ return (ENXIO); } - +#if 0 /* * Disable function interrupts by telling the bridge to generate IRQ1 * interrupts. These interrupts aren't really generated by the chip, since _at__at_ -442,6 +442,7 _at__at_ EXCA_INTR_IRQ_NONE; exca_putb(&sc->exca, EXCA_INTR, reg); } +#endif static void cbb_chipinit(struct cbb_softc *sc) _at__at_ -618,7 +619,9 _at__at_ exca_putb(&sc->exca, EXCA_INTR, EXCA_INTR_ENABLE); exca_putb(&sc->exca, EXCA_CSC_INTR, 0); +#if 0 cbb_disable_func_intr(sc); +#endif /* close all memory and io windows */ pci_write_config(sc->dev, CBBR_MEMBASE0, 0xffffffff, 4); _at__at_ -915,7 +918,9 _at__at_ ih->arg = arg; ih->flags = flags & INTR_MPSAFE; STAILQ_INSERT_TAIL(&sc->intr_handlers, ih, entries); +#if 0 cbb_enable_func_intr(sc); +#endif /* * XXX need to turn on ISA interrupts, if we ever support them, but * XXX for now that's all we need to do. _at__at_ -1137,7 +1142,9 _at__at_ mtx_lock(&sc->mtx); cbb_setb(sc, CBB_SOCKET_MASK, CBB_SOCKET_MASK_CD); sc->flags &= ~CBB_CARD_OK; +#if 0 cbb_disable_func_intr(sc); +#endif DPRINTF(("Waking up thread\n")); cv_signal(&sc->cv); mtx_unlock(&sc->mtx); The keyboard uses IRQ 1. Disabling using IRQ 1 for the CSC interrupt fixes several problems I've had recently with my laptop's keyboard (such as key repeat not working at all, the keyboard typically not working even in the BIOS after a warm reboot, etc.) -- John Baldwin <jhb_at_FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/Received on Fri Nov 07 2003 - 13:37:09 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:28 UTC