]> git.ipfire.org Git - people/pmueller/ipfire-2.x.git/blobdiff - src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-stac92xx-mic-pin-fix
Revert "Move xen patchset to new version's subdir."
[people/pmueller/ipfire-2.x.git] / src / patches / suse-2.6.27.31 / patches.drivers / alsa-hda-stac92xx-mic-pin-fix
diff --git a/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-stac92xx-mic-pin-fix b/src/patches/suse-2.6.27.31/patches.drivers/alsa-hda-stac92xx-mic-pin-fix
deleted file mode 100644 (file)
index be1c11f..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-From: Takashi Iwai <tiwai@suse.de>
-Subject: ALSA: hda - Fix input pin initialization for STAC/IDT codecs
-Patch-mainline: 
-References: bnc#443738
-
-The input pins are sometimes not initialized properly because
-of the optimization check of the current pinctl code.
-
-Force to initialize the mic input pins so that they can be set up
-properly even if they were in a weird state.  But keep other input
-pins if already set up as input, since this could be an extra mic
-pin.
-
-Reference: Novell bnc#443738
-       https://bugzilla.novell.com/show_bug.cgi?id=443738
-
-Signed-off-by: Takashi Iwai <tiwai@suse.de>
-
----
- sound/pci/hda/patch_sigmatel.c |   20 ++++++++++++--------
- 1 file changed, 12 insertions(+), 8 deletions(-)
-
---- a/sound/pci/hda/patch_sigmatel.c
-+++ b/sound/pci/hda/patch_sigmatel.c
-@@ -3658,14 +3658,18 @@ static int stac92xx_init(struct hda_code
-       for (i = 0; i < AUTO_PIN_LAST; i++) {
-               hda_nid_t nid = cfg->input_pins[i];
-               if (nid) {
--                      unsigned int pinctl = snd_hda_codec_read(codec, nid,
--                              0, AC_VERB_GET_PIN_WIDGET_CONTROL, 0);
--                      /* if PINCTL already set then skip */
--                      if (pinctl & AC_PINCAP_IN)
--                              continue;
--                      pinctl = AC_PINCTL_IN_EN;
--                      if (i == AUTO_PIN_MIC || i == AUTO_PIN_FRONT_MIC)
--                              pinctl |= stac92xx_get_vref(codec, nid);
-+                      unsigned int pinctl;
-+                      if (i == AUTO_PIN_MIC || i == AUTO_PIN_FRONT_MIC) {
-+                              /* for mic pins, force to initialize */
-+                              pinctl = stac92xx_get_vref(codec, nid);
-+                      } else {
-+                              pinctl = snd_hda_codec_read(codec, nid, 0,
-+                                      AC_VERB_GET_PIN_WIDGET_CONTROL, 0);
-+                              /* if PINCTL already set then skip */
-+                              if (pinctl & AC_PINCTL_IN_EN)
-+                                      continue;
-+                      }
-+                      pinctl |= AC_PINCTL_IN_EN;
-                       stac92xx_auto_set_pinctl(codec, nid, pinctl);
-               }
-       }