Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755619Ab0DNNjX (ORCPT ); Wed, 14 Apr 2010 09:39:23 -0400 Received: from cantor2.suse.de ([195.135.220.15]:39271 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755521Ab0DNNjW (ORCPT ); Wed, 14 Apr 2010 09:39:22 -0400 Date: Wed, 14 Apr 2010 15:39:20 +0200 Message-ID: From: Takashi Iwai To: =?UTF-8?B?w4lyaWM=?= Piel Cc: Jaroslav Kysela , "Rafael J. Wysocki" , Linux Kernel Mailing List , alsa-devel@alsa-project.org, Frank Griffin Subject: Re: [REGRESSION bisected] Sound goes too fast due to commit 7b3a177b0 In-Reply-To: <4BC5AD08.8040606@tremplin-utc.net> References: <4BC4E812.6050602@tremplin-utc.net> <4BC5A566.8060106@tremplin-utc.net> <4BC5AD08.8040606@tremplin-utc.net> User-Agent: Wanderlust/2.15.6 (Almost Unreal) SEMI/1.14.6 (Maruoka) FLIM/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL/10.7 Emacs/23.1 (x86_64-suse-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1546 Lines: 39 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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/