[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <45BC5919.8030004@zytor.com>
Date: Sun, 28 Jan 2007 00:04:41 -0800
From: "H. Peter Anvin" <hpa@...or.com>
To: Andreas Block <andreas.block@...-electronics.com>
CC: Xavier Bestel <xavier.bestel@...e.fr>, linux-kernel@...r.kernel.org
Subject: Re: Bugfixes: PCI devices get assigned redundant IRQs
Andreas Block wrote:
>>
>> Aren't there platforms for which irq = 0 is a valid irq ?
>
> As far as I understand the PCI spec, the answer to your question seems
> to be: no
> (or I'm missing something).
>
> Don't get me wrong. I'm not talking about system IRQs, but about the
> value of the Interrupt Pin Register in PCI configuration space.
>
> The PCI Local Bus Specification in Revision 3.0 from 3rd February 2004
> says on page 223 about the content of Interrupt Pin register:
>
> Value 0x00: _No_ interrupt
> Values 0x01 to 0x04: Interrupt lines A to D
> And values 5 to 0xFF are reserved.
>
> So I'd say, the "correction" of greater values than four to a value of
> one seems discussable, too. Because it will break any future changes of
> the PCI spec.
>
I think you're confusing the Interrupt Line register and the Interrupt
Pin register. The Interrupt Line register is platform-dependent, but on
x86 platforms it generally contains the IRQ number (and IRQ 0 is valid,
although in practice it is never used since IRQ 0 is the system timer
and is never connected to the PCI bus), or 255 meaning "none" -- see the
footnote on page 223 of the PCI 3.0 spec.
-hpa
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists