diff options
author | Matt Porter <mporter@embeddedalley.com> | 2006-01-25 13:20:50 -0500 |
---|---|---|
committer | Jaroslav Kysela <perex@suse.cz> | 2006-02-01 07:09:28 -0500 |
commit | 869264c45a6a77d73ec6caa543616a10a9dfd951 (patch) | |
tree | 8c66dc8e00e5802888e30930f02fce29620df498 | |
parent | 1d79716ab07710465fa9fc1ae7328cc6095d2526 (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>
-rw-r--r-- | sound/pci/hda/patch_sigmatel.c | 15 |
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 | ||
279 | static unsigned int d945gtp3_pin_configs[10] = { | 279 | static 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 | ||
285 | static unsigned int d945gtp5_pin_configs[10] = { | 285 | static 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 | ||