interrupt not recognized



Hi,
i have a problem regarding a device that sends an interrupt which is not
catched on my ISR routine.
my driver (WDF based) manages 8 different devices (on board DSPs). each
device can issue an interrupt and thus creates its own interrupt object. now,
some of the devices that send an interrupt are handled correctly but others
don't. since every device is mapped in my driver side (mapped by its PCI info
values like bus number and device number) i can see that only the four devies
on the higher pci bus are causing a problem. the problem is that when an
interrupt is issued by one of the problematic devices, i break in my ISR
routine and i can see that the devices i retrieve from the interrupt object
are all but the device that issued the interrupt - again - i can tell this by
the pci values that i save for each device(that of caurse causes a problem
since i actually do not release any interrupt).
im beginning to suspect some hardware directions in my investigation. i want
to give another piece of info - the 8 DSPs on the board are coupled to
interrupts lines - A B C D - got that info from the HW team. for eample,
device1 and device8 are bounded to interrupt line A. on the other hand, when
i look through the OS pci info i see that device1 has IntLine = 4 and device8
has IntLine = "a value different than 4" ( what is actually the meaning of
IntLine ?).
so, this problem seem to be a difficult one since there are many options here.
i hope that my explanation is clear even though i'm having a very hard time
to phrase it.


thanks a lot,
kobi.
.



Relevant Pages

  • Re: can someone explain...[ PCI interrupts]
    ... interrupts for PCI devices are roughly split up into two categories: INTx interrupt lines and MSI interrupts. ... Each processor contains a local APIC that can receive messages from other APICs and send messages to other local APICs. ... Basically, an IRQ value is a cookie useful for binding a device interrupt tuple or an ISA IRQ) to a x86 interrupt tuple. ...
    (freebsd-current)
  • 2.6.17-rc3 "Bus #03 (-#06) is hidden behind transparent bridge"
    ... PCI: PCI BIOS revision 2.10 entry at 0xf031f, ... ACPI: Interpreter enabled ... Using PIC for interrupt routing ... Using APIC driver default ...
    (Linux-Kernel)
  • Re: wont work: 2.6.0 && SiI 3112 SATA
    ... PCI: PCI BIOS revision 2.10 entry at 0xf0031, ... PCI: Found IRQ 10 for device 0000:00:1f.1 ... hde: lost interrupt ...
    (Linux-Kernel)
  • Re: Thinkpad X31 und CF-Card-Reader
    ... ACPI: bus type pci registered ... Embedded Controller interrupt mode. ... hde: ... ide: failed opcode was: unknown ...
    (de.comp.os.unix.linux.hardware)
  • Re: can someone explain...[ PCI interrupts]
    ... interrupts for PCI devices are roughly split up into two categories: INTx interrupt lines and MSI interrupts. ... Each processor contains a local APIC that can receive messages from other APICs and send messages to other local APICs. ... Basically, an IRQ value is a cookie useful for binding a device interrupt tuple or an ISA IRQ) to a x86 interrupt tuple. ...
    (freebsd-current)