Re: [GIT PULL] sound fix for 3.1

From: Takashi Iwai
Date: Tue Oct 25 2011 - 04:30:22 EST


At Tue, 25 Oct 2011 09:02:46 +0200,
Andres Freund wrote:
>
> Hi,
>
> On Sunday, October 02, 2011 04:12:23 PM Takashi Iwai wrote:
> > The only commit to pull is 798cb7e897210dbf827f69a302c0967e0380ebac,
> > a fix for a regression introduced in 3.1-rc.
> Unfortunately that fix causes problems in audio playback for me. The audio
> seems to play faster and have rather large skips.
>
> Reverting that commit ontop of v3.1-rc10-2-gfb630b9 fixes that problem for me.
>
> 05:00.0 Audio device: Creative Labs [SB X-Fi Xtreme Audio] CA0110-IBG
> Subsystem: Creative Labs SB1040
> Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
> Stepping- SERR- FastB2B- DisINTx-
> Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
> <TAbort- <MAbort- >SERR- <PERR- INTx-
> Latency: 64 (500ns min, 5000ns max)
> Interrupt: pin A routed to IRQ 16
> Region 0: Memory at fb9fc000 (32-bit, non-prefetchable) [size=16K]
> Capabilities: [dc] Power Management version 3
> Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA
> PME(D0-,D1-,D2-,D3hot-,D3cold-)
> Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
> Kernel driver in use: snd_hda_intel
>
> Anything more you need?

Grrr, I hate this endless madness with the DMA position...

Could you try position_fix=1 or position_fix=2 option whether it
fixes the problem? If position_fix=1 works, try the patch below
without the option.


thanks,

Takashi

---
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
index bd7fc99..096507d 100644
--- a/sound/pci/hda/hda_intel.c
+++ b/sound/pci/hda/hda_intel.c
@@ -3063,12 +3063,12 @@ static DEFINE_PCI_DEVICE_TABLE(azx_ids) = {
.class = PCI_CLASS_MULTIMEDIA_HD_AUDIO << 8,
.class_mask = 0xffffff,
.driver_data = AZX_DRIVER_CTX | AZX_DCAPS_CTX_WORKAROUND |
- AZX_DCAPS_RIRB_PRE_DELAY },
+ AZX_DCAPS_RIRB_PRE_DELAY | AZX_DCAPS_POSFIX_LPIB },
#else
/* this entry seems still valid -- i.e. without emu20kx chip */
{ PCI_DEVICE(0x1102, 0x0009),
.driver_data = AZX_DRIVER_CTX | AZX_DCAPS_CTX_WORKAROUND |
- AZX_DCAPS_RIRB_PRE_DELAY },
+ AZX_DCAPS_RIRB_PRE_DELAY | AZX_DCAPS_POSFIX_LPIB },
#endif
/* Vortex86MX */
{ PCI_DEVICE(0x17f3, 0x3010), .driver_data = AZX_DRIVER_GENERIC },
--
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/