Understanding PCI Interrupt Routing on the x86 platform is a not entirely straight forward. The underlining principle is determining which interrupt is being asserted when a PCI interrupt signal occurs. Unfortunately this is generally platform specific and so firmware tables of various types have been used over the many years to describe the routing configuration.
While looking into the legacy PCI interrupt routing tables I found an excellent article by FreeBSD kernel hacker John Baldwin that explains PCI interrupt routing in a clear an succinct manner. Although written for FreeBSD, this article is contains a lot of Linux relevant information.