* [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
* Re: [PATCH] Enable SPDIF output on Intel Hades Canyon
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
0 siblings, 1 reply; 7+ messages in thread
From: Pierre-Louis Bossart @ 2022-05-23 20:30 UTC (permalink / raw)
To: Dag B, ALSA development; +Cc: Takashi Iwai
On 5/23/22 15:20, Dag B wrote:
> 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.
Thanks for the patch.
You would need a Signed-off-by tag for this patch, and CC: Takashi (added)
+ [ALC700_FIXUP_NUC_SPDIF] = {
Maybe use HC_NUC, there are multiple versions of those devices?
+ .type = HDA_FIXUP_FUNC,
+ .v.func = alc700_fixup_nuc_spdif,
alc700_fixup_hc_nuc_spdif ?
+ .chained = true,
+ .chain_id = ALC269_FIXUP_DELL1_MIC_NO_PRESENCE,
that chain_id doesn't seem quite right?
>
> 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/
>
>
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] Enable SPDIF output on Intel Hades Canyon
2022-05-23 20:30 ` Pierre-Louis Bossart
@ 2022-05-23 21:29 ` Dag B
2022-05-23 21:53 ` Pierre-Louis Bossart
0 siblings, 1 reply; 7+ messages in thread
From: Dag B @ 2022-05-23 21:29 UTC (permalink / raw)
To: alsa-devel; +Cc: tiwai, pierre-louis.bossart
[-- Attachment #1: Type: text/plain, Size: 2154 bytes --]
On 23.05.2022 22:30, Pierre-Louis Bossart wrote:
> On 5/23/22 15:20, Dag B wrote:
>> 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.
> Thanks for the patch.
>
> You would need a Signed-off-by tag for this patch, and CC: Takashi (added)
>
> + [ALC700_FIXUP_NUC_SPDIF] = {
>
> Maybe use HC_NUC, there are multiple versions of those devices?
>
> + .type = HDA_FIXUP_FUNC,
> + .v.func = alc700_fixup_nuc_spdif,
>
> alc700_fixup_hc_nuc_spdif ?
>
> + .chained = true,
> + .chain_id = ALC269_FIXUP_DELL1_MIC_NO_PRESENCE,
>
> that chain_id doesn't seem quite right?
>
Thank you for reviewing this. I have made adjustments as suggested. Revised patch attached.
The chain_id may appear odd, I can assure you that it does the job. I picked up the suggestion from the excellent Arch Linux wiki:
https://wiki.archlinux.org/title/Intel_NUC#Hades_Canyon_NUC_-_No_External_Microphones
So my patch equates to:
a) creating a fixup for enabling spdif
and
b) making the new "model=nuc-hc" equate to the spdif fix + "model=dell-headset-multi"
I hope this is acceptable. As stated, I have used this solution for half a year or so.
|Signed-off-by: Dag Bakke <dag@bakke.com>|
Dag B
>> 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: 2668 bytes --]
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index ad292df7d805..cd6a2cb4c381 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_hc_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_HC_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_HC_NUC_SPDIF] = {
+ .type = HDA_FIXUP_FUNC,
+ .v.func = alc700_fixup_hc_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_HC_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_HC_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
* Re: [PATCH] Enable SPDIF output on Intel Hades Canyon
2022-05-23 21:29 ` Dag B
@ 2022-05-23 21:53 ` Pierre-Louis Bossart
2022-05-24 6:58 ` Dag B
0 siblings, 1 reply; 7+ messages in thread
From: Pierre-Louis Bossart @ 2022-05-23 21:53 UTC (permalink / raw)
To: Dag B, alsa-devel; +Cc: tiwai
On 5/23/22 16:29, Dag B wrote:
> On 23.05.2022 22:30, Pierre-Louis Bossart wrote:
>> On 5/23/22 15:20, Dag B wrote:
>>> 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.
>> Thanks for the patch.
>>
>> You would need a Signed-off-by tag for this patch, and CC: Takashi
>> (added)
>>
>> + [ALC700_FIXUP_NUC_SPDIF] = {
>>
>> Maybe use HC_NUC, there are multiple versions of those devices?
>>
>> + .type = HDA_FIXUP_FUNC,
>> + .v.func = alc700_fixup_nuc_spdif,
>>
>> alc700_fixup_hc_nuc_spdif ?
>>
>> + .chained = true,
>> + .chain_id = ALC269_FIXUP_DELL1_MIC_NO_PRESENCE,
>>
>> that chain_id doesn't seem quite right?
>>
> Thank you for reviewing this. I have made adjustments as suggested.
> Revised patch attached.
>
> The chain_id may appear odd, I can assure you that it does the job. I
> picked up the suggestion from the excellent Arch Linux wiki:
>
> https://wiki.archlinux.org/title/Intel_NUC#Hades_Canyon_NUC_-_No_External_Microphones
Parts of my comment was the reference to ALC269 when this is an ALC700,
but it seems the two parts are identical if I understand this
definition well:
ALC269_TYPE_ALC700,
The other point was the reference to Dell when this isn't a Dell
platform. ALC269_FIXUP_DELL1_MIC_NO_PRESENCE may do the job but so far
it's only used for Dell platforms, so it's a bit confusing.
> So my patch equates to:
>
> a) creating a fixup for enabling spdif
>
> and
>
> b) making the new "model=nuc-hc" equate to the spdif fix +
> "model=dell-headset-multi"
>
> I hope this is acceptable. As stated, I have used this solution for half
> a year or so.
>
> |Signed-off-by: Dag Bakke <dag@bakke.com>|
usually this comes inside the patch with a git commit title and message.
>
> Dag B
>
>
>
>>> 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/
>>>
>>>
>>>
>>>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] Enable SPDIF output on Intel Hades Canyon
2022-05-23 21:53 ` Pierre-Louis Bossart
@ 2022-05-24 6:58 ` Dag B
2022-05-27 14:50 ` Takashi Iwai
0 siblings, 1 reply; 7+ messages in thread
From: Dag B @ 2022-05-24 6:58 UTC (permalink / raw)
To: Pierre-Louis Bossart, alsa-devel; +Cc: tiwai
[-- Attachment #1: Type: text/plain, Size: 3044 bytes --]
On 23.05.2022 23:53, Pierre-Louis Bossart wrote:
>
> On 5/23/22 16:29, Dag B wrote:
>> On 23.05.2022 22:30, Pierre-Louis Bossart wrote:
>>> On 5/23/22 15:20, Dag B wrote:
>>>> 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.
>>> Thanks for the patch.
>>>
>>> You would need a Signed-off-by tag for this patch, and CC: Takashi
>>> (added)
>>>
>>> + [ALC700_FIXUP_NUC_SPDIF] = {
>>>
>>> Maybe use HC_NUC, there are multiple versions of those devices?
>>>
>>> + .type = HDA_FIXUP_FUNC,
>>> + .v.func = alc700_fixup_nuc_spdif,
>>>
>>> alc700_fixup_hc_nuc_spdif ?
>>>
>>> + .chained = true,
>>> + .chain_id = ALC269_FIXUP_DELL1_MIC_NO_PRESENCE,
>>>
>>> that chain_id doesn't seem quite right?
>>>
>> Thank you for reviewing this. I have made adjustments as suggested.
>> Revised patch attached.
>>
>> The chain_id may appear odd, I can assure you that it does the job. I
>> picked up the suggestion from the excellent Arch Linux wiki:
>>
>> https://wiki.archlinux.org/title/Intel_NUC#Hades_Canyon_NUC_-_No_External_Microphones
> Parts of my comment was the reference to ALC269 when this is an ALC700,
> but it seems the two parts are identical if I understand this
> definition well:
>
> ALC269_TYPE_ALC700,
>
> The other point was the reference to Dell when this isn't a Dell
> platform. ALC269_FIXUP_DELL1_MIC_NO_PRESENCE may do the job but so far
> it's only used for Dell platforms, so it's a bit confusing.
Actually, it is already used for Skull Canyon. So there is precedence. :-)
>
>> So my patch equates to:
>>
>> a) creating a fixup for enabling spdif
>>
>> and
>>
>> b) making the new "model=nuc-hc" equate to the spdif fix +
>> "model=dell-headset-multi"
>>
>> I hope this is acceptable. As stated, I have used this solution for half
>> a year or so.
>>
>> |Signed-off-by: Dag Bakke <dag@bakke.com>|
> usually this comes inside the patch with a git commit title and message.
Better now?
>
>> Dag B
>>
>>
>>
>>>> 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: 3012 bytes --]
From fe562e391b522dca09f00a5f8c280ab43136ef1f Mon Sep 17 00:00:00 2001
From: Dag B <dag@bakke.com>
Date: Tue, 24 May 2022 08:38:42 +0200
Subject: [PATCH] Enable Intel Hades Canyon SPDIF
Signed-off-by: Dag B <dag@bakke.com>
---
sound/pci/hda/patch_realtek.c | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index ad292df7d805..cd6a2cb4c381 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_hc_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_HC_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_HC_NUC_SPDIF] = {
+ .type = HDA_FIXUP_FUNC,
+ .v.func = alc700_fixup_hc_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_HC_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_HC_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"},
--
2.35.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH] Enable SPDIF output on Intel Hades Canyon
2022-05-24 6:58 ` Dag B
@ 2022-05-27 14:50 ` Takashi Iwai
2022-05-27 14:51 ` Takashi Iwai
0 siblings, 1 reply; 7+ messages in thread
From: Takashi Iwai @ 2022-05-27 14:50 UTC (permalink / raw)
To: Dag B; +Cc: alsa-devel, Pierre-Louis Bossart, tiwai
On Tue, 24 May 2022 08:58:30 +0200,
Dag B wrote:
> From fe562e391b522dca09f00a5f8c280ab43136ef1f Mon Sep 17 00:00:00 2001
> From: Dag B <dag@bakke.com>
> Date: Tue, 24 May 2022 08:38:42 +0200
> Subject: [PATCH] Enable Intel Hades Canyon SPDIF
>
> Signed-off-by: Dag B <dag@bakke.com>
Please give more description, especially why this patch is needed and
what actually does.
About the code change:
> ---
> sound/pci/hda/patch_realtek.c | 17 ++++++++++++++++-
> 1 file changed, 16 insertions(+), 1 deletion(-)
>
> diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
> index ad292df7d805..cd6a2cb4c381 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_hc_nuc_spdif(struct hda_codec *codec,
> + const struct hda_fixup *fix, int action)
> +{
> + snd_hda_override_wcaps(codec, 0x6, 0x611);
Better to be the values with AC_WCAP_*.
> @@ -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);
> }
Avoid unnecessary changes like this.
> @@ -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_HC_NUC_SPDIF),
So this is about the generic ID (with Realtek vendor-id).
It's most likely OK, as such an ID is used only for some reference
board or such, but it should be mentioned in the changelog.
> @@ -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_HC_NUC_SPDIF, .name = "nuc-hc"},
Ditto, better to mention the available model name in the changelog,
too.
Once after all those are fixed / improved, please resubmit the patch.
thanks,
Takashi
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] Enable SPDIF output on Intel Hades Canyon
2022-05-27 14:50 ` Takashi Iwai
@ 2022-05-27 14:51 ` Takashi Iwai
0 siblings, 0 replies; 7+ messages in thread
From: Takashi Iwai @ 2022-05-27 14:51 UTC (permalink / raw)
To: Dag B; +Cc: alsa-devel, Pierre-Louis Bossart, tiwai
On Fri, 27 May 2022 16:50:21 +0200,
Takashi Iwai wrote:
>
> On Tue, 24 May 2022 08:58:30 +0200,
> Dag B wrote:
> > From fe562e391b522dca09f00a5f8c280ab43136ef1f Mon Sep 17 00:00:00 2001
> > From: Dag B <dag@bakke.com>
> > Date: Tue, 24 May 2022 08:38:42 +0200
> > Subject: [PATCH] Enable Intel Hades Canyon SPDIF
> >
> > Signed-off-by: Dag B <dag@bakke.com>
>
> Please give more description, especially why this patch is needed and
> what actually does.
One more thing: the Signed-off-by line must contain the full name.
It's a legal requirement.
thanks,
Takashi
^ permalink raw reply [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.