diff options
author | Wu Fengguang <fengguang.wu@intel.com> | 2009-12-25 13:14:27 +0800 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2009-12-25 14:17:36 +0100 |
commit | ef18beded8ddbaafdf4914bab209f77e60ae3a18 (patch) | |
tree | a0dc41a87c0d6d68f328ae983ae7a6ffd1444271 /ipc | |
parent | 6b7b284958d47b77d06745b36bc7f36dab769d9b (diff) | |
download | op-kernel-dev-ef18beded8ddbaafdf4914bab209f77e60ae3a18.zip op-kernel-dev-ef18beded8ddbaafdf4914bab209f77e60ae3a18.tar.gz |
ALSA: hda - HDMI sticky stream tag support
When we run the following commands in turn (with
CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0),
speaker-test -Dhw:0,3 -c2 -twav # HDMI
speaker-test -Dhw:0,0 -c2 -twav # Analog
The second command will produce sound in the analog lineout _as well as_
HDMI sink. The root cause is, device 0 "reuses" the same stream tag that
was used by device 3, and the "intelhdmi - sticky stream id" patch leaves
the HDMI codec in a functional state. So the HDMI codec happily accepts
the audio samples which reuse its stream tag.
The proposed solution is to remember the last device each azx_dev was
assigned to, and prefer to
1) reuse the azx_dev (and hence the stream tag) the HDMI codec last used
2) or assign a never-used azx_dev for HDMI
With this patch and the above two speaker-test commands,
HDMI codec will use stream tag 8 and Analog codec will use 5.
The stream tag used by HDMI codec won't be reused by others, as long
as we don't run out of the 4 playback azx_dev's. The legacy Analog
codec will continue to use stream tag 5 because its device id is 0
(this is a bit tricky).
Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'ipc')
0 files changed, 0 insertions, 0 deletions