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 */ };