Re: [PATCH] Unbreak MSI on ATI devices

From: Daniel Barkalow
Date: Fri Jan 05 2007 - 18:57:41 EST


On Thu, 4 Jan 2007, Roland Dreier wrote:

> > So my question is - what is real reason for disabling INTX when in MSI mode?
> > According to PCI spec it should not be needed, and it hurts at least chips
> > listed below:
> >
> > 00:13.0 0c03: 1002:4374 USB Controller: ATI Technologies Inc IXP SB400 USB Host Controller
> > 00:13.1 0c03: 1002:4375 USB Controller: ATI Technologies Inc IXP SB400 USB Host Controller
> > 00:13.2 0c03: 1002:4373 USB Controller: ATI Technologies Inc IXP SB400 USB2 Host Controller
>
> heh... I'm not gloating or anything... but I am glad that some ASIC
> designer was careless enough to prove me right when I said going
> beyond what the PCI spec requires is dangerous.

No more dangerous than expecting exactly following the PCI spec to be
sufficient; at least some nVidia devices misbehave if you don't disable
INTx when using MSI, while at least some ATI devices misehave if you do
disable INTx. The only *safe* thing is to ignore the PCI spec and match
the behavior of Windows. In this case, that's just don't use MSI yet.

Of course, this should be relatively easy to handle with quirks,
especially if it's predictable which hardware bug you get from the vendor
id.

-Daniel
*This .sig left intentionally blank*
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/