提交 de1ab6af 编写于 作者: T Takashi Iwai

ALSA: hda - Fix lost 4k BDL boundary workaround

During the migration to HDA core code, we lost the workaround for 4k
BDL boundary.  The flag exists in the new hdac_bus, but it's never
set.  This resulted in the sudden sound stall on some controllers that
require this workaround like Creative Recon3D.

This patch fixes the issue by setting the flag for such controllers
properly.

Fixes: ccc98865 ('ALSA: hda - Migrate more hdac_stream codes')
Cc: <stable@vger.kernel.org> # v4.2+
Signed-off-by: NTakashi Iwai <tiwai@suse.de>
上级 bc88c9e9
...@@ -1060,6 +1060,9 @@ int azx_bus_init(struct azx *chip, const char *model, ...@@ -1060,6 +1060,9 @@ int azx_bus_init(struct azx *chip, const char *model,
bus->needs_damn_long_delay = 1; bus->needs_damn_long_delay = 1;
} }
if (chip->driver_caps & AZX_DCAPS_4K_BDLE_BOUNDARY)
bus->core.align_bdle_4k = true;
/* AMD chipsets often cause the communication stalls upon certain /* AMD chipsets often cause the communication stalls upon certain
* sequence like the pin-detection. It seems that forcing the synced * sequence like the pin-detection. It seems that forcing the synced
* access works around the stall. Grrr... * access works around the stall. Grrr...
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册