On 2011-05-20 15:46, 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.
Hey, you're faster than I am :-) Ok, so there actually is a FIFO register (I read the wrong table). But the position buffer is dead and always read as zero. I did some debug print which is pasted here: http://paste.ubuntu.com/610637/ If LPIB only gives you occasional recording noises, perhaps we need a new type of position-fix that adds some margin (e g round down to nearest multiple of fifo-size, then subtract one fifo-size or something)? -- David Henningsson, Canonical Ltd. http://launchpad.net/~diwic -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/741825 Title: ATI controllers [1002:4383] and [1002:4383] (rev 40): Intermittent record and jack sense failure -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
