diff options
Diffstat (limited to 'sound/pci')
-rw-r--r-- | sound/pci/hda/patch_sigmatel.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index f1e7babd6920..b8d730c47df1 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c | |||
@@ -202,6 +202,7 @@ struct sigmatel_spec { | |||
202 | unsigned int spdif_mute: 1; | 202 | unsigned int spdif_mute: 1; |
203 | unsigned int check_volume_offset:1; | 203 | unsigned int check_volume_offset:1; |
204 | unsigned int auto_mic:1; | 204 | unsigned int auto_mic:1; |
205 | unsigned int linear_tone_beep:1; | ||
205 | 206 | ||
206 | /* gpio lines */ | 207 | /* gpio lines */ |
207 | unsigned int eapd_mask; | 208 | unsigned int eapd_mask; |
@@ -3802,7 +3803,7 @@ static int stac92xx_parse_auto_config(struct hda_codec *codec, hda_nid_t dig_out | |||
3802 | return err; | 3803 | return err; |
3803 | if (codec->beep) { | 3804 | if (codec->beep) { |
3804 | /* IDT/STAC codecs have linear beep tone parameter */ | 3805 | /* IDT/STAC codecs have linear beep tone parameter */ |
3805 | codec->beep->linear_tone = 1; | 3806 | codec->beep->linear_tone = spec->linear_tone_beep; |
3806 | /* if no beep switch is available, make its own one */ | 3807 | /* if no beep switch is available, make its own one */ |
3807 | caps = query_amp_caps(codec, nid, HDA_OUTPUT); | 3808 | caps = query_amp_caps(codec, nid, HDA_OUTPUT); |
3808 | if (!(caps & AC_AMPCAP_MUTE)) { | 3809 | if (!(caps & AC_AMPCAP_MUTE)) { |
@@ -5005,6 +5006,7 @@ static int patch_stac9200(struct hda_codec *codec) | |||
5005 | 5006 | ||
5006 | codec->no_trigger_sense = 1; | 5007 | codec->no_trigger_sense = 1; |
5007 | codec->spec = spec; | 5008 | codec->spec = spec; |
5009 | spec->linear_tone_beep = 1; | ||
5008 | spec->num_pins = ARRAY_SIZE(stac9200_pin_nids); | 5010 | spec->num_pins = ARRAY_SIZE(stac9200_pin_nids); |
5009 | spec->pin_nids = stac9200_pin_nids; | 5011 | spec->pin_nids = stac9200_pin_nids; |
5010 | spec->board_config = snd_hda_check_board_config(codec, STAC_9200_MODELS, | 5012 | spec->board_config = snd_hda_check_board_config(codec, STAC_9200_MODELS, |
@@ -5068,6 +5070,7 @@ static int patch_stac925x(struct hda_codec *codec) | |||
5068 | 5070 | ||
5069 | codec->no_trigger_sense = 1; | 5071 | codec->no_trigger_sense = 1; |
5070 | codec->spec = spec; | 5072 | codec->spec = spec; |
5073 | spec->linear_tone_beep = 1; | ||
5071 | spec->num_pins = ARRAY_SIZE(stac925x_pin_nids); | 5074 | spec->num_pins = ARRAY_SIZE(stac925x_pin_nids); |
5072 | spec->pin_nids = stac925x_pin_nids; | 5075 | spec->pin_nids = stac925x_pin_nids; |
5073 | 5076 | ||
@@ -5153,6 +5156,7 @@ static int patch_stac92hd73xx(struct hda_codec *codec) | |||
5153 | 5156 | ||
5154 | codec->no_trigger_sense = 1; | 5157 | codec->no_trigger_sense = 1; |
5155 | codec->spec = spec; | 5158 | codec->spec = spec; |
5159 | spec->linear_tone_beep = 0; | ||
5156 | codec->slave_dig_outs = stac92hd73xx_slave_dig_outs; | 5160 | codec->slave_dig_outs = stac92hd73xx_slave_dig_outs; |
5157 | spec->num_pins = ARRAY_SIZE(stac92hd73xx_pin_nids); | 5161 | spec->num_pins = ARRAY_SIZE(stac92hd73xx_pin_nids); |
5158 | spec->pin_nids = stac92hd73xx_pin_nids; | 5162 | spec->pin_nids = stac92hd73xx_pin_nids; |
@@ -5300,6 +5304,7 @@ static int patch_stac92hd83xxx(struct hda_codec *codec) | |||
5300 | 5304 | ||
5301 | codec->no_trigger_sense = 1; | 5305 | codec->no_trigger_sense = 1; |
5302 | codec->spec = spec; | 5306 | codec->spec = spec; |
5307 | spec->linear_tone_beep = 1; | ||
5303 | codec->slave_dig_outs = stac92hd83xxx_slave_dig_outs; | 5308 | codec->slave_dig_outs = stac92hd83xxx_slave_dig_outs; |
5304 | spec->digbeep_nid = 0x21; | 5309 | spec->digbeep_nid = 0x21; |
5305 | spec->mux_nids = stac92hd83xxx_mux_nids; | 5310 | spec->mux_nids = stac92hd83xxx_mux_nids; |
@@ -5522,6 +5527,7 @@ static int patch_stac92hd71bxx(struct hda_codec *codec) | |||
5522 | 5527 | ||
5523 | codec->no_trigger_sense = 1; | 5528 | codec->no_trigger_sense = 1; |
5524 | codec->spec = spec; | 5529 | codec->spec = spec; |
5530 | spec->linear_tone_beep = 0; | ||
5525 | codec->patch_ops = stac92xx_patch_ops; | 5531 | codec->patch_ops = stac92xx_patch_ops; |
5526 | spec->num_pins = STAC92HD71BXX_NUM_PINS; | 5532 | spec->num_pins = STAC92HD71BXX_NUM_PINS; |
5527 | switch (codec->vendor_id) { | 5533 | switch (codec->vendor_id) { |
@@ -5779,6 +5785,7 @@ static int patch_stac922x(struct hda_codec *codec) | |||
5779 | 5785 | ||
5780 | codec->no_trigger_sense = 1; | 5786 | codec->no_trigger_sense = 1; |
5781 | codec->spec = spec; | 5787 | codec->spec = spec; |
5788 | spec->linear_tone_beep = 1; | ||
5782 | spec->num_pins = ARRAY_SIZE(stac922x_pin_nids); | 5789 | spec->num_pins = ARRAY_SIZE(stac922x_pin_nids); |
5783 | spec->pin_nids = stac922x_pin_nids; | 5790 | spec->pin_nids = stac922x_pin_nids; |
5784 | spec->board_config = snd_hda_check_board_config(codec, STAC_922X_MODELS, | 5791 | spec->board_config = snd_hda_check_board_config(codec, STAC_922X_MODELS, |
@@ -5883,6 +5890,7 @@ static int patch_stac927x(struct hda_codec *codec) | |||
5883 | 5890 | ||
5884 | codec->no_trigger_sense = 1; | 5891 | codec->no_trigger_sense = 1; |
5885 | codec->spec = spec; | 5892 | codec->spec = spec; |
5893 | spec->linear_tone_beep = 1; | ||
5886 | codec->slave_dig_outs = stac927x_slave_dig_outs; | 5894 | codec->slave_dig_outs = stac927x_slave_dig_outs; |
5887 | spec->num_pins = ARRAY_SIZE(stac927x_pin_nids); | 5895 | spec->num_pins = ARRAY_SIZE(stac927x_pin_nids); |
5888 | spec->pin_nids = stac927x_pin_nids; | 5896 | spec->pin_nids = stac927x_pin_nids; |
@@ -6018,6 +6026,7 @@ static int patch_stac9205(struct hda_codec *codec) | |||
6018 | 6026 | ||
6019 | codec->no_trigger_sense = 1; | 6027 | codec->no_trigger_sense = 1; |
6020 | codec->spec = spec; | 6028 | codec->spec = spec; |
6029 | spec->linear_tone_beep = 1; | ||
6021 | spec->num_pins = ARRAY_SIZE(stac9205_pin_nids); | 6030 | spec->num_pins = ARRAY_SIZE(stac9205_pin_nids); |
6022 | spec->pin_nids = stac9205_pin_nids; | 6031 | spec->pin_nids = stac9205_pin_nids; |
6023 | spec->board_config = snd_hda_check_board_config(codec, STAC_9205_MODELS, | 6032 | spec->board_config = snd_hda_check_board_config(codec, STAC_9205_MODELS, |
@@ -6174,6 +6183,7 @@ static int patch_stac9872(struct hda_codec *codec) | |||
6174 | return -ENOMEM; | 6183 | return -ENOMEM; |
6175 | codec->no_trigger_sense = 1; | 6184 | codec->no_trigger_sense = 1; |
6176 | codec->spec = spec; | 6185 | codec->spec = spec; |
6186 | spec->linear_tone_beep = 1; | ||
6177 | spec->num_pins = ARRAY_SIZE(stac9872_pin_nids); | 6187 | spec->num_pins = ARRAY_SIZE(stac9872_pin_nids); |
6178 | spec->pin_nids = stac9872_pin_nids; | 6188 | spec->pin_nids = stac9872_pin_nids; |
6179 | 6189 | ||