Messages in this thread Patch in this message | | | Date | Tue, 25 Oct 2011 10:30:20 +0200 | From | Takashi Iwai <> | Subject | Re: [GIT PULL] sound fix for 3.1 |
| |
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 },
| |