All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Enable SPDIF output on Intel Hades Canyon
@ 2022-05-23 20:20 Dag B
  2022-05-23 20:30 ` Pierre-Louis Bossart
  0 siblings, 1 reply; 7+ messages in thread
From: Dag B @ 2022-05-23 20:20 UTC (permalink / raw)
  To: ALSA development

[-- Attachment #1: Type: text/plain, Size: 949 bytes --]

Without the attached patch, the s/pdif output on the Hades Canyon NUC 
does not work.

"Well known" issue, less known fix. As far as I can tell, there is no 
risk of any averse side-effects. But a bonus fix is enabling on-wire 
headset microphone, by chaining the right 'model' choice for the hardware.

If I should Cc: someone directly for this patch to be picked up, please 
let me know.


I have been running with this patch for half a year or so.

Patch passes checkpatch.pl

Patch is based on what 'cyber4o' posted on the insanelymac forum [1]. 
All the glory to this person, any error is likely mine.

Some other users with issues: [2] [3]


Dag Bakke


[1] 
https://www.insanelymac.com/forum/topic/339291-guide-hac-mini-osx-mojave-on-intel-hades-canyon-nuc8i7hvknuc8i7hnk/page/8/

2] https://bbs.archlinux.org/viewtopic.php?id=270917

[3] 
https://www.reddit.com/r/intelnuc/comments/9ft9x8/any_linux_users_got_the_spdif_toslink_to_work_on/



[-- Attachment #2: patch_realtek.c.diff --]
[-- Type: text/x-patch, Size: 2650 bytes --]

diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index ad292df7d805..1c4c7435b705 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -4752,6 +4752,12 @@ static void alc280_fixup_hp_gpio2_mic_hotkey(struct hda_codec *codec,
 	}
 }
 
+static void alc700_fixup_nuc_spdif(struct hda_codec *codec,
+				const struct hda_fixup *fix, int action)
+{
+	snd_hda_override_wcaps(codec, 0x6, 0x611);
+}
+
 /* Line2 = mic mute hotkey
  * GPIO2 = mic mute LED
  */
@@ -5792,7 +5798,7 @@ static void alc_fixup_headset_mode_alc255_no_hp_mic(struct hda_codec *codec,
 		struct alc_spec *spec = codec->spec;
 		spec->parse_flags |= HDA_PINCFG_HEADSET_MIC;
 		alc255_set_default_jack_type(codec);
-	} 
+	}
 	else
 		alc_fixup_headset_mode(codec, fix, action);
 }
@@ -6939,6 +6945,7 @@ enum {
 	ALC225_FIXUP_DELL_WYSE_MIC_NO_PRESENCE,
 	ALC225_FIXUP_S3_POP_NOISE,
 	ALC700_FIXUP_INTEL_REFERENCE,
+	ALC700_FIXUP_NUC_SPDIF,
 	ALC274_FIXUP_DELL_BIND_DACS,
 	ALC274_FIXUP_DELL_AIO_LINEOUT_VERB,
 	ALC298_FIXUP_TPT470_DOCK_FIX,
@@ -7260,6 +7267,12 @@ static const struct hda_fixup alc269_fixups[] = {
 		.chained = true,
 		.chain_id = ALC269_FIXUP_THINKPAD_ACPI,
 	},
+	[ALC700_FIXUP_NUC_SPDIF] = {
+		.type = HDA_FIXUP_FUNC,
+		.v.func = alc700_fixup_nuc_spdif,
+		.chained = true,
+		.chain_id = ALC269_FIXUP_DELL1_MIC_NO_PRESENCE,
+	},
 	[ALC269_FIXUP_DELL1_MIC_NO_PRESENCE] = {
 		.type = HDA_FIXUP_PINS,
 		.v.pins = (const struct hda_pintbl[]) {
@@ -9159,6 +9172,7 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = {
 	SND_PCI_QUIRK(0x10cf, 0x1757, "Lifebook E752", ALC269_FIXUP_LIFEBOOK_HP_PIN),
 	SND_PCI_QUIRK(0x10cf, 0x1845, "Lifebook U904", ALC269_FIXUP_LIFEBOOK_EXTMIC),
 	SND_PCI_QUIRK(0x10ec, 0x10f2, "Intel Reference board", ALC700_FIXUP_INTEL_REFERENCE),
+	SND_PCI_QUIRK(0x10ec, 0x2073, "Intel NUC8 Hades Canyon", ALC700_FIXUP_NUC_SPDIF),
 	SND_PCI_QUIRK(0x10ec, 0x118c, "Medion EE4254 MD62100", ALC256_FIXUP_MEDION_HEADSET_NO_PRESENCE),
 	SND_PCI_QUIRK(0x10ec, 0x1230, "Intel Reference board", ALC295_FIXUP_CHROME_BOOK),
 	SND_PCI_QUIRK(0x10ec, 0x1252, "Intel Reference board", ALC295_FIXUP_CHROME_BOOK),
@@ -9445,6 +9459,7 @@ static const struct hda_model_fixup alc269_fixup_models[] = {
 	{.id = ALC298_FIXUP_TPT470_DOCK, .name = "tpt470-dock"},
 	{.id = ALC233_FIXUP_LENOVO_MULTI_CODECS, .name = "dual-codecs"},
 	{.id = ALC700_FIXUP_INTEL_REFERENCE, .name = "alc700-ref"},
+	{.id = ALC700_FIXUP_NUC_SPDIF, .name = "nuc-hc"},
 	{.id = ALC269_FIXUP_SONY_VAIO, .name = "vaio"},
 	{.id = ALC269_FIXUP_DELL_M101Z, .name = "dell-m101z"},
 	{.id = ALC269_FIXUP_ASUS_G73JW, .name = "asus-g73jw"},

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

end of thread, other threads:[~2022-05-27 14:52 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-23 20:20 [PATCH] Enable SPDIF output on Intel Hades Canyon Dag B
2022-05-23 20:30 ` Pierre-Louis Bossart
2022-05-23 21:29   ` Dag B
2022-05-23 21:53     ` Pierre-Louis Bossart
2022-05-24  6:58       ` Dag B
2022-05-27 14:50         ` Takashi Iwai
2022-05-27 14:51           ` Takashi Iwai

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.