Re: [patch] PCI: disable MSI on more ATI NorthBridges

From: Jeff Garzik
Date: Tue Oct 23 2007 - 06:14:19 EST


Krzysztof Halasa wrote:
Jeff Garzik <jeff@xxxxxxxxxx> writes:

Note that INTX_DISABLE is a recent addition to PCI.

It's PCI 2.3.

Yes.


Older PCI devices
support neither MSI nor INTX-disable, so make sure such devices don't
creep into your sample.

MSI has been introduced by PCI 2.2 (and thus PCI-X 1.0) so there may
be devices with MSI but without INTx-disable bit. I guess I have some
early PCI-X hardware with MSI but I don't know if they have INTx-disable
bit and I can't currently test that.
And it probably doesn't matter.

Time will tell :)


In general it is documented that INTX_DISABLE should apply only to
INTx# so devices that disable MSI based on that bit are out of spec.

The wording is:
10: This bit disables the device from asserting INTx#. A value of 0
enables the assertion of its INTx# signal. A value of 1 disables the
assertion of its INTx# signal. This bit's state after RST# is 0. Refer
to Section 6.8.1.3 for control of MSI.

So strictly speaking it mandates disabling/enabling INTx but says
nothing about other things (e.g. MSI). Some common sense dictates
it shouldn't disable MSI, I guess.

The "MSI Enable" description doesn't leave any doubt:
0: MSI Enable: If 1, the function is permitted to use MSI to request
service and is prohibited from using its INTx# pin [...]

Right. I was merely describing the end result, the union of that language as it applies to the kernel.

Jeff


-
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/