Message ID | 20100924053925.GA2713@ants.dhis.net |
---|---|
State | Not Applicable |
Headers | show |
On 24 September 2010 06:39, أحمد المحمودي <aelmahmoudy@sabily.org> wrote: > ----- Forwarded message from gregkh@suse.de ----- > > Date: Thu, 23 Sep 2010 12:15:07 -0700 > From: gregkh@suse.de > Subject: Patch "ALSA: hda - Fix beep frequency on IDT 92HD73xx and 92HD71Bxx codecs" has been added to the 2.6.35-stable tree > To: daniel.blueman@gmail.com, aelmahmoudy@sabily.org, gregkh@suse.de, > tiwai@suse.de > Cc: stable@kernel.org, stable-commits@vger.kernel.org > > > This is a note to let you know that I've just added the patch titled > > ALSA: hda - Fix beep frequency on IDT 92HD73xx and 92HD71Bxx codecs > > to the 2.6.35-stable tree which can be found at: > http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary > > The filename of the patch is: > alsa-hda-fix-beep-frequency-on-idt-92hd73xx-and-92hd71bxx-codecs.patch > and it can be found in the queue-2.6.35 subdirectory. > > If you, or anyone else, feels it should not be added to the stable tree, > please let <stable@kernel.org> know about it. > > > From 1b0e372d7b52c9fc96348779015a6db7df7f286e Mon Sep 17 00:00:00 2001 > From: Daniel J Blueman <daniel.blueman@gmail.com> > Date: Tue, 3 Aug 2010 11:09:13 +0100 > Subject: ALSA: hda - Fix beep frequency on IDT 92HD73xx and 92HD71Bxx codecs > > From: Daniel J Blueman <daniel.blueman@gmail.com> > > commit 1b0e372d7b52c9fc96348779015a6db7df7f286e upstream. > > Fix HDA beep frequency on IDT 92HD73xx and 92HD71Bxx codecs. > These codecs use the standard beep frequency calculation although the > datasheet says it's linear frequency. > > Other IDT/STAC codecs might have the same problem. They should be > fixed individually later. > > Signed-off-by: Daniel J Blueman <daniel.blueman@gmail.com> > Signed-off-by: Takashi Iwai <tiwai@suse.de> > Cc: أحمد المحمودي <aelmahmoudy@sabily.org> > Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> > > --- > sound/pci/hda/patch_sigmatel.c | 12 +++++++++++- > 1 file changed, 11 insertions(+), 1 deletion(-) > > --- a/sound/pci/hda/patch_sigmatel.c > +++ b/sound/pci/hda/patch_sigmatel.c > @@ -202,6 +202,7 @@ struct sigmatel_spec { > unsigned int spdif_mute: 1; > unsigned int check_volume_offset:1; > unsigned int auto_mic:1; > + unsigned int linear_tone_beep:1; > > /* gpio lines */ > unsigned int eapd_mask; > @@ -3802,7 +3803,7 @@ static int stac92xx_parse_auto_config(st > return err; > if (codec->beep) { > /* IDT/STAC codecs have linear beep tone parameter */ > - codec->beep->linear_tone = 1; > + codec->beep->linear_tone = spec->linear_tone_beep; > /* if no beep switch is available, make its own one */ > caps = query_amp_caps(codec, nid, HDA_OUTPUT); > if (!(caps & AC_AMPCAP_MUTE)) { > @@ -5005,6 +5006,7 @@ static int patch_stac9200(struct hda_cod > > codec->no_trigger_sense = 1; > codec->spec = spec; > + spec->linear_tone_beep = 1; > spec->num_pins = ARRAY_SIZE(stac9200_pin_nids); > spec->pin_nids = stac9200_pin_nids; > spec->board_config = snd_hda_check_board_config(codec, STAC_9200_MODELS, > @@ -5068,6 +5070,7 @@ static int patch_stac925x(struct hda_cod > > codec->no_trigger_sense = 1; > codec->spec = spec; > + spec->linear_tone_beep = 1; > spec->num_pins = ARRAY_SIZE(stac925x_pin_nids); > spec->pin_nids = stac925x_pin_nids; > > @@ -5153,6 +5156,7 @@ static int patch_stac92hd73xx(struct hda > > codec->no_trigger_sense = 1; > codec->spec = spec; > + spec->linear_tone_beep = 0; > codec->slave_dig_outs = stac92hd73xx_slave_dig_outs; > spec->num_pins = ARRAY_SIZE(stac92hd73xx_pin_nids); > spec->pin_nids = stac92hd73xx_pin_nids; > @@ -5300,6 +5304,7 @@ static int patch_stac92hd83xxx(struct hd > > codec->no_trigger_sense = 1; > codec->spec = spec; > + spec->linear_tone_beep = 1; > codec->slave_dig_outs = stac92hd83xxx_slave_dig_outs; > spec->digbeep_nid = 0x21; > spec->mux_nids = stac92hd83xxx_mux_nids; > @@ -5522,6 +5527,7 @@ static int patch_stac92hd71bxx(struct hd > > codec->no_trigger_sense = 1; > codec->spec = spec; > + spec->linear_tone_beep = 0; > codec->patch_ops = stac92xx_patch_ops; > spec->num_pins = STAC92HD71BXX_NUM_PINS; > switch (codec->vendor_id) { > @@ -5779,6 +5785,7 @@ static int patch_stac922x(struct hda_cod > > codec->no_trigger_sense = 1; > codec->spec = spec; > + spec->linear_tone_beep = 1; > spec->num_pins = ARRAY_SIZE(stac922x_pin_nids); > spec->pin_nids = stac922x_pin_nids; > spec->board_config = snd_hda_check_board_config(codec, STAC_922X_MODELS, > @@ -5883,6 +5890,7 @@ static int patch_stac927x(struct hda_cod > > codec->no_trigger_sense = 1; > codec->spec = spec; > + spec->linear_tone_beep = 1; > codec->slave_dig_outs = stac927x_slave_dig_outs; > spec->num_pins = ARRAY_SIZE(stac927x_pin_nids); > spec->pin_nids = stac927x_pin_nids; > @@ -6018,6 +6026,7 @@ static int patch_stac9205(struct hda_cod > > codec->no_trigger_sense = 1; > codec->spec = spec; > + spec->linear_tone_beep = 1; > spec->num_pins = ARRAY_SIZE(stac9205_pin_nids); > spec->pin_nids = stac9205_pin_nids; > spec->board_config = snd_hda_check_board_config(codec, STAC_9205_MODELS, > @@ -6174,6 +6183,7 @@ static int patch_stac9872(struct hda_cod > return -ENOMEM; > codec->no_trigger_sense = 1; > codec->spec = spec; > + spec->linear_tone_beep = 1; > spec->num_pins = ARRAY_SIZE(stac9872_pin_nids); > spec->pin_nids = stac9872_pin_nids; > > > > Patches currently in stable-queue which might be from daniel.blueman@gmail.com are > > queue-2.6.35/alsa-hda-fix-beep-frequency-on-idt-92hd73xx-and-92hd71bxx-codecs.patch > queue-2.6.35/fix-unprotected-access-to-task-credentials-in-waitid.patch No need to forward to the kernel team, as this patch will be implicitly taken in a forthcoming stable kernel release. Thanks, Daniel
--- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c @@ -202,6 +202,7 @@ struct sigmatel_spec { unsigned int spdif_mute: 1; unsigned int check_volume_offset:1; unsigned int auto_mic:1; + unsigned int linear_tone_beep:1; /* gpio lines */ unsigned int eapd_mask; @@ -3802,7 +3803,7 @@ static int stac92xx_parse_auto_config(st return err; if (codec->beep) { /* IDT/STAC codecs have linear beep tone parameter */ - codec->beep->linear_tone = 1; + codec->beep->linear_tone = spec->linear_tone_beep; /* if no beep switch is available, make its own one */ caps = query_amp_caps(codec, nid, HDA_OUTPUT); if (!(caps & AC_AMPCAP_MUTE)) { @@ -5005,6 +5006,7 @@ static int patch_stac9200(struct hda_cod codec->no_trigger_sense = 1; codec->spec = spec; + spec->linear_tone_beep = 1; spec->num_pins = ARRAY_SIZE(stac9200_pin_nids); spec->pin_nids = stac9200_pin_nids; spec->board_config = snd_hda_check_board_config(codec, STAC_9200_MODELS, @@ -5068,6 +5070,7 @@ static int patch_stac925x(struct hda_cod codec->no_trigger_sense = 1; codec->spec = spec; + spec->linear_tone_beep = 1; spec->num_pins = ARRAY_SIZE(stac925x_pin_nids); spec->pin_nids = stac925x_pin_nids; @@ -5153,6 +5156,7 @@ static int patch_stac92hd73xx(struct hda codec->no_trigger_sense = 1; codec->spec = spec; + spec->linear_tone_beep = 0; codec->slave_dig_outs = stac92hd73xx_slave_dig_outs; spec->num_pins = ARRAY_SIZE(stac92hd73xx_pin_nids); spec->pin_nids = stac92hd73xx_pin_nids; @@ -5300,6 +5304,7 @@ static int patch_stac92hd83xxx(struct hd codec->no_trigger_sense = 1; codec->spec = spec; + spec->linear_tone_beep = 1; codec->slave_dig_outs = stac92hd83xxx_slave_dig_outs; spec->digbeep_nid = 0x21; spec->mux_nids = stac92hd83xxx_mux_nids; @@ -5522,6 +5527,7 @@ static int patch_stac92hd71bxx(struct hd codec->no_trigger_sense = 1; codec->spec = spec; + spec->linear_tone_beep = 0; codec->patch_ops = stac92xx_patch_ops; spec->num_pins = STAC92HD71BXX_NUM_PINS; switch (codec->vendor_id) { @@ -5779,6 +5785,7 @@ static int patch_stac922x(struct hda_cod codec->no_trigger_sense = 1; codec->spec = spec; + spec->linear_tone_beep = 1; spec->num_pins = ARRAY_SIZE(stac922x_pin_nids); spec->pin_nids = stac922x_pin_nids; spec->board_config = snd_hda_check_board_config(codec, STAC_922X_MODELS, @@ -5883,6 +5890,7 @@ static int patch_stac927x(struct hda_cod codec->no_trigger_sense = 1; codec->spec = spec; + spec->linear_tone_beep = 1; codec->slave_dig_outs = stac927x_slave_dig_outs; spec->num_pins = ARRAY_SIZE(stac927x_pin_nids); spec->pin_nids = stac927x_pin_nids; @@ -6018,6 +6026,7 @@ static int patch_stac9205(struct hda_cod codec->no_trigger_sense = 1; codec->spec = spec; + spec->linear_tone_beep = 1; spec->num_pins = ARRAY_SIZE(stac9205_pin_nids); spec->pin_nids = stac9205_pin_nids; spec->board_config = snd_hda_check_board_config(codec, STAC_9205_MODELS, @@ -6174,6 +6183,7 @@ static int patch_stac9872(struct hda_cod return -ENOMEM; codec->no_trigger_sense = 1; codec->spec = spec; + spec->linear_tone_beep = 1; spec->num_pins = ARRAY_SIZE(stac9872_pin_nids); spec->pin_nids = stac9872_pin_nids;