[coreboot] MSI 7250 (MCP55 based) pci slots Interrupts problem
yhlu
yinghailu at gmail.com
Thu Apr 10 20:15:08 CEST 2008
On Thu, Apr 10, 2008 at 6:40 AM, Carl-Daniel Hailfinger
<c-d.hailfinger.devel.2006 at gmx.net> wrote:
> Hi,
>
>
> On 10.04.2008 14:16, George V. Adamov wrote:
> > Hi evrybody!
> > I have already asked once about this problem, but no responce resieved,
> > so the question is - are the motherboards ms-7260 amd Gigabyte based on
> > MCP 55 truly full functional? I mean devices pluged in their pci slots -
> > are they really operatable?
> >
>
> This depends a lot on the boards. Unfortunately, there is not public
> documentation about MCP55 internals.
>
>
>
> > /*here is the old message, perhaps somebody could give an idea what the
> > trouble with pci slots could be*/
> >
> > 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 ?
> >
>
> Can you post a full boot log with debugging enabled? Please post a patch
> against current svn HEAD as well. That way, we have a chance to help you.
please make sure you are using 64bit SMP kernel.
BTW. the irq_tables.c is only used for discovering of peer root bus
other than bus0 when acpi is not there.
YH
YH
More information about the coreboot
mailing list