On Tue, Mar 22, 2011 at 10:19:59PM +0100, David Henningsson wrote: > Hi Stable kernel maintainers, > > Just upstreaming something we just applied to 2.6.38 in Ubuntu - if > you find it worthwhile to add it as well, feel free to do so. IIRC > the codec in question was probably added around 2.6.36 or 2.6.37, so > applying it too far back won't make much sense.
I need an ack from Takashi on this before I can take it. Takashi? thanks, greg k-h > >From c6066ab342e8cb3e4e3ec74f7577f099d79465b3 Mon Sep 17 00:00:00 2001 > From: David Henningsson <[email protected]> > Date: Tue, 22 Mar 2011 10:23:28 +0100 > Subject: [PATCH] ALSA: HDA: Fix internal mic on Dell E5420/E5520 > > This is a fixup for the 2.6.38 kernel, as the issue is being resolved > by upstream commits 699d899560cd7e72da39231e584412e7ac8114a4 and > 094a42452abd5564429045e210281c6d22e67fca - which are too invasive > to reach 2.6.38. Instead make pin fixes as a workaround. > > BugLink: http://bugs.launchpad.net/bugs/740055 > Tested-by: Kent Baxley <[email protected]> > Signed-off-by: David Henningsson <[email protected]> > --- > sound/pci/hda/patch_sigmatel.c | 18 ++++++++++++++++++ > 1 files changed, 18 insertions(+), 0 deletions(-) > > diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c > index bd7b123..03d1d35 100644 > --- a/sound/pci/hda/patch_sigmatel.c > +++ b/sound/pci/hda/patch_sigmatel.c > @@ -94,6 +94,7 @@ enum { > STAC_92HD83XXX_REF, > STAC_92HD83XXX_PWR_REF, > STAC_DELL_S14, > + STAC_DELL_E5520M, > STAC_92HD83XXX_HP, > STAC_HP_DV7_4000, > STAC_92HD83XXX_MODELS > @@ -1652,6 +1653,13 @@ static unsigned int dell_s14_pin_configs[10] = { > 0x40f000f0, 0x40f000f0, > }; > > +/* Switch int mic from 0x20 to 0x11 */ > +static unsigned int dell_e5520m_pin_configs[10] = { > + 0x04a11020, 0x0421101f, 0x400000f0, 0x90170110, > + 0x23011050, 0x23a1102e, 0x400000f3, 0xd5a30130, > + 0x400000f0, 0x40f000f0, > +}; > + > static unsigned int hp_dv7_4000_pin_configs[10] = { > 0x03a12050, 0x0321201f, 0x40f000f0, 0x90170110, > 0x40f000f0, 0x40f000f0, 0x90170110, 0xd5a30140, > @@ -1662,6 +1670,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_E5520M] = dell_e5520m_pin_configs, > [STAC_HP_DV7_4000] = hp_dv7_4000_pin_configs, > }; > > @@ -1670,6 +1679,7 @@ static const char * const > stac92hd83xxx_models[STAC_92HD83XXX_MODELS] = { > [STAC_92HD83XXX_REF] = "ref", > [STAC_92HD83XXX_PWR_REF] = "mic-ref", > [STAC_DELL_S14] = "dell-s14", > + [STAC_DELL_E5520M] = "dell-e5520m", > [STAC_92HD83XXX_HP] = "hp", > [STAC_HP_DV7_4000] = "hp-dv7-4000", > }; > @@ -1682,6 +1692,14 @@ 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, 0x049a, > + "Dell E5520", STAC_DELL_E5520M), > + SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x049b, > + "Dell E5420", STAC_DELL_E5520M), > + SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x04eb, > + "Dell E5420m", STAC_DELL_E5520M), > + SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x04ec, > + "Dell E5520m", STAC_DELL_E5520M), > SND_PCI_QUIRK_MASK(PCI_VENDOR_ID_HP, 0xff00, 0x3600, > "HP", STAC_92HD83XXX_HP), > {} /* terminator */ > -- > 1.7.1 > > _______________________________________________ > stable mailing list > [email protected] > http://linux.kernel.org/mailman/listinfo/stable _______________________________________________ stable mailing list [email protected] http://linux.kernel.org/mailman/listinfo/stable
