07-09-2012 04:48 PM
From other design requirements, I'm currently bound to using Windows XP to implement my interrupt based DMA design using the 1.14 PCIe Endpoint Core (ie : Legacy Interrupts Only).
PCITree currently shows that my device's interrupt line is shared with about 8 other devices on the bus (All on Line 0). I was curious if anyone has figured out how to change this to another interrupt line (maybe to one that's not so crowded?).
In the UG341 User Guide, it talks about changing the cfg_interrupt_di pins to change to INTA/B/C/D .... how does this effect Window's mapping of the Interrupt Line?
Still pretty hazy on the matter, any insight would be appreciated.
07-11-2012 04:07 PM
I played around with the INTLN register (offset 0x3C) in the PCI configuration space, and if you overwrite the least significant nibble with your desired interrupt line (0-15), it will change it within Windows (detected via pci tree or device manager).
From the PCIE endpoint docs, it sounds like this needs to be written from the user software application side rather then controlled in firmware.
Still need to do some more reading on how INTA/B/C/D are mapped over to the 16 interrupt lines that are in Windows.