[alsa-devel] [PATCH v2] ALSA: hda - mask buggy stream DMA0 for Broadwell display controller

Takashi Iwai tiwai at suse.de
Tue May 13 12:12:33 CEST 2014


At Tue, 13 May 2014 16:57:08 +0800,
mengdong.lin at intel.com wrote:
> 
> From: Mengdong Lin <mengdong.lin at intel.com>
> 
> Broadwell display controller has 3 stream DMA engines. DMA0 cannot update DMA
> postion buffer properly while DMA1 and DMA2 can work well. So this patch masks
> the buggy DMA0 by keeping it as opened.
> 
> This is a tentative workaround, so keep the change small as Takashi suggested.
> 
> Signed-off-by: Mengdong Lin <mengdong.lin at intel.com>

Applied now.  Thanks.


Takashi

> 
> diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
> index d6bca62..6309b5b 100644
> --- a/sound/pci/hda/hda_intel.c
> +++ b/sound/pci/hda/hda_intel.c
> @@ -1366,6 +1366,12 @@ static int azx_first_init(struct azx *chip)
>  	/* initialize streams */
>  	azx_init_stream(chip);
>  
> +	/* workaround for Broadwell HDMI: the first stream is broken,
> +	 * so mask it by keeping it as if opened
> +	 */
> +	if (pci->vendor == 0x8086 && pci->device == 0x160c)
> +		chip->azx_dev[0].opened = 1;
> +
>  	/* initialize chip */
>  	azx_init_pci(chip);
>  	azx_init_chip(chip, (probe_only[dev] & 2) == 0);
> -- 
> 1.8.1.2
> 


More information about the Alsa-devel mailing list