At Tue, 13 May 2014 04:37:18 +0000, Lin, Mengdong wrote:
Hi Takashi,
I submitted two patches to mask the buggy DMA0 of Broadwell display controller. Please review.
[PATCH 1/2] ALSA: hda - allow to mask a buggy stream DMA by setting it as opened [PATCH 2/2] ALSA: hda - mask buggy stream DMA0 for Broadwell display controller
It can be just simple like the patch below. This is rather a tentative workaround. If the hardware (or the corresponding part in the graphics driver) is fixed, we can get rid of it easily. So, just keep the change as small and simple as possible.
Takashi
--- diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index b540ad71eb0d..2c54629d62d1 100644 --- a/sound/pci/hda/hda_intel.c +++ b/sound/pci/hda/hda_intel.c @@ -1367,6 +1367,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);