android_kernel_samsung_sm8650/sound/pci/hda
Wu Fengguang ef18beded8 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>
2009-12-25 14:17:36 +01:00
..
hda_beep.c ALSA: hda - Fix beep_mode option value 2009-11-16 15:33:49 +01:00
hda_beep.h ALSA: hda - Fix beep_mode option value 2009-11-16 15:33:49 +01:00
hda_codec.c ALSA: hda - Set mixer name after codec patch 2009-12-23 09:27:51 +01:00
hda_codec.h intelhdmi - dont power off HDA link 2009-12-11 14:06:18 +01:00
hda_eld.c ALSA: hda - introduce snd_hda_jack_detect() and snd_hda_pin_sense() 2009-11-18 07:40:57 +01:00
hda_generic.c ALSA: hda - proc - introduce Control: lines to show mixer<->NID assignment 2009-11-16 11:35:14 +01:00
hda_hwdep.c tree-wide: convert open calls to remove spaces to skip_spaces() lib function 2009-12-15 08:53:32 -08:00
hda_intel.c ALSA: hda - HDMI sticky stream tag support 2009-12-25 14:17:36 +01:00
hda_local.h ALSA: hda - introduce snd_hda_jack_detect() and snd_hda_pin_sense() 2009-11-18 07:40:57 +01:00
hda_proc.c ALSA: intelhdmi - accept DisplayPort pin 2009-12-11 07:56:04 +01:00
Kconfig ALSA: hda - Fix input and jack Kconfig depenencies 2009-11-21 19:57:11 +01:00
Makefile ALSA: hda - Add Cirrus Logic CS420x support 2009-07-01 18:11:44 +02:00
patch_analog.c ALSA: hda: Fix max PCM level to 0 dB for AD1981_HP 2009-12-14 11:08:39 +01:00
patch_atihdmi.c ALSA: hda: move open coded tricks into get_wcaps_channels() 2009-08-24 09:42:48 +02:00
patch_ca0110.c ALSA: hda - proc - introduce Control: lines to show mixer<->NID assignment 2009-11-16 11:35:14 +01:00
patch_cirrus.c ALSA: hda - Add support for the new 27 inch IMacs 2009-12-22 08:01:07 +01:00
patch_cmedia.c Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2009-12-09 19:43:33 -08:00
patch_conexant.c ALSA: hda - Make use of beep device found in Dell Vostro 1015n 2009-12-17 12:31:29 +01:00
patch_intelhdmi.c intelhdmi - dont power off HDA link 2009-12-11 14:06:18 +01:00
patch_nvhdmi.c ALSA: hda - Add another Nvidia HDMI codec id (10de:0005) 2009-11-13 08:28:03 +01:00
patch_realtek.c Merge branch 'fix/misc' into for-linus 2009-12-21 12:05:40 +01:00
patch_si3054.c ALSA: hda - Modularize HD-audio driver 2008-11-27 15:47:11 +01:00
patch_sigmatel.c ALSA: hda - Add STAC9205 PCI_QUIRK for Dell Vostro 1700 2009-12-23 18:49:22 +01:00
patch_via.c ALSA: hda - Replace the rest of jack-detections with snd_hda_jack_detect() 2009-11-18 08:00:14 +01:00