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

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


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/



This archive was generated by hypermail 2b29 : Fri Jan 31 2003 - 22:00:12 EST