Re: [REGRESSION bisected] Sound goes too fast due to commit 7b3a177b0

From: Takashi Iwai
Date: Wed Apr 14 2010 - 09:39:26 EST


At Wed, 14 Apr 2010 13:54:48 +0200,
Ãric Piel wrote:
>
> On 14/04/10 13:22, Ãric Piel wrote:
> :
> > I don't fully grasp the meaning of bdl_pos_adj, so I don't know if it's
> > a bug to not play correctly when forcing it to 0. Is it?
> >
> > I'll ask to another reporter who had the same problem if bdl_pos_adj is
> > also set to 0...
> Frank (cc'd here) has the same problem of music going too fast (on a
> 2.6.33 kernel with the "culprit" commit applied). On his system "cat
> /sys/module/snd_hda_intel/parameters/bdl_pos_adj" gives:
> 32,32,-1,-1,-1,-1,-1,-1
>
> He also mentioned that on another system also using snd_hda_intel, with
> the same bdl_pos_adj, it works fine.

bdl_pos_adj is really a workaround for devices that report wrong DMA
position (or at the wrong timing). I guess position_fix=1 may fix
better.

Although the driver already has a dynamic switching of position_fix
method, it checks only the very first read. If it gives a (more or
less) sane value, it prefers the position-buffer method (corresponding
to position_fix=2) rather than reading LPIB register
(position_fix=1).

It seems, however, that more devices work sanely with LPIB reg
nowdays. This wasn't the case formerly. So, it might be better to
use position_fix=1 as default for modern systems...


Takashi
--
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/