[alsa-devel] [PATCH] ALSA: hda - Add pin quirk for the headset mic jack detection on Dell laptop

Takashi Iwai tiwai at suse.de
Mon Jul 27 12:52:16 CEST 2015


On Mon, 27 Jul 2015 12:34:31 +0200,
woodrow.shen at canonical.com wrote:
> 
> From: Woodrow Shen <woodrow.shen at canonical.com>
> 
> The new Dell laptop with codec 256 can't detect headset mic when headset was 
> inserted on the machine. From alsa-info, we check init_pin_configs and need to
> define the new register value for pin 0x1d & 0x1e because the original macro 
> ALC256_STANDARD_PINS can't match pin definition. Also, the macro ALC256_STANDARD_PINS
> is simplified by removing them. This makes headset mic works on laptop.
> 
> Codec: Realtek ALC256
> Vendor Id: 0x10ec0256
> Subsystem Id: 0x102806f2
> 
> BugLink: https://bugs.launchpad.net/bugs/1478497
> Signed-off-by: Woodrow Shen <woodrow.shen at canonical.com>

I applied this as is now.  But the code there is already messy, and I
wonder whether we should treat all 0x4xxxxxxx equally.  So far, all
pincfgs are regarded as a kind of fingerprint.  But, judging from the
actual values, the difference of 0x4xxxxxxx might be just a leftover
of wastes by BIOS programmers.

I don't mind any other way, but a sane cleanup would be appreciated.


thanks,

Takashi

> ---
>  sound/pci/hda/patch_realtek.c | 15 +++++++++++----
>  1 file changed, 11 insertions(+), 4 deletions(-)
> 
> diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
> index d94c0e3..4ae877c 100644
> --- a/sound/pci/hda/patch_realtek.c
> +++ b/sound/pci/hda/patch_realtek.c
> @@ -5398,8 +5398,6 @@ static const struct hda_model_fixup alc269_fixup_models[] = {
>  	{0x19, 0x411111f0}, \
>  	{0x1a, 0x411111f0}, \
>  	{0x1b, 0x411111f0}, \
> -	{0x1d, 0x40700001}, \
> -	{0x1e, 0x411111f0}, \
>  	{0x21, 0x02211020}
>  
>  #define ALC282_STANDARD_PINS \
> @@ -5556,10 +5554,19 @@ static const struct snd_hda_pin_quirk alc269_pin_fixup_tbl[] = {
>  		{0x21, 0x02211030}),
>  	SND_HDA_PIN_QUIRK(0x10ec0256, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE,
>  		ALC256_STANDARD_PINS,
> -		{0x13, 0x40000000}),
> +		{0x13, 0x40000000},
> +		{0x1d, 0x40700001},
> +		{0x1e, 0x411111f0}),
>  	SND_HDA_PIN_QUIRK(0x10ec0256, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE,
>  		ALC256_STANDARD_PINS,
> -		{0x13, 0x411111f0}),
> +		{0x13, 0x411111f0},
> +		{0x1d, 0x40700001},
> +		{0x1e, 0x411111f0}),
> +	SND_HDA_PIN_QUIRK(0x10ec0256, 0x1028, "Dell", ALC255_FIXUP_DELL1_MIC_NO_PRESENCE,
> +		ALC256_STANDARD_PINS,
> +		{0x13, 0x411111f0},
> +		{0x1d, 0x4077992d},
> +		{0x1e, 0x411111ff}),
>  	SND_HDA_PIN_QUIRK(0x10ec0280, 0x103c, "HP", ALC280_FIXUP_HP_GPIO4,
>  		{0x12, 0x90a60130},
>  		{0x13, 0x40000000},
> -- 
> 2.1.4
> 


More information about the Alsa-devel mailing list