MSI MS7250 - MCP 55 based motherboard. I have troubles with interrupts of devices plug in PCI slots.
If I use irq_tables.c with only record for irq router (just like it is for Gigabyte based on MCP55 and MSI7260 ):
write_pirq_info(pirq_info, bus_mcp55[0], ((sbdn+6)<<3)|0, 0x1, 0xdef8, 0x2, 0xdef8, 0x3, 0xdef8, 0x4, 0xdef8, 0, 0);
Linux says that no interrupt for pin A assigned for devices in pcis slots.
I grubbed IRQ table with getpir and added records for other devices. As for pci slots it looks like
/*slot0*/ write_pirq_info(pirq_info, 0x01, ((sbdn+0x00)<<3)|0, 0x80/*80*/, 0x0800, 0x00, 0x0000, 0x00, 0x0000, 0x00, 0x00000, 0x1, 0x0); pirq_info++; slot_num++;
/*slot1*/ write_pirq_info(pirq_info, 0x01, ((sbdn+0x01)<<3)|0, 0x81/*81*/,/*0x0800*/ 0x0800, 0x00,/*0x0*/ 0x0000, 0x00,/*0x0*/ 0x0000, 0x00, 0x00000, 0x2, 0x0); pirq_info++; slot_num++;
/*slot2*/ write_pirq_info(pirq_info, 0x01, ((sbdn+0x02)<<3)|0, 0x82,/*0x4ca0*/ 0x4c80, 0x83, 0x4ca0, 0x80, 0x4ca0, 0x81, 0x04ca0, 0x3, 0x0);
And I also used function pci_assign_irqs - to write irqs from the table into configuration space of each device
After this the device plug in pci slot0 starts up (it was a network card), but running cat /proc/interrupts - showed strange CPU time for eth0 (at least 3 orders higher than any other device) it was also easy to note that system was a bit slow with ethernet card pluged. But at least card worked ;)
I tried to plug it to slot1 and slot2 - when Linux tried to load module for the card I got NMI ((((
Any ideas what the trouble is ?