diff mbox

ALSA: hda - Fix Dell laptop for internal mic/headset mic

Message ID 1438749252-17151-1-git-send-email-woodrow.shen@canonical.com (mailing list archive)
State New, archived
Headers show

Commit Message

woodrow.shen@canonical.com Aug. 5, 2015, 4:34 a.m. UTC
From: Woodrow Shen <woodrow.shen@canonical.com>

The new Dell laptop with ALC3266 can't use internal microphone to
record. Also, the 3 ring headset mic doesn't work on it. For src of
patch_realtek.c, only the pin cfg of Nid 0x17 is different, so the
Nid 0x17 is added into pin quirk, and others are defined to macro
ALC298_STANDARD_PINS in common use.

Codec: Realtek ALC3266
Vendor Id: 0x10ec0298
Subsystem Id: 0x102806e5

BugLink: https://bugs.launchpad.net/bugs/1481575
Signed-off-by: Woodrow Shen <woodrow.shen@canonical.com>
---
 sound/pci/hda/patch_realtek.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

Comments

Takashi Iwai Aug. 5, 2015, 5:56 a.m. UTC | #1
On Wed, 05 Aug 2015 06:34:12 +0200,
woodrow.shen@canonical.com wrote:
> 
> From: Woodrow Shen <woodrow.shen@canonical.com>
> 
> The new Dell laptop with ALC3266 can't use internal microphone to
> record. Also, the 3 ring headset mic doesn't work on it. For src of
> patch_realtek.c, only the pin cfg of Nid 0x17 is different, so the
> Nid 0x17 is added into pin quirk, and others are defined to macro
> ALC298_STANDARD_PINS in common use.
> 
> Codec: Realtek ALC3266
> Vendor Id: 0x10ec0298
> Subsystem Id: 0x102806e5
> 
> BugLink: https://bugs.launchpad.net/bugs/1481575
> Signed-off-by: Woodrow Shen <woodrow.shen@canonical.com>

Applied, but to for-next branch as this change assumes the previous
cleanup; i.e. the fix won't go to 4.2 but to 4.3 kernel.


thanks,

Takashi

> ---
>  sound/pci/hda/patch_realtek.c | 12 +++++++++---
>  1 file changed, 9 insertions(+), 3 deletions(-)
> 
> diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
> index b20f104..294ba67 100644
> --- a/sound/pci/hda/patch_realtek.c
> +++ b/sound/pci/hda/patch_realtek.c
> @@ -5401,6 +5401,10 @@ static const struct hda_model_fixup alc269_fixup_models[] = {
>  	{0x14, 0x90170110}, \
>  	{0x15, 0x0221401f}
>  
> +#define ALC298_STANDARD_PINS \
> +	{0x12, 0x90a60130}, \
> +	{0x21, 0x03211020}
> +
>  static const struct snd_hda_pin_quirk alc269_pin_fixup_tbl[] = {
>  	SND_HDA_PIN_QUIRK(0x10ec0255, 0x1028, "Dell", ALC255_FIXUP_DELL2_MIC_NO_PRESENCE,
>  		{0x14, 0x90170110},
> @@ -5570,9 +5574,11 @@ static const struct snd_hda_pin_quirk alc269_pin_fixup_tbl[] = {
>  		ALC292_STANDARD_PINS,
>  		{0x13, 0x90a60140}),
>  	SND_HDA_PIN_QUIRK(0x10ec0298, 0x1028, "Dell", ALC298_FIXUP_DELL1_MIC_NO_PRESENCE,
> -		{0x12, 0x90a60130},
> -		{0x17, 0x90170140},
> -		{0x21, 0x03211020}),
> +		ALC298_STANDARD_PINS,
> +		{0x17, 0x90170140}),
> +	SND_HDA_PIN_QUIRK(0x10ec0298, 0x1028, "Dell", ALC298_FIXUP_DELL1_MIC_NO_PRESENCE,
> +		ALC298_STANDARD_PINS,
> +		{0x17, 0x90170110}),
>  	{}
>  };
>  
> -- 
> 2.1.4
>
diff mbox

Patch

diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index b20f104..294ba67 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -5401,6 +5401,10 @@  static const struct hda_model_fixup alc269_fixup_models[] = {
 	{0x14, 0x90170110}, \
 	{0x15, 0x0221401f}
 
+#define ALC298_STANDARD_PINS \
+	{0x12, 0x90a60130}, \
+	{0x21, 0x03211020}
+
 static const struct snd_hda_pin_quirk alc269_pin_fixup_tbl[] = {
 	SND_HDA_PIN_QUIRK(0x10ec0255, 0x1028, "Dell", ALC255_FIXUP_DELL2_MIC_NO_PRESENCE,
 		{0x14, 0x90170110},
@@ -5570,9 +5574,11 @@  static const struct snd_hda_pin_quirk alc269_pin_fixup_tbl[] = {
 		ALC292_STANDARD_PINS,
 		{0x13, 0x90a60140}),
 	SND_HDA_PIN_QUIRK(0x10ec0298, 0x1028, "Dell", ALC298_FIXUP_DELL1_MIC_NO_PRESENCE,
-		{0x12, 0x90a60130},
-		{0x17, 0x90170140},
-		{0x21, 0x03211020}),
+		ALC298_STANDARD_PINS,
+		{0x17, 0x90170140}),
+	SND_HDA_PIN_QUIRK(0x10ec0298, 0x1028, "Dell", ALC298_FIXUP_DELL1_MIC_NO_PRESENCE,
+		ALC298_STANDARD_PINS,
+		{0x17, 0x90170110}),
 	{}
 };