disable IRQ from PCI board.

Hi everyone.
May be somebody already explained that before, but again… =)
I have a cPCI board which needs only powersupply from our cPCI chassis.
But the board (MCPN907) is “peripheral” board with pci interface and,
so, it has memory/io/INTA/irq allocated for it in pci configuration.
Manual for the board says, that board can generate interrupts in some
cases (like temperature alarm, boot over pci, etc). We dont have any
references how to handle those interrupts, so i would like just to
disable ANY POSSIBLE communications from board(and provide only power).
I thought may be disabling IO and MEM in command register would not be
enough - because this changes only if board treats those addresses as
own. And the worst thing for me is “possible” interrupt from board
(because i dont know how to clear it). I found that there is a bit in
command register which says “disable interrupt”. I just dont know if
this would be enough or i need to disable the irq line in “irq
router”?.. Not sure yet if that interrupt means to “switch board to
poll-only mode” or it means disable MSI notification on board. So, any
ideas how to disable interrupts from board (not masking - because it’s
shareble) would be really appreciated.

Thanks, everyone.
Andrey.

Normally, all QNX IRQs are masked, until a device driver for a peripheral
causes the interrupt to be unmasked, by either doing an InterruptAttach()
or InterruptAttachEvent() call. So, as long as the driver for this card
is not doing that, you should be OK (and it sounds as though you are not
actually running any driver on this card). If you’re concerned that this
will not be enough, since some other device driver may unmask the same
(shared) PCI interrupt that this device connects to, then you will need
to disable all interrupts coming from the card, probably via the “disable
interrupt” bit in the command register that you mentioned. In any case, I’d
think that the board would be configured to have interrupts disabled, by
default, until software explicitly enables them - the board docs should
say for sure.


andrei <caa054@donotspam.motorola.com> wrote:

Hi everyone.
May be somebody already explained that before, but again… =)
I have a cPCI board which needs only powersupply from our cPCI chassis.
But the board (MCPN907) is “peripheral” board with pci interface and,
so, it has memory/io/INTA/irq allocated for it in pci configuration.
Manual for the board says, that board can generate interrupts in some
cases (like temperature alarm, boot over pci, etc). We dont have any
references how to handle those interrupts, so i would like just to
disable ANY POSSIBLE communications from board(and provide only power).
I thought may be disabling IO and MEM in command register would not be
enough - because this changes only if board treats those addresses as
own. And the worst thing for me is “possible” interrupt from board
(because i dont know how to clear it). I found that there is a bit in
command register which says “disable interrupt”. I just dont know if
this would be enough or i need to disable the irq line in “irq
router”?.. Not sure yet if that interrupt means to “switch board to
poll-only mode” or it means disable MSI notification on board. So, any
ideas how to disable interrupts from board (not masking - because it’s
shareble) would be really appreciated.

Thanks, everyone.
Andrey.

David Green (dgreen@qnx.com)
QNX Software Systems Ltd.
http://www.qnx.com