[alsa-devel] Band-aid solution for Dell Latitude E6410/E6510 microphone
Hi all,
I'm sending out a patch that I didn't write (and thus most likely require David's Signed-Off), but which I think might be a good idea to at least have accessible to search.
As David already pointed out to me, the proper fix for the issue is Takashi's commit 75e0eb24ee3ec3549c2e53707dcc87e5f7a2c791, but that hasn't made it into .36 RCs and thus seem unlikely to come to users anytime soon.
David's patch is a "band aid" solution; it solves most of the problem by adding one more special case to the sigmatel patches; on the other hand it makes the internal microphone to work fine on my laptop, which is a good thing, right?
Anyway, if this can be considered for .36 or for some stable branch (*looks toward Greg hoping for pity*), it would probably make me (and other owners of such laptops) probably very happy. Especially given that we have enough trouble with a non-working SDHCI and a not-yet-supported Alps touchpad/trackpoint combination.
Thanks in advance, whatever the outcome,
From: David Henningsson david.henningsson@canonical.com
BugLink: http://launchpad.net/bugs/628961 BugLink: http://launchpad.net/bugs/605047
CC: Diego Elio Pettenò flameeyes@gmail.com --- sound/pci/hda/patch_sigmatel.c | 14 ++++++++++++++ 1 files changed, 14 insertions(+), 0 deletions(-)
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index b8d730c..d2e2706 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c @@ -93,6 +93,7 @@ enum { STAC_92HD83XXX_REF, STAC_92HD83XXX_PWR_REF, STAC_DELL_S14, + STAC_DELL_E6410, STAC_92HD83XXX_HP, STAC_92HD83XXX_MODELS }; @@ -1632,10 +1633,18 @@ static unsigned int dell_s14_pin_configs[10] = { 0x40f000f0, 0x40f000f0, };
+/* Deliberately turn off 0x0f (Dock Mic) to make it choose Int Mic instead */ +static unsigned int dell_e6410_pin_configs[10] = { + 0x04a11020, 0x0421101f, 0x400000f0, 0x90170110, + 0x23011050, 0x40f000f0, 0x400000f0, 0x90a60130, + 0x40f000f0, 0x40f000f0, +}; + static unsigned int *stac92hd83xxx_brd_tbl[STAC_92HD83XXX_MODELS] = { [STAC_92HD83XXX_REF] = ref92hd83xxx_pin_configs, [STAC_92HD83XXX_PWR_REF] = ref92hd83xxx_pin_configs, [STAC_DELL_S14] = dell_s14_pin_configs, + [STAC_DELL_E6410] = dell_e6410_pin_configs, };
static const char *stac92hd83xxx_models[STAC_92HD83XXX_MODELS] = { @@ -1643,6 +1652,7 @@ static const char *stac92hd83xxx_models[STAC_92HD83XXX_MODELS] = { [STAC_92HD83XXX_REF] = "ref", [STAC_92HD83XXX_PWR_REF] = "mic-ref", [STAC_DELL_S14] = "dell-s14", + [STAC_DELL_E6410] = "dell-e6410", [STAC_92HD83XXX_HP] = "hp", };
@@ -1654,6 +1664,10 @@ static struct snd_pci_quirk stac92hd83xxx_cfg_tbl[] = { "DFI LanParty", STAC_92HD83XXX_REF), SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x02ba, "unknown Dell", STAC_DELL_S14), + SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x040a, + "Dell E6410", STAC_DELL_E6410), + SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x040b, + "Dell E6510", STAC_DELL_E6410), SND_PCI_QUIRK_MASK(PCI_VENDOR_ID_HP, 0xff00, 0x3600, "HP", STAC_92HD83XXX_HP), {} /* terminator */
On 2010-09-29 04:09, Diego Elio Pettenò wrote:
Hi all,
I'm sending out a patch that I didn't write (and thus most likely require David's Signed-Off), but which I think might be a good idea to at least have accessible to search.
As David already pointed out to me, the proper fix for the issue is Takashi's commit 75e0eb24ee3ec3549c2e53707dcc87e5f7a2c791, but that hasn't made it into .36 RCs and thus seem unlikely to come to users anytime soon.
David's patch is a "band aid" solution; it solves most of the problem by adding one more special case to the sigmatel patches; on the other hand it makes the internal microphone to work fine on my laptop, which is a good thing, right?
It might also break docking station microphones on the same machines, which is why I thought it was no use trying to send it to stable. But if stable wants to add it, I'd be glad to give a sign-off or whatever necessary.
participants (2)
-
David Henningsson
-
Diego Elio Pettenò