diff mbox series

[v2] ALSA: hda: Add _DSD for ThinkBook 16p G4 IRH with Subsystem Id of 0x17aa38a9.

Message ID tencent_BADE40D9A6A1C82B21811A844E5FE3881D06@qq.com (mailing list archive)
State New, archived
Headers show
Series [v2] ALSA: hda: Add _DSD for ThinkBook 16p G4 IRH with Subsystem Id of 0x17aa38a9. | expand

Commit Message

Huayu Zhang Jan. 8, 2024, 2:04 p.m. UTC
Add _DSD for ThinkBook 16p G4 IRH with Subsystem Id of 0x17aa38a9
because those info are missing in the ACPI table.

Before applying the changes: the laptop only have very poor and low
volumn with only up facing builtin speakers (down facing have no sound
at all).

After applying: both down facing (bass) and up facing bultin speakers
will have sound in a reasonable level.

But the behavior of volumn control is actually changing the frequency division: adjust to louder
(which supposed to make overall louder) only makes the up facing bultin speakers louder and downfacing gradually
lower its volumn at the meantime.

Wondering if this is related to ALSA or should make further changes on
the AMP settings?

Signed-off-by: Huayu Zhang <932367230@qq.com>
---
 sound/pci/hda/cs35l41_hda_property.c | 2 ++
 sound/pci/hda/patch_realtek.c        | 1 +
 2 files changed, 3 insertions(+)

Comments

Stefan Binding Jan. 8, 2024, 4:11 p.m. UTC | #1
Hi,

> -----Original Message-----
> From: Huayu Zhang <932367230@qq.com>
> Sent: Monday, January 8, 2024 2:05 PM
> To: tiwai@suse.com
> Cc: linux-sound@vger.kernel.org; james.schulman@cirrus.com;
> david.rhodes@cirrus.com; rf@opensource.cirrus.com; perex@perex.cz;
> sbinding@opensource.cirrus.com; kailang@realtek.com;
> zhanghuayu.dev@gmail.com; Huayu Zhang <932367230@qq.com>
> Subject: [PATCH] [PATCH v2] ALSA: hda: Add _DSD for ThinkBook 16p G4
> IRH with Subsystem Id of 0x17aa38a9.
> 
> Add _DSD for ThinkBook 16p G4 IRH with Subsystem Id of 0x17aa38a9
> because those info are missing in the ACPI table.
> 
> Before applying the changes: the laptop only have very poor and low
> volumn with only up facing builtin speakers (down facing have no
sound
> at all).
> 
> After applying: both down facing (bass) and up facing bultin
speakers
> will have sound in a reasonable level.
> 
> But the behavior of volumn control is actually changing the
frequency
> division: adjust to louder
> (which supposed to make overall louder) only makes the up facing
bultin
> speakers louder and downfacing gradually
> lower its volumn at the meantime.
> 
> Wondering if this is related to ALSA or should make further changes
on
> the AMP settings?
> 
> Signed-off-by: Huayu Zhang <932367230@qq.com>
> ---
>  sound/pci/hda/cs35l41_hda_property.c | 2 ++
>  sound/pci/hda/patch_realtek.c        | 1 +
>  2 files changed, 3 insertions(+)
> 
> diff --git a/sound/pci/hda/cs35l41_hda_property.c
> b/sound/pci/hda/cs35l41_hda_property.c
> index 35277ce890a4..b1844224123f 100644
> --- a/sound/pci/hda/cs35l41_hda_property.c
> +++ b/sound/pci/hda/cs35l41_hda_property.c
> @@ -93,6 +93,7 @@ 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, 1, -1, 0, 0, 0 },

This entry doesn't quite match the ACPI that I have access to for this
laptop,
though what I have might be out of date.
Can you attach an acpidump of this laptop so I can compare it to this
entry.
The ACPI dump that I have states that the SPK-ID is GPIO index 2,
rather
than index 1 as described in this entry.

You can generate the acpidump using the acpidump tool:
$ acpidump > acpidump.out

Thanks,
Stefan

>  	{ "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 +428,7 @@ 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", "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..3eae1a5d9bcd 100644
> --- a/sound/pci/hda/patch_realtek.c
> +++ b/sound/pci/hda/patch_realtek.c
> @@ -10256,6 +10256,7 @@ 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, 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
>
Stefan Binding Jan. 8, 2024, 4:43 p.m. UTC | #2
Hi,

> -----Original Message-----
> From: Huayu Zhang <zhanghuayu.dev@gmail.com>
> Sent: Monday, January 8, 2024 4:34 PM
> To: Stefan Binding <sbinding@opensource.cirrus.com>
> Subject: Re: [PATCH] [PATCH v2] ALSA: hda: Add _DSD for ThinkBook 16p
> G4 IRH with Subsystem Id of 0x17aa38a9.
> 
> Hi Stefan,
> 
> Thanks for your help. Sorry for the previous email. My email client
> seems has some bug. I’ll attach the output file of acpidump in this
> email. And my alsa-info output is here:
> https://alsa-
> project.org/db/?f=1c05a26e3b969f82d9e7b506571db6c8262d2e8a
> 
> Thanks again. Please have a nice day.

Looking at the ACPI, the entry should be:

{ "17AA38A9", 2, EXTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 2, -1, 0, 0, 0 },

Since SPK-ID is entry 2 rather than entry 1.

Thanks,
Stefan

> 
> Best,
> Huayu
> 
> On Tue, Jan 9, 2024 at 12:11 AM Stefan Binding
> <sbinding@opensource.cirrus.com> wrote:
> >
> > Hi,
> >
> > > -----Original Message-----
> > > From: Huayu Zhang <932367230@qq.com>
> > > Sent: Monday, January 8, 2024 2:05 PM
> > > To: tiwai@suse.com
> > > Cc: linux-sound@vger.kernel.org; james.schulman@cirrus.com;
> > > david.rhodes@cirrus.com; rf@opensource.cirrus.com;
> perex@perex.cz;
> > > sbinding@opensource.cirrus.com; kailang@realtek.com;
> > > zhanghuayu.dev@gmail.com; Huayu Zhang <932367230@qq.com>
> > > Subject: [PATCH] [PATCH v2] ALSA: hda: Add _DSD for ThinkBook 16p
> G4
> > > IRH with Subsystem Id of 0x17aa38a9.
> > >
> > > Add _DSD for ThinkBook 16p G4 IRH with Subsystem Id of 0x17aa38a9
> > > because those info are missing in the ACPI table.
> > >
> > > Before applying the changes: the laptop only have very poor and low
> > > volumn with only up facing builtin speakers (down facing have no
> > sound
> > > at all).
> > >
> > > After applying: both down facing (bass) and up facing bultin
> > speakers
> > > will have sound in a reasonable level.
> > >
> > > But the behavior of volumn control is actually changing the
> > frequency
> > > division: adjust to louder
> > > (which supposed to make overall louder) only makes the up facing
> > bultin
> > > speakers louder and downfacing gradually
> > > lower its volumn at the meantime.
> > >
> > > Wondering if this is related to ALSA or should make further changes
> > on
> > > the AMP settings?
> > >
> > > Signed-off-by: Huayu Zhang <932367230@qq.com>
> > > ---
> > >  sound/pci/hda/cs35l41_hda_property.c | 2 ++
> > >  sound/pci/hda/patch_realtek.c        | 1 +
> > >  2 files changed, 3 insertions(+)
> > >
> > > diff --git a/sound/pci/hda/cs35l41_hda_property.c
> > > b/sound/pci/hda/cs35l41_hda_property.c
> > > index 35277ce890a4..b1844224123f 100644
> > > --- a/sound/pci/hda/cs35l41_hda_property.c
> > > +++ b/sound/pci/hda/cs35l41_hda_property.c
> > > @@ -93,6 +93,7 @@ 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, 1, -1, 0, 0, 0 },
> >
> > This entry doesn't quite match the ACPI that I have access to for this
> > laptop,
> > though what I have might be out of date.
> > Can you attach an acpidump of this laptop so I can compare it to this
> > entry.
> > The ACPI dump that I have states that the SPK-ID is GPIO index 2,
> > rather
> > than index 1 as described in this entry.
> >
> > You can generate the acpidump using the acpidump tool:
> > $ acpidump > acpidump.out
> >
> > Thanks,
> > Stefan
> >
> > >       { "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 +428,7 @@ 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", "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..3eae1a5d9bcd 100644
> > > --- a/sound/pci/hda/patch_realtek.c
> > > +++ b/sound/pci/hda/patch_realtek.c
> > > @@ -10256,6 +10256,7 @@ 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, 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
> > >
> >
> >
Huayu Zhang Jan. 8, 2024, 5:26 p.m. UTC | #3
Hi Stefan,

Thanks for your patience and instructions. I've changed the SPK-ID to
2 as you did. But the same issue seems still there: Expecting overall
louder volumn, but only get up-facing speakers get louder, if I lower
the volumn, the bass (down facing) speakers seems louder (overall more
bass).

And here is the out put of my dmesg in patch kernel:
sudo dmesg | grep CS35L41
[    3.935286] cs35l41-hda i2c-CSC3551:00-cs35l41-hda.0: Cirrus Logic
CS35L41 (35a40), Revision: B2
[    3.989985] cs35l41-hda i2c-CSC3551:00-cs35l41-hda.1: Cirrus Logic
CS35L41 (35a40), Revision: B2
[    5.866227] cs35l41-hda i2c-CSC3551:00-cs35l41-hda.0: CS35L41 Bound
- SSID: 17AA38A9, BST: 1, VSPK: 1, CH: L, FW EN: 1, SPKID: 0
[    6.370399] cs35l41-hda i2c-CSC3551:00-cs35l41-hda.1: CS35L41 Bound
- SSID: 17AA38A9, BST: 1, VSPK: 1, CH: R, FW EN: 1, SPKID: 0

Could you please help me more on this. I'm not a kernel developer nor
embedded developer. But I may could assist you by testing the code or
more.

Many thanks,
Huayu

On Tue, Jan 9, 2024 at 12:43 AM Stefan Binding
<sbinding@opensource.cirrus.com> wrote:
>
> Hi,
>
> > -----Original Message-----
> > From: Huayu Zhang <zhanghuayu.dev@gmail.com>
> > Sent: Monday, January 8, 2024 4:34 PM
> > To: Stefan Binding <sbinding@opensource.cirrus.com>
> > Subject: Re: [PATCH] [PATCH v2] ALSA: hda: Add _DSD for ThinkBook 16p
> > G4 IRH with Subsystem Id of 0x17aa38a9.
> >
> > Hi Stefan,
> >
> > Thanks for your help. Sorry for the previous email. My email client
> > seems has some bug. I’ll attach the output file of acpidump in this
> > email. And my alsa-info output is here:
> > https://alsa-
> > project.org/db/?f=1c05a26e3b969f82d9e7b506571db6c8262d2e8a
> >
> > Thanks again. Please have a nice day.
>
> Looking at the ACPI, the entry should be:
>
> { "17AA38A9", 2, EXTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0 }, 0, 2, -1, 0, 0, 0 },
>
> Since SPK-ID is entry 2 rather than entry 1.
>
> Thanks,
> Stefan
>
> >
> > Best,
> > Huayu
> >
> > On Tue, Jan 9, 2024 at 12:11 AM Stefan Binding
> > <sbinding@opensource.cirrus.com> wrote:
> > >
> > > Hi,
> > >
> > > > -----Original Message-----
> > > > From: Huayu Zhang <932367230@qq.com>
> > > > Sent: Monday, January 8, 2024 2:05 PM
> > > > To: tiwai@suse.com
> > > > Cc: linux-sound@vger.kernel.org; james.schulman@cirrus.com;
> > > > david.rhodes@cirrus.com; rf@opensource.cirrus.com;
> > perex@perex.cz;
> > > > sbinding@opensource.cirrus.com; kailang@realtek.com;
> > > > zhanghuayu.dev@gmail.com; Huayu Zhang <932367230@qq.com>
> > > > Subject: [PATCH] [PATCH v2] ALSA: hda: Add _DSD for ThinkBook 16p
> > G4
> > > > IRH with Subsystem Id of 0x17aa38a9.
> > > >
> > > > Add _DSD for ThinkBook 16p G4 IRH with Subsystem Id of 0x17aa38a9
> > > > because those info are missing in the ACPI table.
> > > >
> > > > Before applying the changes: the laptop only have very poor and low
> > > > volumn with only up facing builtin speakers (down facing have no
> > > sound
> > > > at all).
> > > >
> > > > After applying: both down facing (bass) and up facing bultin
> > > speakers
> > > > will have sound in a reasonable level.
> > > >
> > > > But the behavior of volumn control is actually changing the
> > > frequency
> > > > division: adjust to louder
> > > > (which supposed to make overall louder) only makes the up facing
> > > bultin
> > > > speakers louder and downfacing gradually
> > > > lower its volumn at the meantime.
> > > >
> > > > Wondering if this is related to ALSA or should make further changes
> > > on
> > > > the AMP settings?
> > > >
> > > > Signed-off-by: Huayu Zhang <932367230@qq.com>
> > > > ---
> > > >  sound/pci/hda/cs35l41_hda_property.c | 2 ++
> > > >  sound/pci/hda/patch_realtek.c        | 1 +
> > > >  2 files changed, 3 insertions(+)
> > > >
> > > > diff --git a/sound/pci/hda/cs35l41_hda_property.c
> > > > b/sound/pci/hda/cs35l41_hda_property.c
> > > > index 35277ce890a4..b1844224123f 100644
> > > > --- a/sound/pci/hda/cs35l41_hda_property.c
> > > > +++ b/sound/pci/hda/cs35l41_hda_property.c
> > > > @@ -93,6 +93,7 @@ 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, 1, -1, 0, 0, 0 },
> > >
> > > This entry doesn't quite match the ACPI that I have access to for this
> > > laptop,
> > > though what I have might be out of date.
> > > Can you attach an acpidump of this laptop so I can compare it to this
> > > entry.
> > > The ACPI dump that I have states that the SPK-ID is GPIO index 2,
> > > rather
> > > than index 1 as described in this entry.
> > >
> > > You can generate the acpidump using the acpidump tool:
> > > $ acpidump > acpidump.out
> > >
> > > Thanks,
> > > Stefan
> > >
> > > >       { "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 +428,7 @@ 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", "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..3eae1a5d9bcd 100644
> > > > --- a/sound/pci/hda/patch_realtek.c
> > > > +++ b/sound/pci/hda/patch_realtek.c
> > > > @@ -10256,6 +10256,7 @@ 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, 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
> > > >
> > >
> > >
>
diff mbox series

Patch

diff --git a/sound/pci/hda/cs35l41_hda_property.c b/sound/pci/hda/cs35l41_hda_property.c
index 35277ce890a4..b1844224123f 100644
--- a/sound/pci/hda/cs35l41_hda_property.c
+++ b/sound/pci/hda/cs35l41_hda_property.c
@@ -93,6 +93,7 @@  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, 1, -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 +428,7 @@  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", "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..3eae1a5d9bcd 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -10256,6 +10256,7 @@  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, 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),