[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