summaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/patch_sigmatel.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2009-03-06 12:00:24 +0100
committerTakashi Iwai <tiwai@suse.de>2009-03-06 12:00:24 +0100
commitee58a7ca21b2acf0d7ad0e1eb2f8d916ecf9fadc (patch)
tree39802cc041de6a62f21cffc20f4ebfd479dd540e /sound/pci/hda/patch_sigmatel.c
parent668b9652be33510a2a42b290dd335d34d38e2068 (diff)
ALSA: hda - Connect to primary DAC if no individual DAC is available
In stac92xx_auto_fill_dac_nids[], connect to the primary DAC if no individual DAC is available for each pin. This ensures that the pin works somehow at least. Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/hda/patch_sigmatel.c')
-rw-r--r--sound/pci/hda/patch_sigmatel.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c
index d19090fd2d1..ee119259183 100644
--- a/sound/pci/hda/patch_sigmatel.c
+++ b/sound/pci/hda/patch_sigmatel.c
@@ -2871,6 +2871,16 @@ static hda_nid_t get_unassigned_dac(struct hda_codec *codec, hda_nid_t nid)
return conn[j];
}
}
+ /* if all DACs are already assigned, connect to the primary DAC */
+ if (conn_len > 1) {
+ for (j = 0; j < conn_len; j++) {
+ if (conn[j] == spec->multiout.dac_nids[0]) {
+ snd_hda_codec_write_cache(codec, nid, 0,
+ AC_VERB_SET_CONNECT_SEL, j);
+ break;
+ }
+ }
+ }
return 0;
}