summaryrefslogtreecommitdiffstats
path: root/sound/pci
diff options
context:
space:
mode:
authorMatt Porter <mporter@embeddedalley.com>2006-01-25 19:20:50 +0100
committerJaroslav Kysela <perex@suse.cz>2006-02-01 13:09:28 +0100
commit869264c45a6a77d73ec6caa543616a10a9dfd951 (patch)
tree8c66dc8e00e5802888e30930f02fce29620df498 /sound/pci
parent[ALSA] Fix adding second dma channel (diff)
downloadlinux-869264c45a6a77d73ec6caa543616a10a9dfd951.tar.xz
linux-869264c45a6a77d73ec6caa543616a10a9dfd951.zip
[ALSA] hda: sigmatel fixes
Modules: HDA Codec driver * Fix init sequence so manually retaskable jacks don't get added to the line_out list. * Update intel mobo config defaults to specify surround outputs as line outs rather than speakers. Signed-off-by: Matt Porter <mporter@embeddedalley.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci')
-rw-r--r--sound/pci/hda/patch_sigmatel.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c
index f7892a5b7757..35c2823a0a2b 100644
--- a/sound/pci/hda/patch_sigmatel.c
+++ b/sound/pci/hda/patch_sigmatel.c
@@ -277,14 +277,14 @@ static unsigned int ref922x_pin_configs[10] = {
};
static unsigned int d945gtp3_pin_configs[10] = {
- 0x0221401f, 0x01a19022, 0x01813021, 0x01114010,
+ 0x0221401f, 0x01a19022, 0x01813021, 0x01014010,
0x40000100, 0x40000100, 0x40000100, 0x40000100,
0x02a19120, 0x40000100,
};
static unsigned int d945gtp5_pin_configs[10] = {
- 0x0221401f, 0x01111012, 0x01813024, 0x01114010,
- 0x01a19021, 0x01116011, 0x01452130, 0x40000100,
+ 0x0221401f, 0x01011012, 0x01813024, 0x01014010,
+ 0x01a19021, 0x01016011, 0x01452130, 0x40000100,
0x02a19320, 0x40000100,
};
@@ -855,12 +855,14 @@ static int stac92xx_parse_auto_config(struct hda_codec *codec, hda_nid_t dig_out
if ((err = snd_hda_parse_pin_def_config(codec, &spec->autocfg, NULL)) < 0)
return err;
+ if (! spec->autocfg.line_outs && ! spec->autocfg.hp_pin)
+ return 0; /* can't find valid pin config */
+ stac92xx_auto_init_multi_out(codec);
+ stac92xx_auto_init_hp_out(codec);
if ((err = stac92xx_add_dyn_out_pins(codec, &spec->autocfg)) < 0)
return err;
if ((err = stac92xx_auto_fill_dac_nids(codec, &spec->autocfg)) < 0)
return err;
- if (! spec->autocfg.line_outs && ! spec->autocfg.hp_pin)
- return 0; /* can't find valid pin config */
if ((err = stac92xx_auto_create_multi_out_ctls(spec, &spec->autocfg)) < 0 ||
(err = stac92xx_auto_create_hp_ctls(codec, &spec->autocfg)) < 0 ||
@@ -922,9 +924,6 @@ static int stac92xx_init(struct hda_codec *codec)
snd_hda_sequence_write(codec, spec->init);
- stac92xx_auto_init_multi_out(codec);
- stac92xx_auto_init_hp_out(codec);
-
return 0;
}