linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] ALSA: hda/realtek: Fix pin default on Intel NUC 8 Rugged
@ 2020-08-07  8:05 Kai-Heng Feng
  2020-08-07  8:11 ` Takashi Iwai
  0 siblings, 1 reply; 2+ messages in thread
From: Kai-Heng Feng @ 2020-08-07  8:05 UTC (permalink / raw)
  To: tiwai
  Cc: Kai-Heng Feng, Jaroslav Kysela, Kailang Yang, Jian-Hong Pan,
	Hui Wang, Huacai Chen, Thomas Hebb, Michał Mirosław,
	moderated list:SOUND, open list

The jack on Intel NUC 8 Rugged rear panel doesn't work.

The spec [1] states that the jack supports both headphone and
microphone, so override a Pin Complex which has both Amp-In and Amp-Out
to make the jack work.

Node 0x1b fits the requirement, and user confirmed the jack now works
with new pin config.

[1] https://www.intel.com/content/dam/support/us/en/documents/mini-pcs/NUC8CCH_TechProdSpec.pdf
BugLink: https://bugs.launchpad.net/bugs/1875199

Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
---
 sound/pci/hda/patch_realtek.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 2477f3ed7237..daedcc0adc21 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -6159,6 +6159,7 @@ enum {
 	ALC269_FIXUP_CZC_L101,
 	ALC269_FIXUP_LEMOTE_A1802,
 	ALC269_FIXUP_LEMOTE_A190X,
+	ALC256_FIXUP_INTEL_NUC8_RUGGED,
 };
 
 static const struct hda_fixup alc269_fixups[] = {
@@ -7480,6 +7481,15 @@ static const struct hda_fixup alc269_fixups[] = {
 		},
 		.chain_id = ALC269_FIXUP_DMIC,
 	},
+	[ALC256_FIXUP_INTEL_NUC8_RUGGED] = {
+		.type = HDA_FIXUP_PINS,
+		.v.pins = (const struct hda_pintbl[]) {
+			{ 0x1b, 0x01a1913c }, /* use as headset mic, without its own jack detect */
+			{ }
+		},
+		.chained = true,
+		.chain_id = ALC269_FIXUP_HEADSET_MODE
+	},
 };
 
 static const struct snd_pci_quirk alc269_fixup_tbl[] = {
@@ -7777,6 +7787,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
 	SND_PCI_QUIRK(0x10ec, 0x118c, "Medion EE4254 MD62100", ALC256_FIXUP_MEDION_HEADSET_NO_PRESENCE),
 	SND_PCI_QUIRK(0x1c06, 0x2013, "Lemote A1802", ALC269_FIXUP_LEMOTE_A1802),
 	SND_PCI_QUIRK(0x1c06, 0x2015, "Lemote A190X", ALC269_FIXUP_LEMOTE_A190X),
+	SND_PCI_QUIRK(0x8086, 0x2080, "Intel NUC 8 Rugged", ALC256_FIXUP_INTEL_NUC8_RUGGED),
 
 #if 0
 	/* Below is a quirk table taken from the old code.
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] ALSA: hda/realtek: Fix pin default on Intel NUC 8 Rugged
  2020-08-07  8:05 [PATCH] ALSA: hda/realtek: Fix pin default on Intel NUC 8 Rugged Kai-Heng Feng
@ 2020-08-07  8:11 ` Takashi Iwai
  0 siblings, 0 replies; 2+ messages in thread
From: Takashi Iwai @ 2020-08-07  8:11 UTC (permalink / raw)
  To: Kai-Heng Feng
  Cc: tiwai, Jaroslav Kysela, Kailang Yang, Jian-Hong Pan, Hui Wang,
	Huacai Chen, Thomas Hebb, Michał Mirosław,
	moderated list:SOUND, open list

On Fri, 07 Aug 2020 10:05:12 +0200,
Kai-Heng Feng wrote:
> 
> The jack on Intel NUC 8 Rugged rear panel doesn't work.
> 
> The spec [1] states that the jack supports both headphone and
> microphone, so override a Pin Complex which has both Amp-In and Amp-Out
> to make the jack work.
> 
> Node 0x1b fits the requirement, and user confirmed the jack now works
> with new pin config.
> 
> [1] https://www.intel.com/content/dam/support/us/en/documents/mini-pcs/NUC8CCH_TechProdSpec.pdf
> BugLink: https://bugs.launchpad.net/bugs/1875199
> 
> Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>

OK, usually a codec quirk entry with 8086:* is doubtful, but in this
case, it's really the Intel (reference) hardware, hence it should be
so.

Applied now.  Thanks.


Takashi

> ---
>  sound/pci/hda/patch_realtek.c | 11 +++++++++++
>  1 file changed, 11 insertions(+)
> 
> diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
> index 2477f3ed7237..daedcc0adc21 100644
> --- a/sound/pci/hda/patch_realtek.c
> +++ b/sound/pci/hda/patch_realtek.c
> @@ -6159,6 +6159,7 @@ enum {
>  	ALC269_FIXUP_CZC_L101,
>  	ALC269_FIXUP_LEMOTE_A1802,
>  	ALC269_FIXUP_LEMOTE_A190X,
> +	ALC256_FIXUP_INTEL_NUC8_RUGGED,
>  };
>  
>  static const struct hda_fixup alc269_fixups[] = {
> @@ -7480,6 +7481,15 @@ static const struct hda_fixup alc269_fixups[] = {
>  		},
>  		.chain_id = ALC269_FIXUP_DMIC,
>  	},
> +	[ALC256_FIXUP_INTEL_NUC8_RUGGED] = {
> +		.type = HDA_FIXUP_PINS,
> +		.v.pins = (const struct hda_pintbl[]) {
> +			{ 0x1b, 0x01a1913c }, /* use as headset mic, without its own jack detect */
> +			{ }
> +		},
> +		.chained = true,
> +		.chain_id = ALC269_FIXUP_HEADSET_MODE
> +	},
>  };
>  
>  static const struct snd_pci_quirk alc269_fixup_tbl[] = {
> @@ -7777,6 +7787,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
>  	SND_PCI_QUIRK(0x10ec, 0x118c, "Medion EE4254 MD62100", ALC256_FIXUP_MEDION_HEADSET_NO_PRESENCE),
>  	SND_PCI_QUIRK(0x1c06, 0x2013, "Lemote A1802", ALC269_FIXUP_LEMOTE_A1802),
>  	SND_PCI_QUIRK(0x1c06, 0x2015, "Lemote A190X", ALC269_FIXUP_LEMOTE_A190X),
> +	SND_PCI_QUIRK(0x8086, 0x2080, "Intel NUC 8 Rugged", ALC256_FIXUP_INTEL_NUC8_RUGGED),
>  
>  #if 0
>  	/* Below is a quirk table taken from the old code.
> -- 
> 2.17.1
> 

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2020-08-07  8:11 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-07  8:05 [PATCH] ALSA: hda/realtek: Fix pin default on Intel NUC 8 Rugged Kai-Heng Feng
2020-08-07  8:11 ` Takashi Iwai

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).