[2430] in linux-scsi channel archive
Re: NCR 810 IRQ's
daemon@ATHENA.MIT.EDU (Gerard Roudier)
Sun Sep 7 06:06:56 1997
Date: Sun, 7 Sep 1997 11:36:57 +0200 (MET DST)
From: Gerard Roudier <groudier@club-internet.fr>
To: Michael Kenyon <mike@swanmore.demon.co.uk>
cc: linux-scsi@vger.rutgers.edu
In-Reply-To: <199709061701.SAA01798@swanmore.demon.co.uk>
On Sat, 6 Sep 1997, Michael Kenyon wrote:
> I have just purchased a 486-PSD-IO board with an on-board NCR810 controller.
> There is a jumper that selects whether the SCSI host uses IRQ9 or 11. When
> the jumper is set to 9, everything is fine. When the jumper is set to 11,
> DOS runs fine but the drivers claim that it is still using IRQ9. Linux also
> claims IRQ9 but then procedes to get nowhere with the controller; either
> failing to recognise it spewing up lots of time-out messages. The board is
> PCI. Any ideas?
I donnot have information about your Mother board.
As far as I can remember, PCI interrupt lines to IRQ levels routing is
dynamically assigned by the PCI BIOS at start-up and this information
is stored in the PCI configuration space of each PCI device.
The actual 'interrupt routing' and the PCI configuration space of
PCI devices must be coherent. Otherwise, interrupt may not to be
delivered on the IRQs drivers are expecting to receive them.
The driver read the IRQ level from the PCI configuration space.
If the value is 9, then it assumes that the PCI BIOS has done
correctly its work and ask the kernel to dispatch interrupts
from IRQ9 to its interrupt handler.
In my opinion, your PCI BIOS is the culprit, unless you missed
something on jumpers assignations.
Normally, each PCI devices uses PCI INTA for function 0. For each
device, this PCI line must be routed to an IRQ level in order to
generate interrupts to the host when the PCI device asserts INTA.
Selecting PCI INTA/B/C/D lines using jumpers is acceptable, even
if it is recommended to use INTA for non multifunction PCI devices.
However, selecting directly the IRQ of a PCI device by jumpers is,
in my opinion, very confusing, since it hides the real stuff about
PCI interrupts assignation.
Gerard.