From owner-freebsd-current@FreeBSD.ORG Fri Sep 24 19:14:41 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5419116A572 for ; Fri, 24 Sep 2004 19:14:41 +0000 (GMT) Received: from mail4.speakeasy.net (mail4.speakeasy.net [216.254.0.204]) by mx1.FreeBSD.org (Postfix) with ESMTP id CF41F43D55 for ; Fri, 24 Sep 2004 19:14:40 +0000 (GMT) (envelope-from jhb@FreeBSD.org) Received: (qmail 26276 invoked from network); 24 Sep 2004 19:14:40 -0000 Received: from dsl027-160-063.atl1.dsl.speakeasy.net (HELO server.baldwin.cx) ([216.27.160.63]) (envelope-sender ) encrypted SMTP for ; 24 Sep 2004 19:14:40 -0000 Received: from [10.50.40.210] (gw1.twc.weather.com [216.133.140.1]) (authenticated bits=0) by server.baldwin.cx (8.12.11/8.12.11) with ESMTP id i8OJEVsH019871; Fri, 24 Sep 2004 15:14:36 -0400 (EDT) (envelope-from jhb@FreeBSD.org) From: John Baldwin To: msch@snafu.de Date: Fri, 24 Sep 2004 15:14:53 -0400 User-Agent: KMail/1.6.2 References: <200409232235.08683.msch@snafu.de> In-Reply-To: <200409232235.08683.msch@snafu.de> MIME-Version: 1.0 Content-Disposition: inline Message-Id: <200409241514.53704.jhb@FreeBSD.org> Content-Type: text/plain; charset="iso-8859-15" Content-Transfer-Encoding: 7bit X-Spam-Checker-Version: SpamAssassin 2.63 (2004-01-11) on server.baldwin.cx cc: njl@FreeBSD.org cc: current@FreeBSD.org Subject: Re: IRQ-Routing for 5.3-BETA X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 24 Sep 2004 19:14:41 -0000 On Thursday 23 September 2004 04:35 pm, Matthias Schuendehuette wrote: > Hello, > > I have serious problems with the new IRQ-outing code since Aug 11, 16:00 > UTC. > > For some reasons I don't understand, the new code uses IRQ10 instead of > IRQ9 on my system, which breaks my internet connection thru my ISA > ISDN-Card. > > The old code report the following IRQs for PCI-Devices: > > \_SB_.PCI0.LNKA irq 9: [ 1 3 4 5 6 7 10 11 12 14 15] > low,level,sharable 0.1.0 > \_SB_.PCI0.LNKB irq 11: [ 1 3 4 5 6 7 10 11 12 14 15] > low,level,sharable 0.1.1 > \_SB_.PCI0.LNKC irq 12: [ 1 3 4 5 6 7 10 11 12 14 15] > low,level,sharable 0.1.2 > \_SB_.PCI0.LNKD irq 11: [ 1 3 4 5 6 7 10 11 12 14 15] > low,level,sharable 0.1.3 > > which leeds later on to: > > pcib0: matched entry for 0.1.INTA (src \_SB_.PCI0.LNKA) > pcib0: slot 1 INTA is routed to irq 9 > pcib1: slot 0 INTA is routed to irq 9 > found-> vendor=0x10de, dev=0x0110, revid=0xa1 > bus=1, slot=0, func=0 > class=03-00-00, hdrtype=0x00, mfdev=0 > cmdreg=0x0007, statreg=0x02b0, cachelnsz=0 (dwords) > lattimer=0x20 (960 ns), mingnt=0x05 (1250 ns), maxlat=0x01 (250 ns) > intpin=a, irq=9 > > > > The new code instead reports: > > pcib0: matched entry for 0.1.INTA (src \_SB_.PCI0.LNKA) > pcib0: possible interrupts: 1 3 4 5 6 7 10 11 12 14 15 > ACPI PCI link arbitrated settings: > \_SB_.PCI0.LNKA (references 8, priority 175018): > interrupts: 10 5 11 7 6 4 3 12 15 14\ > 1 > penalty: 1280 1330 2720 6280 6280 6280 6280 6360 51280\ > 51280101280 > atpic: Programming IRQ10 as level/low > pcib0: slot 1 INTA routed to irq 10 via \_SB_.PCI0.LNKA > pcib1: slot 0 INTA is routed to irq 10 > found-> vendor=0x10de, dev=0x0110, revid=0xa1 > bus=1, slot=0, func=0 > class=03-00-00, hdrtype=0x00, mfdev=0 > cmdreg=0x0007, statreg=0x02b0, cachelnsz=0 (dwords) > lattimer=0x20 (960 ns), mingnt=0x05 (1250 ns), maxlat=0x01 (250 ns) > intpin=a, irq=10 > > > How come???!!! Why gets this PCI-bridge a different IRQ? IRQ10 is not > available for PCI devices, it is marked as "Legacy ISA" in the BIOS > setup and this was respected all the time. I tried "PnP-OS YES/NO" in > the BIOS, but this didn't change anything. > > I don't believe that the BIOS is buggy because this board (EPoX 8KTA2) > had worked with the FreeBSD ACPI code for some time now without any > problems. Umm the list of IRQ numbers is the list of valid IRQs. Your BIOS is _ineded_ buggy. Note that for the IRQ in question it says this: \_SB_.PCI0.LNKA irq 9: [ 1 3 4 5 6 7 10 11 12 14 15] low,level,sharable 0.1.0 I.e., I'm using IRQ 9, but 9 is not in the list of valid IRQs which includes 1, 3, 4, 5, 6, 7, 10, 11, 12, 14, and 15. Thus, the kernel believes what your broken BIOS says and throws out IRQ 9 and tries to use IRQ 10 instead, which your BIOS claims is open for use even though you've told it its not. One thing you can try is a patch Nate has to always treat ACPI's interrupt (IRQ 9 usually) as a valid interrupt for the link device to use. -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org