mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [git patch] improve INTx toggle for PCI MSI
@ 2006-12-07 22:58 Jeff Garzik
  2006-12-07 23:08 ` Andrew Morton
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Jeff Garzik @ 2006-12-07 22:58 UTC (permalink / raw)
  To: Andrew Morton, Linus Torvalds; +Cc: LKML, gregkh, barkalow


"it boots" on ICH7 at least.

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

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)

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [git patch] improve INTx toggle for PCI MSI
  2006-12-07 22:58 [git patch] improve INTx toggle for PCI MSI Jeff Garzik
@ 2006-12-07 23:08 ` Andrew Morton
  2006-12-07 23:09 ` Linus Torvalds
  2006-12-08 16:44 ` Daniel Barkalow
  2 siblings, 0 replies; 5+ messages in thread
From: Andrew Morton @ 2006-12-07 23:08 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: Linus Torvalds, LKML, gregkh, barkalow

On Thu, 7 Dec 2006 17:58:12 -0500
Jeff Garzik <jeff@garzik.org> 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)

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [git patch] improve INTx toggle for PCI MSI
  2006-12-07 22:58 [git patch] improve INTx toggle for PCI MSI Jeff Garzik
  2006-12-07 23:08 ` Andrew Morton
@ 2006-12-07 23:09 ` Linus Torvalds
  2006-12-08  3:00   ` Takashi Iwai
  2006-12-08 16:44 ` Daniel Barkalow
  2 siblings, 1 reply; 5+ messages in thread
From: Linus Torvalds @ 2006-12-07 23:09 UTC (permalink / raw)
  To: Jeff Garzik, Takashi Iwai; +Cc: Andrew Morton, LKML, gregkh, barkalow



On Thu, 7 Dec 2006, Jeff Garzik wrote:
> 
> "it boots" on ICH7 at least.

Ok. Pulled, pushed out.

There was some noise saying that this may actually fix the problems with 
the NVidia "Intel HDA" sound situation? Can people who saw that issue try 
it out whether this just makes MSI works for them?

Takashi added to the To: field, because he hopefully remembers and has a 
clue about the proper identities in question.. Iirc, you needed to have 
not only a NVidia chipset, but also have the legacy interrupt shared with 
some other device to see the problem.

		Linus

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [git patch] improve INTx toggle for PCI MSI
  2006-12-07 23:09 ` Linus Torvalds
@ 2006-12-08  3:00   ` Takashi Iwai
  0 siblings, 0 replies; 5+ messages in thread
From: Takashi Iwai @ 2006-12-08  3:00 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Jeff Garzik, Takashi Iwai, Andrew Morton, LKML, gregkh, barkalow

2006/12/8, Linus Torvalds <torvalds@osdl.org>:
>
>
> On Thu, 7 Dec 2006, Jeff Garzik wrote:
> >
> > "it boots" on ICH7 at least.
>
> Ok. Pulled, pushed out.
>
> There was some noise saying that this may actually fix the problems with
> the NVidia "Intel HDA" sound situation? Can people who saw that issue try
> it out whether this just makes MSI works for them?
>
> Takashi added to the To: field, because he hopefully remembers and has a
> clue about the proper identities in question.. Iirc, you needed to have
> not only a NVidia chipset, but also have the legacy interrupt shared with
> some other device to see the problem.

Well, I'm on vacation now, so cannot answer much, too :)

IIRC, the problem was with HD-audio and network devices on Nvidia.
The explicit call of pci_intx() (currently implemented in hd-audio
driver locally) helped avoiding the orphan irq problem, but doesn't
fix the MSI problem itself.  (Some might have been fixed indeed,
but I don't have reports in hands.)


Takashi

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [git patch] improve INTx toggle for PCI MSI
  2006-12-07 22:58 [git patch] improve INTx toggle for PCI MSI Jeff Garzik
  2006-12-07 23:08 ` Andrew Morton
  2006-12-07 23:09 ` Linus Torvalds
@ 2006-12-08 16:44 ` Daniel Barkalow
  2 siblings, 0 replies; 5+ messages in thread
From: Daniel Barkalow @ 2006-12-08 16:44 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: Andrew Morton, Linus Torvalds, LKML, gregkh

On Thu, 7 Dec 2006, Jeff Garzik wrote:

> "it boots" on ICH7 at least.

It solves my problem (and doesn't break anything).

	-Daniel
*This .sig left intentionally blank*

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2006-12-08 16:44 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-12-07 22:58 [git patch] improve INTx toggle for PCI MSI Jeff Garzik
2006-12-07 23:08 ` Andrew Morton
2006-12-07 23:09 ` Linus Torvalds
2006-12-08  3:00   ` Takashi Iwai
2006-12-08 16:44 ` Daniel Barkalow

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®