ALSA: hda - Fix conflicts between Loopback Mixing and Independent HP
authorTakashi Iwai <tiwai@suse.de>
Mon, 21 Jan 2013 14:11:25 +0000 (15:11 +0100)
committerTakashi Iwai <tiwai@suse.de>
Mon, 21 Jan 2013 14:11:25 +0000 (15:11 +0100)
commita1e908edccd1b6928cda78371026b458e2c1973a
treea6db12980efa5d13dee688dabeb51b1a4f2f44b8
parentf87498b65197f951899d8bbd99e5553227c41ec9
ALSA: hda - Fix conflicts between Loopback Mixing and Independent HP

This patch eventually fixes two issues:
- Handle the case where the primary output is a headphone and can have
  independent HP mode;
  so far we checked only the case where the headphone is the secondary
  output.

- Fix the conflict of HP independent mode and aamix mode;
  when switched to aamix mode, the DAC might be also switched to
  another widget shared with other outputs.  Then even if we disable
  the DAC for the original output, it doesn't change -- because the
  active route is from another (shared) DAC to HP pin through aamix.
  So, in such a case, we have to prohibit the switch to aamix for HP
  routes.

This fixes issues appearing on VT codecs.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/hda_generic.c
sound/pci/hda/hda_generic.h