getpir just reads the $PIR table in memory as set by the bios.
I am wondering if the bios on your board is one of the defective BIOSes that doesn't have the $PIR entries for all devices. There are many of these. If so, you are going to have to hand-edit that .c file and add the entries yourself.
in the case of defective $PIR tables what the BIOS writers do is just set the IRQ line by hand in the pci device.
ron