|
From 86d1cc3e8e024c6776424f09108030fabe67cf5f Mon Sep 17 00:00:00 2001 |
|
From: Huayu Zhang <[email protected]> |
|
Date: Thu, 11 Jan 2024 16:18:29 +0800 |
|
Subject: [PATCH] add _DSD for SSID 0x17aa38a9 and 38ab (ThinkBook 16p G4 IRH) |
|
|
|
the dmseg has following output after patching: |
|
|
|
[ 4.401426] cs35l41-hda i2c-CSC3551:00-cs35l41-hda.0: Cirrus Logic CS35L41 (35a40), Revision: B2 |
|
[ 4.455038] cs35l41-hda i2c-CSC3551:00-cs35l41-hda.1: Cirrus Logic CS35L41 (35a40), Revision: B2 |
|
[ 6.362589] cs35l41-hda i2c-CSC3551:00-cs35l41-hda.0: CS35L41 Bound - SSID: 17AA38A9, BST: 1, VSPK: 1, CH: L, FW EN: 1, SPKID: 0 |
|
[ 6.862707] cs35l41-hda i2c-CSC3551:00-cs35l41-hda.1: CS35L41 Bound - SSID: 17AA38A9, BST: 1, VSPK: 1, CH: R, FW EN: 1, SPKID: 0 |
|
|
|
And the system volumn control only affect the upfacing speakers nor the |
|
downfacing bass speakers. |
|
|
|
Signed-off-by: Huayu Zhang <[email protected]> |
|
--- |
|
sound/pci/hda/cs35l41_hda_property.c | 4 ++++ |
|
sound/pci/hda/patch_realtek.c | 2 ++ |
|
2 files changed, 6 insertions(+) |
|
|
|
diff --git a/sound/pci/hda/cs35l41_hda_property.c b/sound/pci/hda/cs35l41_hda_property.c |
|
index 35277ce890a4..30fb638f5240 100644 |
|
--- a/sound/pci/hda/cs35l41_hda_property.c |
|
+++ b/sound/pci/hda/cs35l41_hda_property.c |
|
@@ -93,6 +93,8 @@ static const struct cs35l41_config cs35l41_config_table[] = { |
|
{ "10431F12", 2, INTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 1000, 4500, 24 }, |
|
{ "10431F1F", 2, EXTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 1, -1, 0, 0, 0, 0 }, |
|
{ "10431F62", 2, EXTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 1, 2, 0, 0, 0, 0 }, |
|
+ { "17AA38A9", 2, EXTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 2, -1, 0, 0, 0 }, |
|
+ { "17AA38AB", 2, EXTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 2, -1, 0, 0, 0 }, |
|
{ "17AA38B4", 2, EXTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 0, 0, 0 }, |
|
{ "17AA38B5", 2, EXTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 0, 0, 0 }, |
|
{ "17AA38B6", 2, EXTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 1, -1, 0, 0, 0 }, |
|
@@ -427,6 +429,8 @@ static const struct cs35l41_prop_model cs35l41_prop_model_table[] = { |
|
{ "CSC3551", "10431F12", generic_dsd_config }, |
|
{ "CSC3551", "10431F1F", generic_dsd_config }, |
|
{ "CSC3551", "10431F62", generic_dsd_config }, |
|
+ { "CSC3551", "17AA38A9", generic_dsd_config }, |
|
+ { "CSC3551", "17AA38AB", generic_dsd_config }, |
|
{ "CSC3551", "17AA38B4", generic_dsd_config }, |
|
{ "CSC3551", "17AA38B5", generic_dsd_config }, |
|
{ "CSC3551", "17AA38B6", generic_dsd_config }, |
|
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c |
|
index 1dcfba27e075..97388c170837 100644 |
|
--- a/sound/pci/hda/patch_realtek.c |
|
+++ b/sound/pci/hda/patch_realtek.c |
|
@@ -10256,6 +10256,8 @@ static const struct snd_pci_quirk alc269_fixup_tbl[] = { |
|
SND_PCI_QUIRK(0x17aa, 0x3886, "Y780 VECO DUAL", ALC287_FIXUP_TAS2781_I2C), |
|
SND_PCI_QUIRK(0x17aa, 0x38a7, "Y780P AMD YG dual", ALC287_FIXUP_TAS2781_I2C), |
|
SND_PCI_QUIRK(0x17aa, 0x38a8, "Y780P AMD VECO dual", ALC287_FIXUP_TAS2781_I2C), |
|
+ SND_PCI_QUIRK(0x17aa, 0x38a9, "ThinkBook 16p G4 IRH", ALC287_FIXUP_CS35L41_I2C_2), |
|
+ SND_PCI_QUIRK(0x17aa, 0x38ab, "ThinkBook 16p G4 IRH", ALC287_FIXUP_CS35L41_I2C_2), |
|
SND_PCI_QUIRK(0x17aa, 0x38b4, "Legion Slim 7 16IRH8", ALC287_FIXUP_CS35L41_I2C_2), |
|
SND_PCI_QUIRK(0x17aa, 0x38b5, "Legion Slim 7 16IRH8", ALC287_FIXUP_CS35L41_I2C_2), |
|
SND_PCI_QUIRK(0x17aa, 0x38b6, "Legion Slim 7 16APH8", ALC287_FIXUP_CS35L41_I2C_2), |
|
-- |
|
2.34.1 |
看到兄弟的提交了。估计会排期解决的。加油。(有用Gen5型号的朋友可以去跟帖汇报哈)(可以关注linux sound邮件组,Cirrus的几位佬)
然后估计
CS35L41
的驱动已经写好了。兄弟可以考虑把没打patch的kernel报错给发一下,alsa-info
好像看不到amp型号,还有acpidump
的输出可以重定向为文本,发给Bugzilla。(有可能是其他型号的amp,新型号或其他厂家的(比如德州仪器之类的))。