From owner-freebsd-mobile Thu Aug 30 16:22:53 2001 Delivered-To: freebsd-mobile@freebsd.org Received: from rover.village.org (rover.bsdimp.com [204.144.255.66]) by hub.freebsd.org (Postfix) with ESMTP id B6CB837B405; Thu, 30 Aug 2001 16:22:46 -0700 (PDT) (envelope-from imp@harmony.village.org) Received: from harmony.village.org (harmony.village.org [10.0.0.6]) by rover.village.org (8.11.3/8.11.3) with ESMTP id f7UN7vq80662; Thu, 30 Aug 2001 17:07:57 -0600 (MDT) (envelope-from imp@harmony.village.org) Received: from harmony.village.org (localhost.village.org [127.0.0.1]) by harmony.village.org (8.11.3/8.11.4) with ESMTP id f7UN7un24744; Thu, 30 Aug 2001 17:07:56 -0600 (MDT) (envelope-from imp@harmony.village.org) Message-Id: <200108302307.f7UN7un24744@harmony.village.org> To: =?ISO-8859-1?B?Qm9yaXMgS/ZzdGVy?= Subject: Re: Re[2]: laptop cvs-stable problems part II (IRQ Problems) Cc: freebsd-questions@FreeBSD.ORG, freebsd-mobile@FreeBSD.ORG In-reply-to: Your message of "Fri, 31 Aug 2001 00:11:36 +0200." <164233665773.20010831001136@x-itec.de> References: <164233665773.20010831001136@x-itec.de> <105149800441.20010830005351@x-itec.de> <200108300235.f7U2Z1n16755@harmony.village.org> Date: Thu, 30 Aug 2001 17:07:56 -0600 From: Warner Losh Sender: owner-freebsd-mobile@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org In message <164233665773.20010831001136@x-itec.de> =?ISO-8859-1?B?Qm9yaXMgS/ZzdGVy?= writes: : Here is a longer /var/log/messages. The "working" kernel first, after : that new new kernel cvsupped and installed as of 30.08.2001 : 23:xx CET. OK. Try the following patch with pci routing: Index: pcic_pci.c =================================================================== RCS file: /cache/ncvs/src/sys/pccard/pcic_pci.c,v retrieving revision 1.54.2.12 diff -u -r1.54.2.12 pcic_pci.c --- pcic_pci.c 2001/08/27 16:34:03 1.54.2.12 +++ pcic_pci.c 2001/08/30 22:46:27 @@ -647,9 +651,24 @@ * This so we get the interrupt number in the probe message. * We only need to route interrupts when we're doing pci * parallel interrupt routing. + * + * Note: The CLPD6729 is a special case. See its init function + * for an explaination of ISA vs PCI interrupts. */ - if (pcic_intr_path == pcic_iw_pci) { + if (pcic_intr_path == pcic_iw_pci && + device_id != PCI_DEVICE_ID_PCIC_CLPD6729) { rid = 0; +#ifdef __i386__ + /* + * IRQ 0 is invalid on x86, but not other platforms. + * If we have irq 0, then write 255 to force a new, non- + * bogus one to be assigned. + */ + if (pci_get_irq(dev) == 0) { + pci_set_irq(dev, 255); + pci_write_config(dev, PCIR_INTLINE, 255, 1); + } +#endif res = bus_alloc_resource(dev, SYS_RES_IRQ, &rid, 0, ~0, 1, RF_ACTIVE); if (res) To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-mobile" in the body of the message