[Lucid] [Maverick] UBUNTU: SAUCE: (no-up) ALSA: HDA: Enable internal mic on Dell E6410 and Dell E6510

Leann Ogasawara leann.ogasawara at canonical.com
Wed Sep 15 16:10:27 UTC 2010


On Tue, 2010-09-14 at 09:40 -0700, Leann Ogasawara wrote:
> On Tue, 2010-09-14 at 11:21 +0200, David Henningsson wrote:
> > BugLink: http://launchpad.net/bugs/605047
> > 
> > The attached patch will enable internal mic on Dell E6410 and Dell 
> > E6510. It will not go upstream since Takashi decided on a different 
> > solution. Takashi's solution is a bit invasive though, so it won't land 
> > for Lucid or Maverick, so we'll need this less invasive one instead.
> > 
> > Signed-off-by: David Henningsson <david.henningsson at canonical.com>
> > ---
> >   sound/pci/hda/patch_sigmatel.c |   15 +++++++++++++++
> >   1 files changed, 15 insertions(+), 0 deletions(-)
> 
> Hi David,
> 
> This looks reasonable enough to apply to Maverick.  However, the patch
> doesn't apply cleanly to the Maverick linux master repo.  Care to fix it
> up and re-send.  Also, I assume I can add a note to the commit message
> stating that we should be able to drop this patch in Natty as it'll be
> obsoleted by Takashi's solution?

Given the time constraints for kernel freeze, I've gone ahead and fixed
up this up and applied.  David, please review to make sure I didn't
bodge anything up.

Thanks,
Leann

>From c2c0845ac24529ca16aa90866f2951a9ba1264da Mon Sep 17 00:00:00 2001
From: David Henningsson <david.henningsson at canonical.com>
Date: Fri, 3 Sep 2010 21:01:42 +0200
Subject: [PATCH] UBUNTU: SAUCE: ALSA: HDA: Enable internal mic on Dell E6410 and Dell E6510

BugLink: http://launchpad.net/bugs/628961
BugLink: http://launchpad.net/bugs/605047

This patch will enable internal mic on Dell E6410 and Dell E6510. It
will not go upstream since Takashi decided on a different solution.
Takashi's solution is a bit invasive though, so it won't land for
Maverick, so we'll need this less invasive one instead.  We should be
able to drop this patch in Natty as it should be obsoleted by Takashi's
solution.

Signed-off-by: David Henningsson <david.henningsson at canonical.com>
Signed-off-by: Leann Ogasawara <leann.ogasawara at canonical.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 3f5a952..7a881f1 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_DELL_M6500,
 	STAC_92HD83XXX_MODELS
@@ -1633,6 +1634,13 @@ 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,
+};
+
 /* Dell Precision M6500, make sure 0x0e is silenced */
 static unsigned int dell_m6500_pin_configs[10] = {
 	0x03a11030, 0x0321101f, 0x400000f0, 0x90170110,
@@ -1644,6 +1652,7 @@ 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,
 	[STAC_DELL_M6500] = dell_m6500_pin_configs,
 };
 
@@ -1652,6 +1661,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_DELL_M6500] = "dell-m6500",
 	[STAC_92HD83XXX_HP] = "hp",
 };
@@ -1664,6 +1674,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(PCI_VENDOR_ID_DELL, 0x02ef,
 		      "Dell M6500", STAC_DELL_M6500),
 	SND_PCI_QUIRK_MASK(PCI_VENDOR_ID_HP, 0xff00, 0x3600,
-- 
1.7.1







More information about the kernel-team mailing list