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

Reply via email to