[alsa-devel] [PATCH] hda: incorrect DAC mixer on 92hd71bxxx
Matthew Ranostay
mranostay at embeddedalley.com
Thu Feb 28 23:03:36 CET 2008
If there was two line_outs[] it would overrun into the dmic nid struct below
and create a phantom "Surround" mixer.
Signed-off-by: Matthew Ranostay <mranostay at embeddedalley.com>
---
diff -r 54a51b975975 pci/hda/patch_sigmatel.c
--- a/pci/hda/patch_sigmatel.c Thu Feb 28 12:46:32 2008 +0100
+++ b/pci/hda/patch_sigmatel.c Thu Feb 28 16:52:43 2008 -0500
@@ -246,8 +246,8 @@ static hda_nid_t stac92hd71bxx_dmux_nids
0x1c,
};
-static hda_nid_t stac92hd71bxx_dac_nids[1] = {
- 0x10, /*0x11, */
+static hda_nid_t stac92hd71bxx_dac_nids[2] = {
+ 0x10, 0x11
};
#define STAC92HD71BXX_NUM_DMICS 2
@@ -2345,10 +2345,10 @@ static int stac92xx_auto_create_multi_ou
for (i = 0; i < cfg->line_outs; i++) {
- if (!spec->multiout.dac_nids[i])
+
+ nid = spec->multiout.dac_nids[i];
+ if (!nid || nid == spec->multiout.hp_nid)
continue;
-
- nid = spec->multiout.dac_nids[i];
if (i == 2) {
/* Center/LFE */
@@ -3550,7 +3550,7 @@ again:
spec->num_pwrs = ARRAY_SIZE(stac92hd71bxx_pwr_nids);
spec->pwr_nids = stac92hd71bxx_pwr_nids;
- spec->multiout.num_dacs = 1;
+ spec->multiout.num_dacs = ARRAY_SIZE(stac92hd71bxx_dac_nids);
spec->multiout.hp_nid = 0x11;
spec->multiout.dac_nids = stac92hd71bxx_dac_nids;
More information about the Alsa-devel
mailing list