1. 25 Dec, 2009 1 commit
    • Wu Fengguang's avatar
      ALSA: hda - HDMI sticky stream tag support · ef18bede
      Wu Fengguang authored
      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: default avatarWu Fengguang <fengguang.wu@intel.com>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      ef18bede
  2. 24 Dec, 2009 39 commits