mirror of
https://github.com/torvalds/linux.git
synced 2026-09-19 17:18:02 +02:00
When a keep-alive (KAE) silent stream is active on an Intel HDMI/DP
codec, opening a real PCM stream reprograms the converter format and the
audio infoframe in snd_hda_hdmi_generic_pcm_prepare(). Part of that
reprogramming - the converter channel count and the channel mapping in
snd_hda_hdmi_setup_audio_infoframe() - is not safe to do while a
keep-alive stream is active. This is most visible when switching to a
multichannel PCM configuration, where the active channel count actually
changes. In that case the newly opened PCM stream plays no sound.
Add an optional hdmi_ops .prepare hook, called at the start of the
PCM prepare sequence (before the format and infoframe are touched), and
implement it for HSW+ to release keep-alive. Keep-alive is then
re-enabled as before once the new stream has been set up, in the
setup_stream op.
Fixes:
|
||
|---|---|---|
| .. | ||
| atihdmi.c | ||
| eld.c | ||
| hdmi_local.h | ||
| hdmi.c | ||
| intelhdmi.c | ||
| Kconfig | ||
| Makefile | ||
| nvhdmi-mcp.c | ||
| nvhdmi.c | ||
| simplehdmi.c | ||
| tegrahdmi.c | ||