[1/4] ALSA: hda/realtek: ALC286 mic and headset-mode fixups for Acer Aspire U27-880
diff mbox series

Message ID 20181205064856.19380-1-jian-hong@endlessm.com
State New
Headers show
Series
  • [1/4] ALSA: hda/realtek: ALC286 mic and headset-mode fixups for Acer Aspire U27-880
Related show

Commit Message

Jian-Hong Pan Dec. 5, 2018, 6:48 a.m. UTC
From: Chris Chiu <chiu@endlessm.com>

Acer Aspire U27-880(AIO) with ALC286 codec can not detect headset mic
and internal mic not working either. It needs the similar quirk like
Sony laptops to fix headphone jack sensing and enables use of the
internal microphone.

Unfortunately jack sensing for the headset mic is still not working.

Signed-off-by: Jian-Hong Pan <jian-hong@endlessm.com>
Signed-off-by: Daniel Drake <drake@endlessm.com>
Signed-off-by: Chris Chiu <chiu@endlessm.com>
---
 sound/pci/hda/patch_realtek.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

Comments

Kailang Dec. 5, 2018, 8:52 a.m. UTC | #1
Hi Jian Hong,

Please also try to change model to ALC269_FIXUP_HEADSET_MODE_NO_HP_MIC.

+		.chain_id = ALC269_FIXUP_HEADSET_MIC  ==> change to  ALC269_FIXUP_HEADSET_MODE_NO_HP_MIC

BR,
Kailang
-----Original Message-----
From: Jian-Hong Pan <jian-hong@endlessm.com> 
Sent: Wednesday, December 5, 2018 2:49 PM
To: Jaroslav Kysela <perex@perex.cz>; Takashi Iwai <tiwai@suse.com>
Cc: Kailang <kailang@realtek.com>; Hui Wang <hui.wang@canonical.com>; alsa-devel@alsa-project.org; linux-kernel@vger.kernel.org; linux@endlessm.com; Chris Chiu <chiu@endlessm.com>; Jian-Hong Pan <jian-hong@endlessm.com>; Daniel Drake <drake@endlessm.com>
Subject: [PATCH 1/4] ALSA: hda/realtek: ALC286 mic and headset-mode fixups for Acer Aspire U27-880

From: Chris Chiu <chiu@endlessm.com>

Acer Aspire U27-880(AIO) with ALC286 codec can not detect headset mic and internal mic not working either. It needs the similar quirk like Sony laptops to fix headphone jack sensing and enables use of the internal microphone.

Unfortunately jack sensing for the headset mic is still not working.

Signed-off-by: Jian-Hong Pan <jian-hong@endlessm.com>
Signed-off-by: Daniel Drake <drake@endlessm.com>
Signed-off-by: Chris Chiu <chiu@endlessm.com>
---
 sound/pci/hda/patch_realtek.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index c0b289ba397f..f21d52eb2ed3 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -5516,6 +5516,7 @@ enum {
 	ALC221_FIXUP_HP_HEADSET_MIC,
 	ALC285_FIXUP_LENOVO_HEADPHONE_NOISE,
 	ALC295_FIXUP_HP_AUTO_MUTE,
+	ALC286_FIXUP_ACER_AIO_MIC_NO_PRESENCE,
 };
 
 static const struct hda_fixup alc269_fixups[] = { @@ -6393,6 +6394,15 @@ static const struct hda_fixup alc269_fixups[] = {
 		.type = HDA_FIXUP_FUNC,
 		.v.func = alc_fixup_auto_mute_via_amp,
 	},
+	[ALC286_FIXUP_ACER_AIO_MIC_NO_PRESENCE] = {
+		.type = HDA_FIXUP_PINS,
+		.v.pins = (const struct hda_pintbl[]) {
+			{ 0x18, 0x01a1913c }, /* use as headset mic, without its own jack detect */
+			{ }
+		},
+		.chained = true,
+		.chain_id = ALC269_FIXUP_HEADSET_MIC
+	},
 };
 
 static const struct snd_pci_quirk alc269_fixup_tbl[] = { @@ -7071,6 +7081,10 @@ static const struct snd_hda_pin_quirk alc269_pin_fixup_tbl[] = {
 		{0x14, 0x90170110},
 		{0x19, 0x04a11040},
 		{0x21, 0x04211020}),
+	SND_HDA_PIN_QUIRK(0x10ec0286, 0x1025, "Acer", ALC286_FIXUP_ACER_AIO_MIC_NO_PRESENCE,
+		{0x12, 0x90a60130},
+		{0x17, 0x90170110},
+		{0x21, 0x02211020}),
 	SND_HDA_PIN_QUIRK(0x10ec0288, 0x1028, "Dell", ALC288_FIXUP_DELL1_MIC_NO_PRESENCE,
 		{0x12, 0x90a60120},
 		{0x14, 0x90170110},
--
2.11.0
Kailang Dec. 5, 2018, 9:06 a.m. UTC | #2
Sorry!!
Don't change this.

-----Original Message-----
From: Kailang 
Sent: Wednesday, December 5, 2018 4:52 PM
To: 'Jian-Hong Pan' <jian-hong@endlessm.com>; Jaroslav Kysela <perex@perex.cz>; Takashi Iwai <tiwai@suse.com>
Cc: Hui Wang <hui.wang@canonical.com>; alsa-devel@alsa-project.org; linux-kernel@vger.kernel.org; linux@endlessm.com; Chris Chiu <chiu@endlessm.com>; Daniel Drake <drake@endlessm.com>
Subject: RE: [PATCH 1/4] ALSA: hda/realtek: ALC286 mic and headset-mode fixups for Acer Aspire U27-880

Hi Jian Hong,

Please also try to change model to ALC269_FIXUP_HEADSET_MODE_NO_HP_MIC.

+		.chain_id = ALC269_FIXUP_HEADSET_MIC  ==> change to  ALC269_FIXUP_HEADSET_MODE_NO_HP_MIC

BR,
Kailang
-----Original Message-----
From: Jian-Hong Pan <jian-hong@endlessm.com> 
Sent: Wednesday, December 5, 2018 2:49 PM
To: Jaroslav Kysela <perex@perex.cz>; Takashi Iwai <tiwai@suse.com>
Cc: Kailang <kailang@realtek.com>; Hui Wang <hui.wang@canonical.com>; alsa-devel@alsa-project.org; linux-kernel@vger.kernel.org; linux@endlessm.com; Chris Chiu <chiu@endlessm.com>; Jian-Hong Pan <jian-hong@endlessm.com>; Daniel Drake <drake@endlessm.com>
Subject: [PATCH 1/4] ALSA: hda/realtek: ALC286 mic and headset-mode fixups for Acer Aspire U27-880

From: Chris Chiu <chiu@endlessm.com>

Acer Aspire U27-880(AIO) with ALC286 codec can not detect headset mic and internal mic not working either. It needs the similar quirk like Sony laptops to fix headphone jack sensing and enables use of the internal microphone.

Unfortunately jack sensing for the headset mic is still not working.

Signed-off-by: Jian-Hong Pan <jian-hong@endlessm.com>
Signed-off-by: Daniel Drake <drake@endlessm.com>
Signed-off-by: Chris Chiu <chiu@endlessm.com>
---
 sound/pci/hda/patch_realtek.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index c0b289ba397f..f21d52eb2ed3 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -5516,6 +5516,7 @@ enum {
 	ALC221_FIXUP_HP_HEADSET_MIC,
 	ALC285_FIXUP_LENOVO_HEADPHONE_NOISE,
 	ALC295_FIXUP_HP_AUTO_MUTE,
+	ALC286_FIXUP_ACER_AIO_MIC_NO_PRESENCE,
 };
 
 static const struct hda_fixup alc269_fixups[] = { @@ -6393,6 +6394,15 @@ static const struct hda_fixup alc269_fixups[] = {
 		.type = HDA_FIXUP_FUNC,
 		.v.func = alc_fixup_auto_mute_via_amp,
 	},
+	[ALC286_FIXUP_ACER_AIO_MIC_NO_PRESENCE] = {
+		.type = HDA_FIXUP_PINS,
+		.v.pins = (const struct hda_pintbl[]) {
+			{ 0x18, 0x01a1913c }, /* use as headset mic, without its own jack detect */
+			{ }
+		},
+		.chained = true,
+		.chain_id = ALC269_FIXUP_HEADSET_MIC
+	},
 };
 
 static const struct snd_pci_quirk alc269_fixup_tbl[] = { @@ -7071,6 +7081,10 @@ static const struct snd_hda_pin_quirk alc269_pin_fixup_tbl[] = {
 		{0x14, 0x90170110},
 		{0x19, 0x04a11040},
 		{0x21, 0x04211020}),
+	SND_HDA_PIN_QUIRK(0x10ec0286, 0x1025, "Acer", ALC286_FIXUP_ACER_AIO_MIC_NO_PRESENCE,
+		{0x12, 0x90a60130},
+		{0x17, 0x90170110},
+		{0x21, 0x02211020}),
 	SND_HDA_PIN_QUIRK(0x10ec0288, 0x1028, "Dell", ALC288_FIXUP_DELL1_MIC_NO_PRESENCE,
 		{0x12, 0x90a60120},
 		{0x14, 0x90170110},
--
2.11.0
Takashi Iwai Dec. 5, 2018, 9:32 a.m. UTC | #3
On Wed, 05 Dec 2018 10:06:14 +0100,
Kailang wrote:
> 
> Sorry!!
> Don't change this.

Hm, should I apply these series or not?


thanks,

Takashi

> 
> -----Original Message-----
> From: Kailang 
> Sent: Wednesday, December 5, 2018 4:52 PM
> To: 'Jian-Hong Pan' <jian-hong@endlessm.com>; Jaroslav Kysela <perex@perex.cz>; Takashi Iwai <tiwai@suse.com>
> Cc: Hui Wang <hui.wang@canonical.com>; alsa-devel@alsa-project.org; linux-kernel@vger.kernel.org; linux@endlessm.com; Chris Chiu <chiu@endlessm.com>; Daniel Drake <drake@endlessm.com>
> Subject: RE: [PATCH 1/4] ALSA: hda/realtek: ALC286 mic and headset-mode fixups for Acer Aspire U27-880
> 
> Hi Jian Hong,
> 
> Please also try to change model to ALC269_FIXUP_HEADSET_MODE_NO_HP_MIC.
> 
> +		.chain_id = ALC269_FIXUP_HEADSET_MIC  ==> change to  ALC269_FIXUP_HEADSET_MODE_NO_HP_MIC
> 
> BR,
> Kailang
> -----Original Message-----
> From: Jian-Hong Pan <jian-hong@endlessm.com> 
> Sent: Wednesday, December 5, 2018 2:49 PM
> To: Jaroslav Kysela <perex@perex.cz>; Takashi Iwai <tiwai@suse.com>
> Cc: Kailang <kailang@realtek.com>; Hui Wang <hui.wang@canonical.com>; alsa-devel@alsa-project.org; linux-kernel@vger.kernel.org; linux@endlessm.com; Chris Chiu <chiu@endlessm.com>; Jian-Hong Pan <jian-hong@endlessm.com>; Daniel Drake <drake@endlessm.com>
> Subject: [PATCH 1/4] ALSA: hda/realtek: ALC286 mic and headset-mode fixups for Acer Aspire U27-880
> 
> From: Chris Chiu <chiu@endlessm.com>
> 
> Acer Aspire U27-880(AIO) with ALC286 codec can not detect headset mic and internal mic not working either. It needs the similar quirk like Sony laptops to fix headphone jack sensing and enables use of the internal microphone.
> 
> Unfortunately jack sensing for the headset mic is still not working.
> 
> Signed-off-by: Jian-Hong Pan <jian-hong@endlessm.com>
> Signed-off-by: Daniel Drake <drake@endlessm.com>
> Signed-off-by: Chris Chiu <chiu@endlessm.com>
> ---
>  sound/pci/hda/patch_realtek.c | 14 ++++++++++++++
>  1 file changed, 14 insertions(+)
> 
> diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index c0b289ba397f..f21d52eb2ed3 100644
> --- a/sound/pci/hda/patch_realtek.c
> +++ b/sound/pci/hda/patch_realtek.c
> @@ -5516,6 +5516,7 @@ enum {
>  	ALC221_FIXUP_HP_HEADSET_MIC,
>  	ALC285_FIXUP_LENOVO_HEADPHONE_NOISE,
>  	ALC295_FIXUP_HP_AUTO_MUTE,
> +	ALC286_FIXUP_ACER_AIO_MIC_NO_PRESENCE,
>  };
>  
>  static const struct hda_fixup alc269_fixups[] = { @@ -6393,6 +6394,15 @@ static const struct hda_fixup alc269_fixups[] = {
>  		.type = HDA_FIXUP_FUNC,
>  		.v.func = alc_fixup_auto_mute_via_amp,
>  	},
> +	[ALC286_FIXUP_ACER_AIO_MIC_NO_PRESENCE] = {
> +		.type = HDA_FIXUP_PINS,
> +		.v.pins = (const struct hda_pintbl[]) {
> +			{ 0x18, 0x01a1913c }, /* use as headset mic, without its own jack detect */
> +			{ }
> +		},
> +		.chained = true,
> +		.chain_id = ALC269_FIXUP_HEADSET_MIC
> +	},
>  };
>  
>  static const struct snd_pci_quirk alc269_fixup_tbl[] = { @@ -7071,6 +7081,10 @@ static const struct snd_hda_pin_quirk alc269_pin_fixup_tbl[] = {
>  		{0x14, 0x90170110},
>  		{0x19, 0x04a11040},
>  		{0x21, 0x04211020}),
> +	SND_HDA_PIN_QUIRK(0x10ec0286, 0x1025, "Acer", ALC286_FIXUP_ACER_AIO_MIC_NO_PRESENCE,
> +		{0x12, 0x90a60130},
> +		{0x17, 0x90170110},
> +		{0x21, 0x02211020}),
>  	SND_HDA_PIN_QUIRK(0x10ec0288, 0x1028, "Dell", ALC288_FIXUP_DELL1_MIC_NO_PRESENCE,
>  		{0x12, 0x90a60120},
>  		{0x14, 0x90170110},
> --
> 2.11.0
> 
>
Takashi Iwai Dec. 5, 2018, 3:36 p.m. UTC | #4
On Wed, 05 Dec 2018 13:37:43 +0100,
Kailang wrote:
> 
> Hi Takashi,
> 
> You should apply alc286 platform first.
> I think they had test passed already.
> ALC294 platform just wait for test via change model.

OK, now applied this series for ALC286.
For ALC294, I'll wait for the test result.


thanks,

Takashi

> 
> BR,
> Kailang
> ________________________________________
> 從: Takashi Iwai [tiwai@suse.de]
> 寄件日期: 2018年12月5日 下午 05:32
> 至: Kailang
> 副本: Jian-Hong Pan; Jaroslav Kysela; alsa-devel@alsa-project.org; Hui Wang; Chris Chiu; Daniel Drake; linux@endlessm.com; linux-kernel@vger.kernel.org
> 主旨: Re: [PATCH 1/4] ALSA: hda/realtek: ALC286 mic and headset-mode fixups for Acer Aspire U27-880
> 
> On Wed, 05 Dec 2018 10:06:14 +0100,
> Kailang wrote:
> >
> > Sorry!!
> > Don't change this.
> 
> Hm, should I apply these series or not?
> 
> 
> thanks,
> 
> Takashi
> 
> >
> > -----Original Message-----
> > From: Kailang
> > Sent: Wednesday, December 5, 2018 4:52 PM
> > To: 'Jian-Hong Pan' <jian-hong@endlessm.com>; Jaroslav Kysela <perex@perex.cz>; Takashi Iwai <tiwai@suse.com>
> > Cc: Hui Wang <hui.wang@canonical.com>; alsa-devel@alsa-project.org; linux-kernel@vger.kernel.org; linux@endlessm.com; Chris Chiu <chiu@endlessm.com>; Daniel Drake <drake@endlessm.com>
> > Subject: RE: [PATCH 1/4] ALSA: hda/realtek: ALC286 mic and headset-mode fixups for Acer Aspire U27-880
> >
> > Hi Jian Hong,
> >
> > Please also try to change model to ALC269_FIXUP_HEADSET_MODE_NO_HP_MIC.
> >
> > +             .chain_id = ALC269_FIXUP_HEADSET_MIC  ==> change to  ALC269_FIXUP_HEADSET_MODE_NO_HP_MIC
> >
> > BR,
> > Kailang
> > -----Original Message-----
> > From: Jian-Hong Pan <jian-hong@endlessm.com>
> > Sent: Wednesday, December 5, 2018 2:49 PM
> > To: Jaroslav Kysela <perex@perex.cz>; Takashi Iwai <tiwai@suse.com>
> > Cc: Kailang <kailang@realtek.com>; Hui Wang <hui.wang@canonical.com>; alsa-devel@alsa-project.org; linux-kernel@vger.kernel.org; linux@endlessm.com; Chris Chiu <chiu@endlessm.com>; Jian-Hong Pan <jian-hong@endlessm.com>; Daniel Drake <drake@endlessm.com>
> > Subject: [PATCH 1/4] ALSA: hda/realtek: ALC286 mic and headset-mode fixups for Acer Aspire U27-880
> >
> > From: Chris Chiu <chiu@endlessm.com>
> >
> > Acer Aspire U27-880(AIO) with ALC286 codec can not detect headset mic and internal mic not working either. It needs the similar quirk like Sony laptops to fix headphone jack sensing and enables use of the internal microphone.
> >
> > Unfortunately jack sensing for the headset mic is still not working.
> >
> > Signed-off-by: Jian-Hong Pan <jian-hong@endlessm.com>
> > Signed-off-by: Daniel Drake <drake@endlessm.com>
> > Signed-off-by: Chris Chiu <chiu@endlessm.com>
> > ---
> >  sound/pci/hda/patch_realtek.c | 14 ++++++++++++++
> >  1 file changed, 14 insertions(+)
> >
> > diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index c0b289ba397f..f21d52eb2ed3 100644
> > --- a/sound/pci/hda/patch_realtek.c
> > +++ b/sound/pci/hda/patch_realtek.c
> > @@ -5516,6 +5516,7 @@ enum {
> >       ALC221_FIXUP_HP_HEADSET_MIC,
> >       ALC285_FIXUP_LENOVO_HEADPHONE_NOISE,
> >       ALC295_FIXUP_HP_AUTO_MUTE,
> > +     ALC286_FIXUP_ACER_AIO_MIC_NO_PRESENCE,
> >  };
> >
> >  static const struct hda_fixup alc269_fixups[] = { @@ -6393,6 +6394,15 @@ static const struct hda_fixup alc269_fixups[] = {
> >               .type = HDA_FIXUP_FUNC,
> >               .v.func = alc_fixup_auto_mute_via_amp,
> >       },
> > +     [ALC286_FIXUP_ACER_AIO_MIC_NO_PRESENCE] = {
> > +             .type = HDA_FIXUP_PINS,
> > +             .v.pins = (const struct hda_pintbl[]) {
> > +                     { 0x18, 0x01a1913c }, /* use as headset mic, without its own jack detect */
> > +                     { }
> > +             },
> > +             .chained = true,
> > +             .chain_id = ALC269_FIXUP_HEADSET_MIC
> > +     },
> >  };
> >
> >  static const struct snd_pci_quirk alc269_fixup_tbl[] = { @@ -7071,6 +7081,10 @@ static const struct snd_hda_pin_quirk alc269_pin_fixup_tbl[] = {
> >               {0x14, 0x90170110},
> >               {0x19, 0x04a11040},
> >               {0x21, 0x04211020}),
> > +     SND_HDA_PIN_QUIRK(0x10ec0286, 0x1025, "Acer", ALC286_FIXUP_ACER_AIO_MIC_NO_PRESENCE,
> > +             {0x12, 0x90a60130},
> > +             {0x17, 0x90170110},
> > +             {0x21, 0x02211020}),
> >       SND_HDA_PIN_QUIRK(0x10ec0288, 0x1028, "Dell", ALC288_FIXUP_DELL1_MIC_NO_PRESENCE,
> >               {0x12, 0x90a60120},
> >               {0x14, 0x90170110},
> > --
> > 2.11.0
> >
> >
> 
> ------Please consider the environment before printing this e-mail.

Patch
diff mbox series

diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index c0b289ba397f..f21d52eb2ed3 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -5516,6 +5516,7 @@  enum {
 	ALC221_FIXUP_HP_HEADSET_MIC,
 	ALC285_FIXUP_LENOVO_HEADPHONE_NOISE,
 	ALC295_FIXUP_HP_AUTO_MUTE,
+	ALC286_FIXUP_ACER_AIO_MIC_NO_PRESENCE,
 };
 
 static const struct hda_fixup alc269_fixups[] = {
@@ -6393,6 +6394,15 @@  static const struct hda_fixup alc269_fixups[] = {
 		.type = HDA_FIXUP_FUNC,
 		.v.func = alc_fixup_auto_mute_via_amp,
 	},
+	[ALC286_FIXUP_ACER_AIO_MIC_NO_PRESENCE] = {
+		.type = HDA_FIXUP_PINS,
+		.v.pins = (const struct hda_pintbl[]) {
+			{ 0x18, 0x01a1913c }, /* use as headset mic, without its own jack detect */
+			{ }
+		},
+		.chained = true,
+		.chain_id = ALC269_FIXUP_HEADSET_MIC
+	},
 };
 
 static const struct snd_pci_quirk alc269_fixup_tbl[] = {
@@ -7071,6 +7081,10 @@  static const struct snd_hda_pin_quirk alc269_pin_fixup_tbl[] = {
 		{0x14, 0x90170110},
 		{0x19, 0x04a11040},
 		{0x21, 0x04211020}),
+	SND_HDA_PIN_QUIRK(0x10ec0286, 0x1025, "Acer", ALC286_FIXUP_ACER_AIO_MIC_NO_PRESENCE,
+		{0x12, 0x90a60130},
+		{0x17, 0x90170110},
+		{0x21, 0x02211020}),
 	SND_HDA_PIN_QUIRK(0x10ec0288, 0x1028, "Dell", ALC288_FIXUP_DELL1_MIC_NO_PRESENCE,
 		{0x12, 0x90a60120},
 		{0x14, 0x90170110},