At Thu, 8 May 2014 09:37:13 +0000, Lin, Mengdong wrote:
Hi Takashi,
Is it possible to accept this patch as a quick fix?
Well, the question is whether this is specific to this board, or it's a generic issue of BDW HDMI controller. In the latter case, the fix is done in a wrong place.
It seems that a driver regression triggers this issue, since we don't have this problem two weeks ago. We're still trying to locate the regression and checking the root cause.
If it's a recent regression, I don't think it's good to apply a bandaid. There must be a cause (e.g. something changed in the graphics side) to fix properly.
This patch could avoid audio degradation atm before we have a better solution.
The workaround can be applied easily via module option, and the machine isn't in the market yet. So I see no point to hurry too much for now...
thanks,
Takashi
Thanks Mengdong
-----Original Message----- From: Takashi Iwai [mailto:tiwai@suse.de] Sent: Thursday, May 08, 2014 2:40 PM To: Yang, Libin Cc: alsa-devel@alsa-project.org; Lin, Mengdong; Pierre-Louis Bossart Subject: Re: [PATCH] ALSA: hda - using POS_FIX_LPIB on Broadwell HDMI Audio
At Thu, 8 May 2014 06:28:17 +0000, Yang, Libin wrote:
Hi Takashi,
-----Original Message----- From: Takashi Iwai [mailto:tiwai@suse.de] Sent: Thursday, May 8, 2014 2:20 PM To: Yang, Libin Cc: alsa-devel@alsa-project.org; Lin, Mengdong; Pierre-Louis Bossart Subject: Re: [PATCH] ALSA: hda - using POS_FIX_LPIB on Broadwell HDMI Audio
At Thu, 8 May 2014 06:13:31 +0000, Yang, Libin wrote:
Hi Takashi,
-----Original Message----- From: Takashi Iwai [mailto:tiwai@suse.de] Sent: Thursday, May 8, 2014 1:51 PM To: Yang, Libin Cc: alsa-devel@alsa-project.org; Lin, Mengdong; Pierre-Louis Bossart Subject: Re: [PATCH] ALSA: hda - using POS_FIX_LPIB on Broadwell HDMI Audio
At Thu, 8 May 2014 05:48:04 +0000, Yang, Libin wrote: > > Hi Takashi, > > I checked the wallclock counter. The counter is OK. But it > failed to correct the position.
So, how wrong the position buffer is? Is the problem intermittent? Please elaborate more.
The issue is the position is almost always inaccurate. You will hear there is
intermittent noise in the sound. And the sound is played faster than it should be.
The following message is what I got from dmesg:
[ 73.278117] snd_hda_intel 0000:00:03.0: IRQ timing workaround is
activated for card #0. Suggest a bigger bdl_pos_adj.
[ 73.528575] snd_hda_intel 0000:00:03.0: Unstable LPIB (26240 >= 24064); disabling LPIB delay counting
Do you think the print of wallclk and position information in the function
azx_position_ok() is useful to you? If yes, I will add debug code to print the info.
It'd better to have the raw values of posbuf, lpib and wallclock for further analysis, yes.
BTW, did you try non-snoop mode via snoop=0 option?
I haven't tried non-snoop. Do I use `modprobe snd-hda-intel snoop=0` to use
non-snoop mode?
Yes.
Takashi