All of lore.kernel.org
 help / color / mirror / Atom feed
* Conexant 5051 lenovo-x200 fixes
@ 2011-08-18  0:45 Ulo Mets
  2011-08-18 10:08 ` Takashi Iwai
  0 siblings, 1 reply; 15+ messages in thread
From: Ulo Mets @ 2011-08-18  0:45 UTC (permalink / raw)
  To: alsa-devel

Hi,
I am not a kernel developer, but occasionally dig into it if something gets in my way.
On Lenovo X200 Tablet none of the mixers showed Mic Boost adjustments, but HDA-Analyzer found them
and adjusted properly. So I inserted the corresponding controls, and it worked.
Then, during testing I found that the labels of External and Docking Mic are swapped,
so I exchanged these too. Since I could not test it on other hardware, I put it all on lenovo-x200 branch.
The patch applies to 3.1-rc2, I hope it is sufficiently recent.
The Mic Switches don't have any effect on my unit (X200T without modem)

With best regards,

Ulo Mets

Signed-off-by: Ulo Mets<umets at osa.pri.ee>

---b/sound/pci/hda/patch_conexant.c	2011-08-01 12:45:32.302640276 +0300
+++ a/sound/pci/hda/patch_conexant.c	2011-08-01 12:50:22.003141176 +0300
@@ -1785,6 +1785,19 @@
  	{}
  };

+static const struct snd_kcontrol_new cxt5051_lenovo_x200_mixers[] = {
+	HDA_CODEC_VOLUME("Int Mic Volume", 0x14, 0x00, HDA_INPUT),
+	HDA_CODEC_MUTE("Int Mic Switch", 0x14, 0x00, HDA_INPUT),
+	HDA_CODEC_VOLUME("Dock Mic Volume", 0x14, 0x01, HDA_INPUT),
+	HDA_CODEC_MUTE("Dock Mic Switch", 0x14, 0x01, HDA_INPUT),
+	HDA_CODEC_VOLUME("Ext Mic Volume", 0x15, 0x00, HDA_INPUT),
+	HDA_CODEC_MUTE("Ext Mic Switch", 0x15, 0x00, HDA_INPUT),
+	HDA_CODEC_VOLUME("Int Mic Boost", 0x1d, 0x00, HDA_INPUT),
+	HDA_CODEC_VOLUME("Dock Mic Boost", 0x17, 0x00, HDA_INPUT),
+	HDA_CODEC_VOLUME("Ext Mic Boost", 0x18, 0x00, HDA_INPUT),
+	{}
+};
+
  static const struct snd_kcontrol_new cxt5051_hp_mixers[] = {
  	HDA_CODEC_VOLUME("Internal Mic Volume", 0x14, 0x00, HDA_INPUT),
  	HDA_CODEC_MUTE("Internal Mic Switch", 0x14, 0x00, HDA_INPUT),
@@ -2055,6 +2079,7 @@
  		break;
  	case CXT5051_LENOVO_X200:
  		spec->init_verbs[0] = cxt5051_lenovo_x200_init_verbs;
+		spec->mixers[0] = cxt5051_lenovo_x200_mixers;
  		/* Thinkpad X301 does not have S/PDIF wired and no ability
  		   to use a docking station. */
  		if (codec->subsystem_id == 0x17aa211f)

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2011-08-24 16:33 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-08-18  0:45 Conexant 5051 lenovo-x200 fixes Ulo Mets
2011-08-18 10:08 ` Takashi Iwai
2011-08-19  0:00   ` Ulo Mets
2011-08-19  5:43     ` Takashi Iwai
2011-08-20 15:14       ` Ülo Mets
2011-08-22 12:00         ` Takashi Iwai
2011-08-23 11:32           ` Ulo Mets
2011-08-23 13:10             ` Takashi Iwai
2011-08-24  2:45               ` Ulo Mets
2011-08-24  3:25               ` Ulo Mets
2011-08-24  5:53                 ` Takashi Iwai
2011-08-24  8:59                   ` Takashi Iwai
2011-08-24 11:26                     ` Ulo Mets
2011-08-24 11:58                       ` Takashi Iwai
2011-08-24 16:33                         ` Takashi Iwai

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.