[coreboot] MSI 7250 (MCP55 based) pci slots Interrupts problem
George V. Adamov
george at kami.ru
Wed Mar 26 13:29:36 CET 2008
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, ((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
write_pirq_info(pirq_info, 0x01, ((sbdn+0x00)<<3)|0, 0x80/*80*/, 0x0800,
0x00, 0x0000, 0x00, 0x0000, 0x00, 0x00000, 0x1, 0x0);
write_pirq_info(pirq_info, 0x01, ((sbdn+0x01)<<3)|0,
0x81/*81*/,/*0x0800*/ 0x0800, 0x00,/*0x0*/ 0x0000, 0x00,/*0x0*/ 0x0000,
0x00, 0x00000, 0x2, 0x0);
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 ?
More information about the coreboot