Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 270399
b: refs/heads/master
c: 8fa7ab4
h: refs/heads/master
i:
  270397: 30ee8d9
  270395: 04998a1
  270391: 9fcb80d
  270383: 687e79c
  270367: 6841ffa
  270335: 472def9
v: v3
  • Loading branch information
Takashi Iwai committed Oct 26, 2011
1 parent b540f95 commit 05855c6
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 16 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 820bc19df20e1927054860513322742de5ebb6b3
refs/heads/master: 8fa7ab48acb636d24669dab291807b487dfb2804
39 changes: 24 additions & 15 deletions trunk/sound/pci/hda/hda_codec.c
Original file line number Diff line number Diff line change
Expand Up @@ -4694,6 +4694,27 @@ static void sort_autocfg_input_pins(struct auto_pin_cfg *cfg)
}
}

/* Reorder the surround channels
* ALSA sequence is front/surr/clfe/side
* HDA sequence is:
* 4-ch: front/surr => OK as it is
* 6-ch: front/clfe/surr
* 8-ch: front/clfe/rear/side|fc
*/
static void reorder_outputs(unsigned int nums, hda_nid_t *pins)
{
hda_nid_t nid;

switch (nums) {
case 3:
case 4:
nid = pins[1];
pins[1] = pins[2];
pins[2] = nid;
break;
}
}

/*
* Parse all pin widgets and store the useful pin nids to cfg
*
Expand Down Expand Up @@ -4889,21 +4910,9 @@ int snd_hda_parse_pin_defcfg(struct hda_codec *codec,
}
}

/* Reorder the surround channels
* ALSA sequence is front/surr/clfe/side
* HDA sequence is:
* 4-ch: front/surr => OK as it is
* 6-ch: front/clfe/surr
* 8-ch: front/clfe/rear/side|fc
*/
switch (cfg->line_outs) {
case 3:
case 4:
nid = cfg->line_out_pins[1];
cfg->line_out_pins[1] = cfg->line_out_pins[2];
cfg->line_out_pins[2] = nid;
break;
}
reorder_outputs(cfg->line_outs, cfg->line_out_pins);
reorder_outputs(cfg->hp_outs, cfg->hp_pins);
reorder_outputs(cfg->speaker_outs, cfg->speaker_pins);

sort_autocfg_input_pins(cfg);

Expand Down

0 comments on commit 05855c6

Please sign in to comment.