From: Takashi Iwai <tiwai@suse.de>
Date: Fri, 20 Apr 2007 14:11:43 +0000 (+0200)
Subject: [ALSA] hda-codec - Fix 8-channel auto-configuration
X-Git-Tag: firefly_0821_release~29172^2~34
X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=9422db4018cbfaa1a330b018a2bf6527d282b417;p=firefly-linux-kernel-4.4.55.git

[ALSA] hda-codec - Fix 8-channel auto-configuration

Fix the auto-configuration of 8-channel devices.  The sequence numbers
of usual 7.1 outputs are: 0/1/2/4 = Front/CLFE/Rear/Side

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
---

diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c
index 2fdd1652bad3..a58fdf4cbe5c 100644
--- a/sound/pci/hda/hda_codec.c
+++ b/sound/pci/hda/hda_codec.c
@@ -2242,18 +2242,13 @@ int __devinit snd_hda_parse_pin_def_config(struct hda_codec *codec,
 	 * HDA sequence is:
 	 *    4-ch: front/surr  =>  OK as it is
 	 *    6-ch: front/clfe/surr
-	 *    8-ch: front/clfe/side/surr
+	 *    8-ch: front/clfe/rear/side|fc
 	 */
 	switch (cfg->line_outs) {
 	case 3:
-		nid = cfg->line_out_pins[1];
-		cfg->line_out_pins[1] = cfg->line_out_pins[2];
-		cfg->line_out_pins[2] = nid;
-		break;
 	case 4:
 		nid = cfg->line_out_pins[1];
-		cfg->line_out_pins[1] = cfg->line_out_pins[3];
-		cfg->line_out_pins[3] = cfg->line_out_pins[2];
+		cfg->line_out_pins[1] = cfg->line_out_pins[2];
 		cfg->line_out_pins[2] = nid;
 		break;
 	}