aboutsummaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorMatt Porter <mporter@embeddedalley.com>2006-01-25 13:20:50 -0500
committerJaroslav Kysela <perex@suse.cz>2006-02-01 07:09:28 -0500
commit869264c45a6a77d73ec6caa543616a10a9dfd951 (patch)
tree8c66dc8e00e5802888e30930f02fce29620df498 /sound
parent1d79716ab07710465fa9fc1ae7328cc6095d2526 (diff)
[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')
-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] = {
277}; 277};
278 278
279static unsigned int d945gtp3_pin_configs[10] = { 279static unsigned int d945gtp3_pin_configs[10] = {
280 0x0221401f, 0x01a19022, 0x01813021, 0x01114010, 280 0x0221401f, 0x01a19022, 0x01813021, 0x01014010,
281 0x40000100, 0x40000100, 0x40000100, 0x40000100, 281 0x40000100, 0x40000100, 0x40000100, 0x40000100,
282 0x02a19120, 0x40000100, 282 0x02a19120, 0x40000100,
283}; 283};
284 284
285static unsigned int d945gtp5_pin_configs[10] = { 285static unsigned int d945gtp5_pin_configs[10] = {
286 0x0221401f, 0x01111012, 0x01813024, 0x01114010, 286 0x0221401f, 0x01011012, 0x01813024, 0x01014010,
287 0x01a19021, 0x01116011, 0x01452130, 0x40000100, 287 0x01a19021, 0x01016011, 0x01452130, 0x40000100,
288 0x02a19320, 0x40000100, 288 0x02a19320, 0x40000100,
289}; 289};
290 290
@@ -855,12 +855,14 @@ static int stac92xx_parse_auto_config(struct hda_codec *codec, hda_nid_t dig_out
855 855
856 if ((err = snd_hda_parse_pin_def_config(codec, &spec->autocfg, NULL)) < 0) 856 if ((err = snd_hda_parse_pin_def_config(codec, &spec->autocfg, NULL)) < 0)
857 return err; 857 return err;
858 if (! spec->autocfg.line_outs && ! spec->autocfg.hp_pin)
859 return 0; /* can't find valid pin config */
860 stac92xx_auto_init_multi_out(codec);
861 stac92xx_auto_init_hp_out(codec);
858 if ((err = stac92xx_add_dyn_out_pins(codec, &spec->autocfg)) < 0) 862 if ((err = stac92xx_add_dyn_out_pins(codec, &spec->autocfg)) < 0)
859 return err; 863 return err;
860 if ((err = stac92xx_auto_fill_dac_nids(codec, &spec->autocfg)) < 0) 864 if ((err = stac92xx_auto_fill_dac_nids(codec, &spec->autocfg)) < 0)
861 return err; 865 return err;
862 if (! spec->autocfg.line_outs && ! spec->autocfg.hp_pin)
863 return 0; /* can't find valid pin config */
864 866
865 if ((err = stac92xx_auto_create_multi_out_ctls(spec, &spec->autocfg)) < 0 || 867 if ((err = stac92xx_auto_create_multi_out_ctls(spec, &spec->autocfg)) < 0 ||
866 (err = stac92xx_auto_create_hp_ctls(codec, &spec->autocfg)) < 0 || 868 (err = stac92xx_auto_create_hp_ctls(codec, &spec->autocfg)) < 0 ||
@@ -922,9 +924,6 @@ static int stac92xx_init(struct hda_codec *codec)
922 924
923 snd_hda_sequence_write(codec, spec->init); 925 snd_hda_sequence_write(codec, spec->init);
924 926
925 stac92xx_auto_init_multi_out(codec);
926 stac92xx_auto_init_hp_out(codec);
927
928 return 0; 927 return 0;
929} 928}
930 929