PCI Card Interrupt

I m writing a device driver for an ATM (LANE) card installed on the PCI bus.
When I 'm running the program an interrupt (which is suppose to happen on a
reception af an ATM cell) never seems to occur (the ATM switch is connected
to the card).
How can I determine which number to use as the first parameter in the
qnx_hint_attach() function??
Use of the show_pci utility returns as PCI int pin 1 and in the Interrupt
Line field I see the indication “no connection”.
Suppose that the reason no interrupt occurs is because there is no
connection between the card and the systems interrupt controller (that’s why
I see “no connection” in the Int Line field right??);Are there any
suggestions about how to deal with this?
After I restore this problem,which value returned from the show_pci function
should I use?The PCI int or the Int Line??
When I use the pci_write utility to change the PCI int number and then
reboot the system, the parameter returns to it’s previous value!
Why do I get that?
Can I get some help please?
Thanx in advance !

Akis <romeoita@yahoo.com> wrote:

How can I determine which number to use as the first parameter in the
qnx_hint_attach() function??
Use of the show_pci utility returns as PCI int pin 1 and in the Interrupt
Line field I see the indication “no connection”.
Suppose that the reason no interrupt occurs is because there is no
connection between the card and the systems interrupt controller (that’s why
I see “no connection” in the Int Line field right??);Are there any
suggestions about how to deal with this?
After I restore this problem,which value returned from the show_pci function
should I use?The PCI int or the Int Line??
When I use the pci_write utility to change the PCI int number and then
reboot the system, the parameter returns to it’s previous value!
Why do I get that?

That is expected behaviour – the PCI bus is a dynamic configuration
bus. It will be reconfigured on each boot – the BIOS may do this, or
it may be expected that the OS will do this.

Does your BIOS have a configuration that says something like “Plug and Play
aware OS”? If so, that should be set to false/no/off.

You should be looking at the “Interrupt Line” field in the show_pci output
for the irq to pass to qnx_hint_attach().

What you may have to do in your driver, is to include the code that
writes the interrupt line configuration to your card as part of your
initialization code.

Grab ftp.qnx.com:/usr/free/qnx4/os/utils/misc/pci_utils.tgz
I think it contains the source to pci_write.

If your program is going to use shared libs, or have a large stack, you
may also want:

ftp.qnx.com:/usr/free/qnx4/os/samples/misc/ca_pci_msg.tgz

which breaks the CA_PCI* calls out into a PCI server and sets up
a message-passing interface to it.

-David

QNX Training Services
dagibbs@qnx.com