Patchwork Patch "ALSA: hda - Fix beep frequency on IDT 92HD73xx and 92HD71Bxx codecs" has been added to the 2.6.35-stable tree (fwd)

login
register
mail settings
Submitter أحمد المحمودي
Date Sept. 24, 2010, 5:39 a.m.
Message ID <20100924053925.GA2713@ants.dhis.net>
Download mbox | patch
Permalink /patch/65629/
State Not Applicable
Headers show

Comments

أحمد المحمودي - Sept. 24, 2010, 5:39 a.m.
----- 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(-)



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

----- End forwarded message -----
Daniel J Blueman - Sept. 24, 2010, 8:49 a.m.
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

Patch

--- 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;