diff mbox

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

Message ID 1284567028.2007.2772.camel@emiko
State Accepted
Delegated to: Leann Ogasawara
Headers show

Commit Message

Leann Ogasawara Sept. 15, 2010, 4:10 p.m. UTC
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@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@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@canonical.com>
Signed-off-by: Leann Ogasawara <leann.ogasawara@canonical.com>
---
 sound/pci/hda/patch_sigmatel.c |   14 ++++++++++++++
 1 files changed, 14 insertions(+), 0 deletions(-)

Comments

David Henningsson Sept. 16, 2010, 6:20 a.m. UTC | #1
On 2010-09-15 18:10, Leann Ogasawara wrote:
> 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@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 for helping out, I'm sure it's correct. The patch posted was 
against the Lucid kernel, has it been applied there?
Leann Ogasawara Sept. 16, 2010, 6:25 a.m. UTC | #2
On Thu, 2010-09-16 at 08:20 +0200, David Henningsson wrote:
> On 2010-09-15 18:10, Leann Ogasawara wrote:
> > 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@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 for helping out, I'm sure it's correct. The patch posted was 
> against the Lucid kernel, has it been applied there?

Sorry I should have clarified, it's been applied to the Maverick kernel.
It's still pending for Lucid.  Here's my Ack for Lucid in case the
Ubuntu Kernel SRU team needs it:

Acked-by: Leann Ogasawara <leann.ogasawara@canonical.com>
diff mbox

Patch

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,