This is a note to let you know that I've just added the patch titled

    ALSA: hda - Fix missing Mic Boost controls for VIA codecs

to the 3.10-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-missing-mic-boost-controls-for-via-codecs.patch
and it can be found in the queue-3.10 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <[email protected]> know about it.


>From d045c5dc43d829df9f067d363c3b42b14dacf434 Mon Sep 17 00:00:00 2001
From: Takashi Iwai <[email protected]>
Date: Wed, 19 Jun 2013 07:54:09 +0200
Subject: ALSA: hda - Fix missing Mic Boost controls for VIA codecs

From: Takashi Iwai <[email protected]>

commit d045c5dc43d829df9f067d363c3b42b14dacf434 upstream.

Some VIA codecs like VT1708S have Mic boost amps in the mic pins but
they aren't exposed in the capability bits.  In the past driver code,
we override the pin caps and create mic boost controls forcibly.
While transition to the generic parser, we lost the mic boost controls
although the pin caps are still overridden, because the generic parser
code checks the widget caps, too.

So this patch adds a new helper function to allow the override of the
given widget capability bits, and makes VIA codecs driver to add the
missing input-amp capability bit.

Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=59861
Signed-off-by: Takashi Iwai <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

---
 sound/pci/hda/hda_local.h |    8 ++++++++
 sound/pci/hda/patch_via.c |    2 ++
 2 files changed, 10 insertions(+)

--- a/sound/pci/hda/hda_local.h
+++ b/sound/pci/hda/hda_local.h
@@ -562,6 +562,14 @@ static inline unsigned int get_wcaps_cha
        return chans;
 }
 
+static inline void snd_hda_override_wcaps(struct hda_codec *codec,
+                                         hda_nid_t nid, u32 val)
+{
+       if (nid >= codec->start_nid &&
+           nid < codec->start_nid + codec->num_nodes)
+               codec->wcaps[nid - codec->start_nid] = val;
+}
+
 u32 query_amp_caps(struct hda_codec *codec, hda_nid_t nid, int direction);
 int snd_hda_override_amp_caps(struct hda_codec *codec, hda_nid_t nid, int dir,
                              unsigned int caps);
--- a/sound/pci/hda/patch_via.c
+++ b/sound/pci/hda/patch_via.c
@@ -910,6 +910,8 @@ static const struct hda_verb vt1708S_ini
 static void override_mic_boost(struct hda_codec *codec, hda_nid_t pin,
                               int offset, int num_steps, int step_size)
 {
+       snd_hda_override_wcaps(codec, pin,
+                              get_wcaps(codec, pin) | AC_WCAP_IN_AMP);
        snd_hda_override_amp_caps(codec, pin, HDA_INPUT,
                                  (offset << AC_AMPCAP_OFFSET_SHIFT) |
                                  (num_steps << AC_AMPCAP_NUM_STEPS_SHIFT) |


Patches currently in stable-queue which might be from [email protected] are

queue-3.10/alsa-hda-fix-missing-mic-boost-controls-for-via-codecs.patch
queue-3.10/alsa-hda-fix-return-value-of-snd_hda_check_power_state.patch
queue-3.10/asoc-atmel-fix-unlocked-snd_pcm_stop-call.patch
queue-3.10/alsa-usx2y-fix-unlocked-snd_pcm_stop-call.patch
queue-3.10/asoc-s6000-fix-unlocked-snd_pcm_stop-call.patch
queue-3.10/alsa-hda-add-new-gpu-codec-id-to-snd-hda.patch
queue-3.10/alsa-ua101-fix-unlocked-snd_pcm_stop-call.patch
queue-3.10/alsa-6fire-fix-unlocked-snd_pcm_stop-call.patch
queue-3.10/alsa-hda-fix-eapd-vmaster-hook-for-ad1884-co.patch
queue-3.10/alsa-hda-cache-the-mux-selection-for-generic-hdmi.patch
queue-3.10/alsa-seq-oss-initialize-midi-clients-asynchronously.patch
queue-3.10/alsa-atiixp-fix-unlocked-snd_pcm_stop-call.patch
queue-3.10/alsa-asihpi-fix-unlocked-snd_pcm_stop-call.patch
queue-3.10/alsa-pxa2xx-fix-unlocked-snd_pcm_stop-call.patch
queue-3.10/alsa-hda-fix-the-max-length-of-control-name-in-generic-parser.patch
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to