Subject: How does PCI device get its interrupt vector?

From: Jun Sun <[email-masked]>
Date: Wed, 19 Jul 2000 14:41:40 -0700

I am trying to get DDB5476 working and got puzzled by the interrupt
vector thing.

The on-board ether chip, a PCI device, apparently indicates it generates
interrupts and has an interrupt vector of 123.  Later on, when
tulip_open tries to call request_irq(123, ...), it returns with an error
because the vector is greater than 32.

Here are my questions :

1. Who wrote 123 to the ether chip?  That does not sound right to me at
first place.

2. Assuming the ether chip returns 0xFF (an invalid interrupt vector,
which I believe is the correct behavior), which part of Linux is
responsible to figure out the correct interrupt vector?  Here we do have
the interrupt pin information and interrupt routing information.  So we
should be able to tell what is the right interrupt vector number.

Any hints?  Thanks.

Jun

---

From: Jun Sun <[email-masked]>
Date: Wed, 19 Jul 2000 18:12:13 -0700

Jun Sun wrote:
> responsible to figure out the correct interrupt vector?  

Never mind.  I found the place.  It is in pcibios_fixup_irqs().

Jun