aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/hda
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2014-10-22 01:57:12 -0400
committerTakashi Iwai <tiwai@suse.de>2014-10-22 01:57:12 -0400
commitb46882b6eb713245916100ac5b58664cd242a08d (patch)
tree68f3224aa639a7c76c55ad8a55d94d10cad17e8e /sound/pci/hda
parentcf6814f2b5014ed5bbdef764a42e4abaa09b3a2e (diff)
parent3abb4f4d0e7aaad0d12004b5057f4486a688752b (diff)
Merge branch 'topic/hda-lo-jack' into for-next
Diffstat (limited to 'sound/pci/hda')
-rw-r--r--sound/pci/hda/hda_generic.c17
1 files changed, 15 insertions, 2 deletions
diff --git a/sound/pci/hda/hda_generic.c b/sound/pci/hda/hda_generic.c
index 64220c08bd98..06d721085e72 100644
--- a/sound/pci/hda/hda_generic.c
+++ b/sound/pci/hda/hda_generic.c
@@ -1038,11 +1038,24 @@ static const char *get_line_out_pfx(struct hda_codec *codec, int ch,
1038 break; 1038 break;
1039 *index = ch; 1039 *index = ch;
1040 return "Headphone"; 1040 return "Headphone";
1041 case AUTO_PIN_LINE_OUT:
1042 /* This deals with the case where we have two DACs and
1043 * one LO, one HP and one Speaker */
1044 if (!ch && cfg->speaker_outs && cfg->hp_outs) {
1045 bool hp_lo_shared = !path_has_mixer(codec, spec->hp_paths[0], ctl_type);
1046 bool spk_lo_shared = !path_has_mixer(codec, spec->speaker_paths[0], ctl_type);
1047 if (hp_lo_shared && spk_lo_shared)
1048 return spec->vmaster_mute.hook ? "PCM" : "Master";
1049 if (hp_lo_shared)
1050 return "Headphone+LO";
1051 if (spk_lo_shared)
1052 return "Speaker+LO";
1053 }
1041 } 1054 }
1042 1055
1043 /* for a single channel output, we don't have to name the channel */ 1056 /* for a single channel output, we don't have to name the channel */
1044 if (cfg->line_outs == 1 && !spec->multi_ios) 1057 if (cfg->line_outs == 1 && !spec->multi_ios)
1045 return "PCM"; 1058 return "Line Out";
1046 1059
1047 if (ch >= ARRAY_SIZE(channel_name)) { 1060 if (ch >= ARRAY_SIZE(channel_name)) {
1048 snd_BUG(); 1061 snd_BUG();
@@ -4524,7 +4537,7 @@ static const char * const slave_pfxs[] = {
4524 "CLFE", "Bass Speaker", "PCM", 4537 "CLFE", "Bass Speaker", "PCM",
4525 "Speaker Front", "Speaker Surround", "Speaker CLFE", "Speaker Side", 4538 "Speaker Front", "Speaker Surround", "Speaker CLFE", "Speaker Side",
4526 "Headphone Front", "Headphone Surround", "Headphone CLFE", 4539 "Headphone Front", "Headphone Surround", "Headphone CLFE",
4527 "Headphone Side", 4540 "Headphone Side", "Headphone+LO", "Speaker+LO",
4528 NULL, 4541 NULL,
4529}; 4542};
4530 4543