lkml.org 
[lkml]   [2006]   [Oct]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[RFC: 2.6.19 patch] snd-hda-intel: default MSI to off
On Thu, Oct 05, 2006 at 11:08:57PM +0200, Prakash Punnoor wrote:
> Am Donnerstag 05 Oktober 2006 19:30 schrieb Fatih A????c??:
> > 2006/10/5, Prakash Punnoor <prakash@punnoor.de>:
> > > Hi,
> > >
> > > subjects say it all. Without irqpoll my nic doesn't work anymore. I added
> > > Ingo
> > > to cc, as my IRQs look different, so it may be a prob of APIC routing or
> > > the
> > > like.
>
> > > Can you try booting with pci=nomsi ? I have a similar problem with my
>
> I used snd-hda-intel.disable_msi=1 and this actually helped! Now the nforce
> nic works w/o problems. So it was the audio driver causing havoc on the nic.
>...

Unless someone finds and fixes what causes such problems, I'd therefore
suggest the patch below to let MSI support to be turned off by default.

cu
Adrian


<-- snip -->


As reported in http://lkml.org/lkml/2006/10/7/164, MSI support in
snd-hda-intel seems to break some previously working setups.

Signed-off-by: Adrian Bunk <bunk@stusta.de>

---

Documentation/sound/alsa/ALSA-Configuration.txt | 2 +-
sound/pci/hda/hda_intel.c | 14 +++++++-------
2 files changed, 8 insertions(+), 8 deletions(-)

--- linux-2.6/Documentation/sound/alsa/ALSA-Configuration.txt.old 2006-10-17 18:11:48.000000000 +0200
+++ linux-2.6/Documentation/sound/alsa/ALSA-Configuration.txt 2006-10-17 18:12:54.000000000 +0200
@@ -753,7 +753,7 @@
position_fix - Fix DMA pointer (0 = auto, 1 = none, 2 = POSBUF, 3 = FIFO size)
single_cmd - Use single immediate commands to communicate with
codecs (for debugging only)
- disable_msi - Disable Message Signaled Interrupt (MSI)
+ enable_msi - Enable Message Signaled Interrupt (MSI)

This module supports one card and autoprobe.

--- linux-2.6/sound/pci/hda/hda_intel.c.old 2006-10-17 18:10:05.000000000 +0200
+++ linux-2.6/sound/pci/hda/hda_intel.c 2006-10-17 18:10:56.000000000 +0200
@@ -55,7 +55,7 @@
static int position_fix;
static int probe_mask = -1;
static int single_cmd;
-static int disable_msi;
+static int enable_msi;

module_param(index, int, 0444);
MODULE_PARM_DESC(index, "Index value for Intel HD audio interface.");
@@ -69,8 +69,8 @@
MODULE_PARM_DESC(probe_mask, "Bitmask to probe codecs (default = -1).");
module_param(single_cmd, bool, 0444);
MODULE_PARM_DESC(single_cmd, "Use single command to communicate with codecs (for debugging only).");
-module_param(disable_msi, int, 0);
-MODULE_PARM_DESC(disable_msi, "Disable Message Signaled Interrupt (MSI)");
+module_param(enable_msi, int, 0);
+MODULE_PARM_DESC(enable_msi, "Enable Message Signaled Interrupt (MSI)");


/* just for backward compatibility */
@@ -1381,7 +1381,7 @@
azx_free_cmd_io(chip);
if (chip->irq >= 0)
free_irq(chip->irq, chip);
- if (!disable_msi)
+ if (enable_msi)
pci_disable_msi(chip->pci);
pci_disable_device(pci);
pci_save_state(pci);
@@ -1395,7 +1395,7 @@

pci_restore_state(pci);
pci_enable_device(pci);
- if (!disable_msi)
+ if (enable_msi)
pci_enable_msi(pci);
/* FIXME: need proper error handling */
request_irq(pci->irq, azx_interrupt, IRQF_DISABLED|IRQF_SHARED,
@@ -1437,7 +1437,7 @@

if (chip->irq >= 0) {
free_irq(chip->irq, (void*)chip);
- if (!disable_msi)
+ if (enable_msi)
pci_disable_msi(chip->pci);
}
if (chip->remap_addr)
@@ -1523,7 +1523,7 @@
goto errout;
}

- if (!disable_msi)
+ if (enable_msi)
pci_enable_msi(pci);

if (request_irq(pci->irq, azx_interrupt, IRQF_DISABLED|IRQF_SHARED,
-
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/

\
 
 \ /
  Last update: 2006-10-17 23:15    [W:0.114 / U:1.996 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site