Re: [git patch] improve INTx toggle for PCI MSI

From: Andrew Morton
Date: Thu Dec 07 2006 - 18:09:13 EST


On Thu, 7 Dec 2006 17:58:12 -0500
Jeff Garzik <jeff@xxxxxxxxxx> wrote:

>
> "it boots" on ICH7 at least.

That's a rave review ;)

> Please pull from 'intx' branch of
> master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/misc-2.6.git intx
>
> to receive the following updates:
>
> drivers/pci/msi.c | 12 ++++--------
> 1 files changed, 4 insertions(+), 8 deletions(-)
>
> Jeff Garzik:
> PCI MSI: always toggle legacy-INTx-enable bit upon MSI entry/exit

Why?

> diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c
> index 9fc9a34..c2828a3 100644
> --- a/drivers/pci/msi.c
> +++ b/drivers/pci/msi.c
> @@ -255,10 +255,8 @@ static void enable_msi_mode(struct pci_d
> pci_write_config_word(dev, msi_control_reg(pos), control);
> dev->msix_enabled = 1;
> }
> - if (pci_find_capability(dev, PCI_CAP_ID_EXP)) {
> - /* PCI Express Endpoint device detected */
> - pci_intx(dev, 0); /* disable intx */
> - }
> +
> + pci_intx(dev, 0); /* disable intx */
> }
>
> void disable_msi_mode(struct pci_dev *dev, int pos, int type)
> @@ -276,10 +274,8 @@ void disable_msi_mode(struct pci_dev *de
> pci_write_config_word(dev, msi_control_reg(pos), control);
> dev->msix_enabled = 0;
> }
> - if (pci_find_capability(dev, PCI_CAP_ID_EXP)) {
> - /* PCI Express Endpoint device detected */
> - pci_intx(dev, 1); /* enable intx */
> - }
> +
> + pci_intx(dev, 1); /* enable intx */
> }
>
> static int msi_lookup_irq(struct pci_dev *dev, int type)
-
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/