diff mbox series

[v2,1/3] ALSA: hda/realtek - Enable audio jacks of Acer vCopperbox with ALC269VC

Message ID 20200703073753.185147-1-jian-hong@endlessm.com (mailing list archive)
State New, archived
Headers show
Series [v2,1/3] ALSA: hda/realtek - Enable audio jacks of Acer vCopperbox with ALC269VC | expand

Commit Message

Jian-Hong Pan July 3, 2020, 7:37 a.m. UTC
The Acer desktop vCopperbox with ALC269VC cannot detect the MIC of
headset, the line out and internal speaker until
ALC269VC_FIXUP_ACER_VCOPPERBOX_PINS quirk applied.

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

Comments

Kailang July 3, 2020, 7:51 a.m. UTC | #1
Hi,

Please modify ALC269_FIXUP_HEADSET_MODE to ALC269_FIXUP_HEADSET_MIC for 3 patches.
ALC269_FIXUP_HEADSET_MODE was used for Jack detect codec.

Kailang.

> -----Original Message-----
> From: Jian-Hong Pan <jian-hong@endlessm.com>
> Sent: Friday, July 3, 2020 3:38 PM
> To: Takashi Iwai <tiwai@suse.com>
> Cc: Kailang <kailang@realtek.com>; alsa-devel@alsa-project.org;
> linux-kernel@vger.kernel.org; linux@endlessm.com; Jian-Hong Pan
> <jian-hong@endlessm.com>; Chris Chiu <chiu@endlessm.com>
> Subject: [PATCH v2 1/3] ALSA: hda/realtek - Enable audio jacks of Acer
> vCopperbox with ALC269VC
> 
> The Acer desktop vCopperbox with ALC269VC cannot detect the MIC of
> headset, the line out and internal speaker until
> ALC269VC_FIXUP_ACER_VCOPPERBOX_PINS quirk applied.
> 
> Signed-off-by: Jian-Hong Pan <jian-hong@endlessm.com>
> Signed-off-by: Chris Chiu <chiu@endlessm.com>
> ---
>  sound/pci/hda/patch_realtek.c | 13 +++++++++++++
>  1 file changed, 13 insertions(+)
> 
> diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
> index 737ef82a75fd..dfb4bca07d3f 100644
> --- a/sound/pci/hda/patch_realtek.c
> +++ b/sound/pci/hda/patch_realtek.c
> @@ -6149,6 +6149,7 @@ enum {
>  	ALC236_FIXUP_HP_MUTE_LED,
>  	ALC298_FIXUP_SAMSUNG_HEADPHONE_VERY_QUIET,
>  	ALC295_FIXUP_ASUS_MIC_NO_PRESENCE,
> +	ALC269VC_FIXUP_ACER_VCOPPERBOX_PINS,
>  };
> 
>  static const struct hda_fixup alc269_fixups[] = { @@ -7327,6 +7328,17 @@
> static const struct hda_fixup alc269_fixups[] = {
>  		.chained = true,
>  		.chain_id = ALC269_FIXUP_HEADSET_MODE
>  	},
> +	[ALC269VC_FIXUP_ACER_VCOPPERBOX_PINS] = {
> +		.type = HDA_FIXUP_PINS,
> +		.v.pins = (const struct hda_pintbl[]) {
> +			{ 0x14, 0x90100120 }, /* use as internal speaker */
> +			{ 0x18, 0x02a111f0 }, /* use as headset mic, without its own
> jack detect */
> +			{ 0x1a, 0x01011020 }, /* use as line out */
> +			{ },
> +		},
> +		.chained = true,
> +		.chain_id = ALC269_FIXUP_HEADSET_MODE
> +	},
>  };
> 
>  static const struct snd_pci_quirk alc269_fixup_tbl[] = { @@ -7346,6 +7358,7
> @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
>  	SND_PCI_QUIRK(0x1025, 0x1099, "Acer Aspire E5-523G",
> ALC255_FIXUP_ACER_MIC_NO_PRESENCE),
>  	SND_PCI_QUIRK(0x1025, 0x110e, "Acer Aspire ES1-432",
> ALC255_FIXUP_ACER_MIC_NO_PRESENCE),
>  	SND_PCI_QUIRK(0x1025, 0x1246, "Acer Predator Helios 500",
> ALC299_FIXUP_PREDATOR_SPK),
> +	SND_PCI_QUIRK(0x1025, 0x1247, "Acer vCopperbox",
> +ALC269VC_FIXUP_ACER_VCOPPERBOX_PINS),
>  	SND_PCI_QUIRK(0x1025, 0x128f, "Acer Veriton Z6860G",
> ALC286_FIXUP_ACER_AIO_HEADSET_MIC),
>  	SND_PCI_QUIRK(0x1025, 0x1290, "Acer Veriton Z4860G",
> ALC286_FIXUP_ACER_AIO_HEADSET_MIC),
>  	SND_PCI_QUIRK(0x1025, 0x1291, "Acer Veriton Z4660G",
> ALC286_FIXUP_ACER_AIO_HEADSET_MIC),
> --
> 2.27.0
diff mbox series

Patch

diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 737ef82a75fd..dfb4bca07d3f 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -6149,6 +6149,7 @@  enum {
 	ALC236_FIXUP_HP_MUTE_LED,
 	ALC298_FIXUP_SAMSUNG_HEADPHONE_VERY_QUIET,
 	ALC295_FIXUP_ASUS_MIC_NO_PRESENCE,
+	ALC269VC_FIXUP_ACER_VCOPPERBOX_PINS,
 };
 
 static const struct hda_fixup alc269_fixups[] = {
@@ -7327,6 +7328,17 @@  static const struct hda_fixup alc269_fixups[] = {
 		.chained = true,
 		.chain_id = ALC269_FIXUP_HEADSET_MODE
 	},
+	[ALC269VC_FIXUP_ACER_VCOPPERBOX_PINS] = {
+		.type = HDA_FIXUP_PINS,
+		.v.pins = (const struct hda_pintbl[]) {
+			{ 0x14, 0x90100120 }, /* use as internal speaker */
+			{ 0x18, 0x02a111f0 }, /* use as headset mic, without its own jack detect */
+			{ 0x1a, 0x01011020 }, /* use as line out */
+			{ },
+		},
+		.chained = true,
+		.chain_id = ALC269_FIXUP_HEADSET_MODE
+	},
 };
 
 static const struct snd_pci_quirk alc269_fixup_tbl[] = {
@@ -7346,6 +7358,7 @@  static const struct snd_pci_quirk alc269_fixup_tbl[] = {
 	SND_PCI_QUIRK(0x1025, 0x1099, "Acer Aspire E5-523G", ALC255_FIXUP_ACER_MIC_NO_PRESENCE),
 	SND_PCI_QUIRK(0x1025, 0x110e, "Acer Aspire ES1-432", ALC255_FIXUP_ACER_MIC_NO_PRESENCE),
 	SND_PCI_QUIRK(0x1025, 0x1246, "Acer Predator Helios 500", ALC299_FIXUP_PREDATOR_SPK),
+	SND_PCI_QUIRK(0x1025, 0x1247, "Acer vCopperbox", ALC269VC_FIXUP_ACER_VCOPPERBOX_PINS),
 	SND_PCI_QUIRK(0x1025, 0x128f, "Acer Veriton Z6860G", ALC286_FIXUP_ACER_AIO_HEADSET_MIC),
 	SND_PCI_QUIRK(0x1025, 0x1290, "Acer Veriton Z4860G", ALC286_FIXUP_ACER_AIO_HEADSET_MIC),
 	SND_PCI_QUIRK(0x1025, 0x1291, "Acer Veriton Z4660G", ALC286_FIXUP_ACER_AIO_HEADSET_MIC),