[alsa-devel] Got microphone working with SigmaTel STAC 9221 A1 on a Dell XPS M1210

Takashi Iwai tiwai at suse.de
Tue Jun 12 15:30:08 CEST 2007


At Tue, 12 Jun 2007 15:19:02 +0200,
I wrote:
> 
> At Sat, 09 Jun 2007 16:37:11 -0700,
> Eran Guendelman wrote:
> > 
> > I installed SuSE 10.2 on my new XPS M1210 laptop and found that the 
> > microphone was not working (headphones and internal speakers worked 
> > fine).  I eventually got it working, and wanted to write an email 
> > describing how I did this.
> > 
> > The two main important steps (which I will describe in more detail 
> > below) were:
> > - Changing the default pin configurations ref922x_pin_configs in 
> > patch_sigmatel.c to values that were based on the windows driver's INI 
> > file but with one important tweak.
> > - Running the driver using the "model=ref" parameter so that the above 
> > modified pin configurations are used.
> > 
> > Note that it could be that my solution is overkill and there's actually 
> > a way to get this working with the unmodified alsa drivers...  But I did 
> > not find any such solutions (e.g. I've tried setting "model=ref", 
> > "model=3stack", "model=5stack", but none of those fixed the microphone). 
> 
> So, we need to add a new model.  Could you give the output of "lspci
> -nv", too?  We need PCI SSID to identify the device.  Then I can write
> a patch to try.

FYI, the below is a test patch I blindly pasted the ID you showed.
But, the codec SSID isn't always identical with PCI SSID, so please
check the output of "lspci -nv", and fix the value appropriately.


Takashi

diff -r 640ed49a540d Documentation/ALSA-Configuration.txt
--- a/Documentation/ALSA-Configuration.txt	Tue Jun 12 11:27:46 2007 +0200
+++ b/Documentation/ALSA-Configuration.txt	Tue Jun 12 15:25:44 2007 +0200
@@ -927,6 +927,7 @@ Prior to version 0.9.0rc4 options had a 
 	  ref		Reference board
 	  3stack	D945 3stack
 	  5stack	D945 5stack + SPDIF
+	  dell		Dell XPS M1210
 	  intel-mac-v1	Intel Mac Type 1
 	  intel-mac-v2	Intel Mac Type 2
 	  intel-mac-v3	Intel Mac Type 3
diff -r 640ed49a540d pci/hda/patch_sigmatel.c
--- a/pci/hda/patch_sigmatel.c	Tue Jun 12 11:27:46 2007 +0200
+++ b/pci/hda/patch_sigmatel.c	Tue Jun 12 15:25:13 2007 +0200
@@ -59,6 +59,7 @@ enum {
 	STAC_D945_REF,
 	STAC_D945GTP3,
 	STAC_D945GTP5,
+	STAC_922X_DELL,
 	STAC_INTEL_MAC_V1,
 	STAC_INTEL_MAC_V2,
 	STAC_INTEL_MAC_V3,
@@ -586,10 +587,17 @@ static unsigned int intel_mac_v5_pin_con
 	0x400000fc, 0x400000fb,
 };
 
+static unsigned int stac922x_dell_pin_configs[10] = {
+	0x0221121e, 0x408103ff, 0x02a1123e, 0x90100310,
+	0x408003f1, 0x0221122f, 0x03451340, 0x40c003f2,
+	0x50a003f3, 0x405003f4
+};
+
 static unsigned int *stac922x_brd_tbl[STAC_922X_MODELS] = {
 	[STAC_D945_REF] = ref922x_pin_configs,
 	[STAC_D945GTP3] = d945gtp3_pin_configs,
 	[STAC_D945GTP5] = d945gtp5_pin_configs,
+	[STAC_922X_DELL] = stac922x_dell_pin_configs,
 	[STAC_INTEL_MAC_V1] = intel_mac_v1_pin_configs,
 	[STAC_INTEL_MAC_V2] = intel_mac_v2_pin_configs,
 	[STAC_INTEL_MAC_V3] = intel_mac_v3_pin_configs,
@@ -608,6 +616,7 @@ static const char *stac922x_models[STAC_
 	[STAC_D945_REF]	= "ref",
 	[STAC_D945GTP5]	= "5stack",
 	[STAC_D945GTP3]	= "3stack",
+	[STAC_922X_DELL] = "dell",
 	[STAC_INTEL_MAC_V1] = "intel-mac-v1",
 	[STAC_INTEL_MAC_V2] = "intel-mac-v2",
 	[STAC_INTEL_MAC_V3] = "intel-mac-v3",
@@ -683,6 +692,9 @@ static struct snd_pci_quirk stac922x_cfg
 	/* Apple Mac Mini (early 2006) */
 	SND_PCI_QUIRK(0x8384, 0x7680,
 		      "Mac Mini", STAC_INTEL_MAC_V3),
+	/* Dell */
+	SND_PCI_QUIRK(0x1028, 0x01d7, "Dell XPS M1210", STAC_922X_DELL),
+
 	{} /* terminator */
 };
 


More information about the Alsa-devel mailing list