From mboxrd@z Thu Jan 1 00:00:00 1970 From: Takashi Iwai Subject: Re: [PATCH] ALSA: hda - using POS_FIX_LPIB on Broadwell HDMI Audio Date: Thu, 08 May 2014 08:19:58 +0200 Message-ID: References: <1399485804-75028-1-git-send-email-libin.yang@intel.com> <96A12704CE18D347B625EE2D4A099D195232A6@SHSMSX103.ccr.corp.intel.com> <96A12704CE18D347B625EE2D4A099D19523313@SHSMSX103.ccr.corp.intel.com> Mime-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mx2.suse.de (cantor2.suse.de [195.135.220.15]) by alsa0.perex.cz (Postfix) with ESMTP id 3C07326547F for ; Thu, 8 May 2014 08:19:59 +0200 (CEST) In-Reply-To: <96A12704CE18D347B625EE2D4A099D19523313@SHSMSX103.ccr.corp.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: alsa-devel-bounces@alsa-project.org To: "Yang, Libin" Cc: "Lin, Mengdong" , "alsa-devel@alsa-project.org" , Pierre-Louis Bossart List-Id: alsa-devel@alsa-project.org 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? Takashi > > > > > > > Takashi > > > > > This issue happens when we play sound on HDMI audio. We have tried > > with aplay and paplay. > > > > > > I have tried the buffer size of 16384, 8192 and 4096 and with the sample > > rate of 48KHz and 44.1KHz. > > > > > > Regards, > > > Libin > > > > > > > -----Original Message----- > > > > From: Takashi Iwai [mailto:tiwai@suse.de] > > > > Sent: Thursday, May 8, 2014 1:09 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 02:03:24 +0800, > > > > libin.yang@intel.com wrote: > > > > > > > > > > From: Libin Yang > > > > > > > > > > Audio stream is not continuous if using position buffer on > > > > > Broadwell HDMI audio. Sound is clipped. > > > > > Fix this issue by using POS_FIX_LPIB. > > > > > > > > That's odd. The recent Intel hardware has a wallclock support, so > > > > the position should be corrected by that. > > > > > > > > In which situation did the problem happen? Did it happen with every > > > > application and any period/buffer setup? > > > > > > > > > > > > Takashi > > > > > > > > > > > > > > Signed-off-by: Libin Yang > > > > > --- > > > > > sound/pci/hda/hda_intel.c | 1 + > > > > > 1 file changed, 1 insertion(+) > > > > > > > > > > diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c > > > > > index b540ad7..9cd40c6 100644 > > > > > --- a/sound/pci/hda/hda_intel.c > > > > > +++ b/sound/pci/hda/hda_intel.c > > > > > @@ -993,6 +993,7 @@ static struct snd_pci_quirk position_fix_list[] = { > > > > > SND_PCI_QUIRK(0x1565, 0x8218, "Biostar Microtech", POS_FIX_LPIB), > > > > > SND_PCI_QUIRK(0x1849, 0x0888, "775Dual-VSTA", POS_FIX_LPIB), > > > > > SND_PCI_QUIRK(0x8086, 0x2503, "DG965OT AAD63733-203", > > > > POS_FIX_LPIB), > > > > > + SND_PCI_QUIRK(0x8086, 0x2010, "Broadwell HDMI audio", > > > > POS_FIX_LPIB), > > > > > {} > > > > > }; > > > > > > > > > > -- > > > > > 1.8.3.2 > > > > > > > > > > > Regards, > Libin >