aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/patch_sigmatel.c
diff options
context:
space:
mode:
Diffstat (limited to 'sound/pci/hda/patch_sigmatel.c')
-rw-r--r--sound/pci/hda/patch_sigmatel.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c
index e28c810bc00..117919aa17f 100644
--- a/sound/pci/hda/patch_sigmatel.c
+++ b/sound/pci/hda/patch_sigmatel.c
@@ -4460,14 +4460,7 @@ static inline int get_pin_presence(struct hda_codec *codec, hda_nid_t nid)
4460{ 4460{
4461 if (!nid) 4461 if (!nid)
4462 return 0; 4462 return 0;
4463 /* NOTE: we can't use snd_hda_jack_detect() here because STAC/IDT 4463 return snd_hda_jack_detect(codec, nid);
4464 * codecs behave wrongly when SET_PIN_SENSE is triggered, although
4465 * the pincap gives TRIG_REQ bit.
4466 */
4467 if (snd_hda_codec_read(codec, nid, 0, AC_VERB_GET_PIN_SENSE, 0) &
4468 AC_PINSENSE_PRESENCE)
4469 return 1;
4470 return 0;
4471} 4464}
4472 4465
4473static void stac92xx_line_out_detect(struct hda_codec *codec, 4466static void stac92xx_line_out_detect(struct hda_codec *codec,
@@ -4969,6 +4962,7 @@ static int patch_stac9200(struct hda_codec *codec)
4969 if (spec == NULL) 4962 if (spec == NULL)
4970 return -ENOMEM; 4963 return -ENOMEM;
4971 4964
4965 codec->no_trigger_sense = 1;
4972 codec->spec = spec; 4966 codec->spec = spec;
4973 spec->num_pins = ARRAY_SIZE(stac9200_pin_nids); 4967 spec->num_pins = ARRAY_SIZE(stac9200_pin_nids);
4974 spec->pin_nids = stac9200_pin_nids; 4968 spec->pin_nids = stac9200_pin_nids;
@@ -5031,6 +5025,7 @@ static int patch_stac925x(struct hda_codec *codec)
5031 if (spec == NULL) 5025 if (spec == NULL)
5032 return -ENOMEM; 5026 return -ENOMEM;
5033 5027
5028 codec->no_trigger_sense = 1;
5034 codec->spec = spec; 5029 codec->spec = spec;
5035 spec->num_pins = ARRAY_SIZE(stac925x_pin_nids); 5030 spec->num_pins = ARRAY_SIZE(stac925x_pin_nids);
5036 spec->pin_nids = stac925x_pin_nids; 5031 spec->pin_nids = stac925x_pin_nids;
@@ -5115,6 +5110,7 @@ static int patch_stac92hd73xx(struct hda_codec *codec)
5115 if (spec == NULL) 5110 if (spec == NULL)
5116 return -ENOMEM; 5111 return -ENOMEM;
5117 5112
5113 codec->no_trigger_sense = 1;
5118 codec->spec = spec; 5114 codec->spec = spec;
5119 codec->slave_dig_outs = stac92hd73xx_slave_dig_outs; 5115 codec->slave_dig_outs = stac92hd73xx_slave_dig_outs;
5120 spec->num_pins = ARRAY_SIZE(stac92hd73xx_pin_nids); 5116 spec->num_pins = ARRAY_SIZE(stac92hd73xx_pin_nids);
@@ -5262,6 +5258,7 @@ static int patch_stac92hd83xxx(struct hda_codec *codec)
5262 if (spec == NULL) 5258 if (spec == NULL)
5263 return -ENOMEM; 5259 return -ENOMEM;
5264 5260
5261 codec->no_trigger_sense = 1;
5265 codec->spec = spec; 5262 codec->spec = spec;
5266 codec->slave_dig_outs = stac92hd83xxx_slave_dig_outs; 5263 codec->slave_dig_outs = stac92hd83xxx_slave_dig_outs;
5267 spec->digbeep_nid = 0x21; 5264 spec->digbeep_nid = 0x21;
@@ -5473,6 +5470,7 @@ static int patch_stac92hd71bxx(struct hda_codec *codec)
5473 if (spec == NULL) 5470 if (spec == NULL)
5474 return -ENOMEM; 5471 return -ENOMEM;
5475 5472
5473 codec->no_trigger_sense = 1;
5476 codec->spec = spec; 5474 codec->spec = spec;
5477 codec->patch_ops = stac92xx_patch_ops; 5475 codec->patch_ops = stac92xx_patch_ops;
5478 spec->num_pins = STAC92HD71BXX_NUM_PINS; 5476 spec->num_pins = STAC92HD71BXX_NUM_PINS;
@@ -5725,6 +5723,7 @@ static int patch_stac922x(struct hda_codec *codec)
5725 if (spec == NULL) 5723 if (spec == NULL)
5726 return -ENOMEM; 5724 return -ENOMEM;
5727 5725
5726 codec->no_trigger_sense = 1;
5728 codec->spec = spec; 5727 codec->spec = spec;
5729 spec->num_pins = ARRAY_SIZE(stac922x_pin_nids); 5728 spec->num_pins = ARRAY_SIZE(stac922x_pin_nids);
5730 spec->pin_nids = stac922x_pin_nids; 5729 spec->pin_nids = stac922x_pin_nids;
@@ -5828,6 +5827,7 @@ static int patch_stac927x(struct hda_codec *codec)
5828 if (spec == NULL) 5827 if (spec == NULL)
5829 return -ENOMEM; 5828 return -ENOMEM;
5830 5829
5830 codec->no_trigger_sense = 1;
5831 codec->spec = spec; 5831 codec->spec = spec;
5832 codec->slave_dig_outs = stac927x_slave_dig_outs; 5832 codec->slave_dig_outs = stac927x_slave_dig_outs;
5833 spec->num_pins = ARRAY_SIZE(stac927x_pin_nids); 5833 spec->num_pins = ARRAY_SIZE(stac927x_pin_nids);
@@ -5962,6 +5962,7 @@ static int patch_stac9205(struct hda_codec *codec)
5962 if (spec == NULL) 5962 if (spec == NULL)
5963 return -ENOMEM; 5963 return -ENOMEM;
5964 5964
5965 codec->no_trigger_sense = 1;
5965 codec->spec = spec; 5966 codec->spec = spec;
5966 spec->num_pins = ARRAY_SIZE(stac9205_pin_nids); 5967 spec->num_pins = ARRAY_SIZE(stac9205_pin_nids);
5967 spec->pin_nids = stac9205_pin_nids; 5968 spec->pin_nids = stac9205_pin_nids;
@@ -6117,6 +6118,7 @@ static int patch_stac9872(struct hda_codec *codec)
6117 spec = kzalloc(sizeof(*spec), GFP_KERNEL); 6118 spec = kzalloc(sizeof(*spec), GFP_KERNEL);
6118 if (spec == NULL) 6119 if (spec == NULL)
6119 return -ENOMEM; 6120 return -ENOMEM;
6121 codec->no_trigger_sense = 1;
6120 codec->spec = spec; 6122 codec->spec = spec;
6121 spec->num_pins = ARRAY_SIZE(stac9872_pin_nids); 6123 spec->num_pins = ARRAY_SIZE(stac9872_pin_nids);
6122 spec->pin_nids = stac9872_pin_nids; 6124 spec->pin_nids = stac9872_pin_nids;