|
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 |
Haven't tried that yet (My Ubuntu is now perform as a
server
notdesktop
). Even it "works", that only means you will have sounds both from up facing and down facing speakers. In my case, the volumn adjusting is actually changing the frequency division.Please refer to this bugzilla thread for more details (some guys have patch for older kernel but I never got chance to verify it).