[alsa-devel] Should we really use POS_FIX_VIACOMBO for AMD/ATI chipsets?

Takashi Iwai tiwai at suse.de
Fri May 20 16:19:57 CEST 2011


At Fri, 20 May 2011 15:46:37 +0200,
Takashi Iwai wrote:
> 
> At Fri, 20 May 2011 15:33:56 +0200,
> David Henningsson wrote:
> > 
> > I'm far from sure, but I could be on to something...
> > 
> > Looking at the code for azx_via_get_position, it seems that for 
> > recording streams, it accesses a register at position 
> > VIA_IN_STREAM0_FIFO_SIZE_OFFSET = 0x90. Looking at the datasheet for 
> > SB700, that register is not even present. This does not seem right to me.
> > 
> > Could it be that we should use POS_FIX_LPIB by default for AMD/ATI 
> > chipsets instead? It seems more reasonable to me.
> > In addition, I looked through some of the commits for quirking to 
> > POS_FIX_LPIB and the four I checked were all ATI chipsets.
> > 
> > So; I've tried adding:
> > options snd-hda-intel position_fix=1
> > to /etc/modprobe.d/alsa-base.conf
> > 
> > ...to my machine with the infamous [1002:4383] controller (and 
> > rebooted), and the few times I've tested, recording worked successfully 
> > with pulseaudio. So could you please follow this up with testing on your 
> > machines to see if we have actually managed to solve this long-standing bug?
> > 
> > The only annoying thing is that I didn't realise this earlier :-/
> 
> Hmm, I took this as default as it seems fixing the issue on machines,
> indeed.  Actually I had to use this option first for removing
> recording noises on AMD Hudson.  But, maybe I need to double-check
> again after the snoop bit and other workarounds.
> 
> The FIFO size might got wrong on AMD.  In that case, the driver
> calculates as if FIFO = 0.  But, it can still help for correcting the
> position via position-buffer vs LPIB comparison.
> 
> For the real check, we should put some debug prints on real machines.

Actually the values read there look not working with posbuf.
Let's fix them to use POS_FIX_LPIB now.

Thanks for remark!


Takashi


More information about the Alsa-devel mailing list