From 1d3f490edf1324ceb8f6411662fd60fd7ea1cb7f Mon Sep 17 00:00:00 2001 From: Jiri Slaby Date: Apr 20 2023 11:00:07 +0000 Subject: ALSA: hda/sigmatel: fix S/PDIF out on Intel D*45* motherboards (bsc#1012628). --- diff --git a/patches.kernel.org/6.2.12-011-ALSA-hda-sigmatel-fix-S-PDIF-out-on-Intel-D-45.patch b/patches.kernel.org/6.2.12-011-ALSA-hda-sigmatel-fix-S-PDIF-out-on-Intel-D-45.patch new file mode 100644 index 0000000..1e1556a --- /dev/null +++ b/patches.kernel.org/6.2.12-011-ALSA-hda-sigmatel-fix-S-PDIF-out-on-Intel-D-45.patch @@ -0,0 +1,74 @@ +From: Oswald Buddenhagen +Date: Wed, 5 Apr 2023 22:12:20 +0200 +Subject: [PATCH] ALSA: hda/sigmatel: fix S/PDIF out on Intel D*45* + motherboards +References: bsc#1012628 +Patch-mainline: 6.2.12 +Git-commit: f342ac00da1064eb4f94b1f4bcacbdfea955797a + +commit f342ac00da1064eb4f94b1f4bcacbdfea955797a upstream. + +The BIOS botches this one completely - it says the 2nd S/PDIF output is +used, while in fact it's the 1st one. This is tested on DP45SG, but I'm +assuming it's valid for the other boards in the series as well. + +Also add some comments regarding the pins. +FWIW, the codec is apparently still sold by Tempo Semiconductor, Inc., +where one can download the documentation. + +Signed-off-by: Oswald Buddenhagen +Cc: +Link: https://lore.kernel.org/r/20230405201220.2197826-2-oswald.buddenhagen@gmx.de +Signed-off-by: Takashi Iwai +Signed-off-by: Greg Kroah-Hartman +Signed-off-by: Jiri Slaby +--- + sound/pci/hda/patch_sigmatel.c | 8 ++++++++ + 1 file changed, 8 insertions(+) + +diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c +index 64a97d8c..61258b0a 100644 +--- a/sound/pci/hda/patch_sigmatel.c ++++ b/sound/pci/hda/patch_sigmatel.c +@@ -1707,6 +1707,7 @@ static const struct snd_pci_quirk stac925x_fixup_tbl[] = { + }; + + static const struct hda_pintbl ref92hd73xx_pin_configs[] = { ++ // Port A-H + { 0x0a, 0x02214030 }, + { 0x0b, 0x02a19040 }, + { 0x0c, 0x01a19020 }, +@@ -1715,9 +1716,12 @@ static const struct hda_pintbl ref92hd73xx_pin_configs[] = { + { 0x0f, 0x01014010 }, + { 0x10, 0x01014020 }, + { 0x11, 0x01014030 }, ++ // CD in + { 0x12, 0x02319040 }, ++ // Digial Mic ins + { 0x13, 0x90a000f0 }, + { 0x14, 0x90a000f0 }, ++ // Digital outs + { 0x22, 0x01452050 }, + { 0x23, 0x01452050 }, + {} +@@ -1758,6 +1762,7 @@ static const struct hda_pintbl alienware_m17x_pin_configs[] = { + }; + + static const struct hda_pintbl intel_dg45id_pin_configs[] = { ++ // Analog outputs + { 0x0a, 0x02214230 }, + { 0x0b, 0x02A19240 }, + { 0x0c, 0x01013214 }, +@@ -1765,6 +1770,9 @@ static const struct hda_pintbl intel_dg45id_pin_configs[] = { + { 0x0e, 0x01A19250 }, + { 0x0f, 0x01011212 }, + { 0x10, 0x01016211 }, ++ // Digital output ++ { 0x22, 0x01451380 }, ++ { 0x23, 0x40f000f0 }, + {} + }; + +-- +2.35.3 + diff --git a/series.conf b/series.conf index ce96b41..be08787 100644 --- a/series.conf +++ b/series.conf @@ -2238,6 +2238,7 @@ patches.kernel.org/6.2.12-008-ALSA-hda-realtek-Add-quirks-for-Lenovo-Z13-Z16.patch patches.kernel.org/6.2.12-009-ALSA-firewire-tascam-add-missing-unwind-goto-i.patch patches.kernel.org/6.2.12-010-ALSA-emu10k1-don-t-create-old-pass-through-pla.patch + patches.kernel.org/6.2.12-011-ALSA-hda-sigmatel-fix-S-PDIF-out-on-Intel-D-45.patch ######################################################## # Build fixes that apply to the vanilla kernel too.