Re: [patch 2.5] tg3.c: pci_{save,restore}_extended_state

Wiedemeier, Jeff (Jeff.Wiedemeier@hp.com)
Fri, 24 Jan 2003 15:24:53 -0500


On Fri, Jan 24, 2003 at 03:05:38PM -0500, Jeff Garzik wrote:
> On Fri, Jan 24, 2003 at 03:00:06PM -0500, Wiedemeier, Jeff wrote:
> > The problem is that if the chip is configured for MSI (through config
> > space) and the platform's irq mapping code therefore filled in
> > pci_dev->irq with an appropriate vector for the MSI interrupt the chip
> > is assigned instead of the LSI interrupt it may also be assigned, then
> > unless MSGINT_MODE matches PCI_MSI_FLAGS_ENABLE, the driver will grab
> > wrong interrupt.
>
> That implies we should be disabling PCI_MSI_FLAGS_ENABLE when we first
> initialize each board, if hardware reset does not automatically do that
> for us...

A true hardware reset does reset this bit. It should only be disabled
arbitrarily if the intent is to *never* use MSI.

The PCI 2.2 spec states about PCI_MSI_FLAGS_ENABLE:

If 1, the function is permitted to use MSI to request service
and is prohibited from using it's INTx# pin (if implemented).

The fact that the tg3 has an extra config register that has to be set on
top of this is not consistent with the spec.

If the intent is to just not use MSI on tg3 devices, I can use the pci
quirks to make sure that MSI gets turned off for tg3 devices.

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