* [PATCH 0/2] ALSA: hda/realtek: Sort Ally X properly, fix Asus Z13 2025 audio
@ 2025-02-24 16:10 Antheas Kapenekakis
2025-02-24 16:10 ` [PATCH 1/2] ALSA: hda/realtek: Remove dup Ally X config Antheas Kapenekakis
2025-02-24 16:10 ` [PATCH 2/2] ALSA: hda/realtek: Fix Asus Z13 2025 audio Antheas Kapenekakis
0 siblings, 2 replies; 7+ messages in thread
From: Antheas Kapenekakis @ 2025-02-24 16:10 UTC (permalink / raw)
To: linux-sound, kailang
Cc: linux-kernel, perex, tiwai, baojun.xu, simont,
Antheas Kapenekakis
The Ally X has two quirks in the kernel currently. This is due to the
previous quirk not being sorted properly, whoopsies. Therefore, only one
has to stay. During AB testing, I found that the Lenovo quirk makes a
popping sound during boot. Therefore the better quirk is the previous one.
This also mirrors our initial testing last August, where creating that
custom quirk fixed the popping sound over re-using the existing
Lenovo TAS quirk.
Then, add the Asus Z13 2025 quirk to the list. When looking into its dsdt
file, it was found to be identical to the original Ally. Therefore, borrow
its quirk. After using the quirk, sound works properly. However, the kernel
loads the default firmware for it, resulting in subpar sound quality.
After looking into the Windows driver files, the following files were
identified to be the correct ones for it:
Playback_6.83.0/Firmware/CS35L41/RevB2/halo_cspl_RAM_revB2_29.85.0.wmfw
tunings/ASUS_GZ302EA_10431FB3_241018/10431FB3_241018_V01_A0.bin
tunings/ASUS_GZ302EA_10431FB3_241018/10431FB3_241018_V01_A0_cal.bin
tunings/ASUS_GZ302EA_10431FB3_241018/10431FB3_241018_V01_A1.bin
tunings/ASUS_GZ302EA_10431FB3_241018/10431FB3_241018_V01_A1_cal.bin
Which the kernel expects to be named as:
cirrus/cs35l41-dsp1-spk-prot-10431fb3.wmfw
cirrus/cs35l41-dsp1-spk-prot-10431fb3-r0.bin
cirrus/cs35l41-dsp1-spk-prot-10431fb3-l0.bin
cirrus/cs35l41-dsp1-spk-cali-10431fb3-r0.bin
cirrus/cs35l41-dsp1-spk-cali-10431fb3-l0.bin
where A0 corresponds to r0.
Therefore, +cc Simon Trimmer who often uploads firmware for these devices.
Antheas Kapenekakis (2):
ALSA: hda/realtek: Remove dup Ally X config
ALSA: hda/realtek: Fix Asus Z13 2025 audio
sound/pci/hda/patch_realtek.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--
2.48.1
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 1/2] ALSA: hda/realtek: Remove dup Ally X config
2025-02-24 16:10 [PATCH 0/2] ALSA: hda/realtek: Sort Ally X properly, fix Asus Z13 2025 audio Antheas Kapenekakis
@ 2025-02-24 16:10 ` Antheas Kapenekakis
2025-02-24 16:10 ` [PATCH 2/2] ALSA: hda/realtek: Fix Asus Z13 2025 audio Antheas Kapenekakis
1 sibling, 0 replies; 7+ messages in thread
From: Antheas Kapenekakis @ 2025-02-24 16:10 UTC (permalink / raw)
To: linux-sound, kailang
Cc: linux-kernel, perex, tiwai, baojun.xu, simont,
Antheas Kapenekakis
In commit 1e9c708dc3ae ("ALSA: hda/tas2781: Add new quirk for Lenovo,
ASUS, Dell projects") Baojun adds a bunch of projects to the file,
including for the Ally X. Turns out the initial Ally X was not sorted
properly, so the kernel had 2 quirks for it.
The previous quirk overrode the new one due to being earlier and they
are different. When AB testing, it was found that the Ally X makes a
popping sound during boot when using the (new) Lenovo quirk.
Therefore, keep using the previous custom quirk for the Ally X and sort
it properly, replacing the one added by Baojun.
Signed-off-by: Antheas Kapenekakis <lkml@antheas.dev>
---
sound/pci/hda/patch_realtek.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 224616fbec4f..1771e3b5618d 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -10644,7 +10644,6 @@ static const struct hda_quirk alc269_fixup_tbl[] = {
SND_PCI_QUIRK(0x1043, 0x1740, "ASUS UX430UA", ALC295_FIXUP_ASUS_DACS),
SND_PCI_QUIRK(0x1043, 0x17d1, "ASUS UX431FL", ALC294_FIXUP_ASUS_DUAL_SPK),
SND_PCI_QUIRK(0x1043, 0x17f3, "ROG Ally NR2301L/X", ALC294_FIXUP_ASUS_ALLY),
- SND_PCI_QUIRK(0x1043, 0x1eb3, "ROG Ally X RC72LA", ALC294_FIXUP_ASUS_ALLY_X),
SND_PCI_QUIRK(0x1043, 0x1863, "ASUS UX6404VI/VV", ALC245_FIXUP_CS35L41_SPI_2),
SND_PCI_QUIRK(0x1043, 0x1881, "ASUS Zephyrus S/M", ALC294_FIXUP_ASUS_GX502_PINS),
SND_PCI_QUIRK(0x1043, 0x18b1, "Asus MJ401TA", ALC256_FIXUP_ASUS_HEADSET_MIC),
@@ -10691,7 +10690,7 @@ static const struct hda_quirk alc269_fixup_tbl[] = {
SND_PCI_QUIRK(0x1043, 0x1e63, "ASUS H7606W", ALC285_FIXUP_ASUS_GU605_SPI_SPEAKER2_TO_DAC1),
SND_PCI_QUIRK(0x1043, 0x1e83, "ASUS GA605W", ALC285_FIXUP_ASUS_GU605_SPI_SPEAKER2_TO_DAC1),
SND_PCI_QUIRK(0x1043, 0x1e8e, "ASUS Zephyrus G15", ALC289_FIXUP_ASUS_GA401),
- SND_PCI_QUIRK(0x1043, 0x1eb3, "ASUS Ally RCLA72", ALC287_FIXUP_TAS2781_I2C),
+ SND_PCI_QUIRK(0x1043, 0x1eb3, "ROG Ally X RC72LA", ALC294_FIXUP_ASUS_ALLY_X),
SND_PCI_QUIRK(0x1043, 0x1ed3, "ASUS HN7306W", ALC287_FIXUP_CS35L41_I2C_2),
SND_PCI_QUIRK(0x1043, 0x1ee2, "ASUS UM6702RA/RC", ALC287_FIXUP_CS35L41_I2C_2),
SND_PCI_QUIRK(0x1043, 0x1c52, "ASUS Zephyrus G15 2022", ALC289_FIXUP_ASUS_GA401),
--
2.48.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 2/2] ALSA: hda/realtek: Fix Asus Z13 2025 audio
2025-02-24 16:10 [PATCH 0/2] ALSA: hda/realtek: Sort Ally X properly, fix Asus Z13 2025 audio Antheas Kapenekakis
2025-02-24 16:10 ` [PATCH 1/2] ALSA: hda/realtek: Remove dup Ally X config Antheas Kapenekakis
@ 2025-02-24 16:10 ` Antheas Kapenekakis
2025-02-24 16:53 ` Stefan Binding (Opensource)
1 sibling, 1 reply; 7+ messages in thread
From: Antheas Kapenekakis @ 2025-02-24 16:10 UTC (permalink / raw)
To: linux-sound, kailang
Cc: linux-kernel, perex, tiwai, baojun.xu, simont,
Antheas Kapenekakis, Kyle Gospodnetich
dsdt entry is the same as the original Ally, so borrow its quirks.
Sound works in both speakers, headphones, and microphone. Whereas
none worked before.
Tested-by: Kyle Gospodnetich <me@kylegospodneti.ch>
Signed-off-by: Antheas Kapenekakis <lkml@antheas.dev>
---
sound/pci/hda/patch_realtek.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index 1771e3b5618d..62c77db73df9 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -10699,6 +10699,7 @@ static const struct hda_quirk alc269_fixup_tbl[] = {
SND_PCI_QUIRK(0x1043, 0x1f1f, "ASUS H7604JI/JV/J3D", ALC245_FIXUP_CS35L41_SPI_2),
SND_PCI_QUIRK(0x1043, 0x1f62, "ASUS UX7602ZM", ALC245_FIXUP_CS35L41_SPI_2),
SND_PCI_QUIRK(0x1043, 0x1f92, "ASUS ROG Flow X16", ALC289_FIXUP_ASUS_GA401),
+ SND_PCI_QUIRK(0x1043, 0x1fb3, "ASUS ROG Flow Z13 GZ302EA", ALC294_FIXUP_ASUS_ALLY),
SND_PCI_QUIRK(0x1043, 0x3030, "ASUS ZN270IE", ALC256_FIXUP_ASUS_AIO_GPIO2),
SND_PCI_QUIRK(0x1043, 0x31d0, "ASUS Zen AIO 27 Z272SD_A272SD", ALC274_FIXUP_ASUS_ZEN_AIO_27),
SND_PCI_QUIRK(0x1043, 0x3a20, "ASUS G614JZR", ALC285_FIXUP_ASUS_SPI_REAR_SPEAKERS),
--
2.48.1
^ permalink raw reply related [flat|nested] 7+ messages in thread
* RE: [PATCH 2/2] ALSA: hda/realtek: Fix Asus Z13 2025 audio
2025-02-24 16:10 ` [PATCH 2/2] ALSA: hda/realtek: Fix Asus Z13 2025 audio Antheas Kapenekakis
@ 2025-02-24 16:53 ` Stefan Binding (Opensource)
2025-02-24 17:02 ` Antheas Kapenekakis
0 siblings, 1 reply; 7+ messages in thread
From: Stefan Binding (Opensource) @ 2025-02-24 16:53 UTC (permalink / raw)
To: 'Antheas Kapenekakis', linux-sound, kailang
Cc: linux-kernel, perex, tiwai, baojun.xu, simont,
'Kyle Gospodnetich'
Hi,
> -----Original Message-----
> From: Antheas Kapenekakis <lkml@antheas.dev>
> Sent: Monday, February 24, 2025 4:10 PM
> To: linux-sound@vger.kernel.org; kailang@realtek.com
> Cc: linux-kernel@vger.kernel.org; perex@perex.cz; tiwai@suse.com;
> baojun.xu@ti.com; simont@opensource.cirrus.com; Antheas Kapenekakis
> <lkml@antheas.dev>; Kyle Gospodnetich <me@kylegospodneti.ch>
> Subject: [PATCH 2/2] ALSA: hda/realtek: Fix Asus Z13 2025 audio
>
> dsdt entry is the same as the original Ally, so borrow its quirks.
> Sound works in both speakers, headphones, and microphone. Whereas none
> worked before.
This laptop is in the list of laptops that I was planning to upstream, but I
am currently waiting on testing for this generation of laptops.
The Ally fixups do some extra stuff in the Realtek driver, which may or may
not apply to this laptop. I believe the minimum fixup required for this
laptop is ALC287_FIXUP_CS35L41_I2C_2, but I don't have the laptop to test
that.
If possible, could you provide an acpidump of this system, so I can compare
against what I have?
It would be better to wait until we have tested this generation of laptops,
after which I can upstream the kernel patches to support them, as well as
the firmware.
Thanks,
Stefan
>
> Tested-by: Kyle Gospodnetich <me@kylegospodneti.ch>
> Signed-off-by: Antheas Kapenekakis <lkml@antheas.dev>
> ---
> sound/pci/hda/patch_realtek.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
> index 1771e3b5618d..62c77db73df9 100644
> --- a/sound/pci/hda/patch_realtek.c
> +++ b/sound/pci/hda/patch_realtek.c
> @@ -10699,6 +10699,7 @@ static const struct hda_quirk alc269_fixup_tbl[] =
{
> SND_PCI_QUIRK(0x1043, 0x1f1f, "ASUS H7604JI/JV/J3D",
> ALC245_FIXUP_CS35L41_SPI_2),
> SND_PCI_QUIRK(0x1043, 0x1f62, "ASUS UX7602ZM",
> ALC245_FIXUP_CS35L41_SPI_2),
> SND_PCI_QUIRK(0x1043, 0x1f92, "ASUS ROG Flow X16",
> ALC289_FIXUP_ASUS_GA401),
> + SND_PCI_QUIRK(0x1043, 0x1fb3, "ASUS ROG Flow Z13 GZ302EA",
> +ALC294_FIXUP_ASUS_ALLY),
> SND_PCI_QUIRK(0x1043, 0x3030, "ASUS ZN270IE",
> ALC256_FIXUP_ASUS_AIO_GPIO2),
> SND_PCI_QUIRK(0x1043, 0x31d0, "ASUS Zen AIO 27 Z272SD_A272SD",
> ALC274_FIXUP_ASUS_ZEN_AIO_27),
> SND_PCI_QUIRK(0x1043, 0x3a20, "ASUS G614JZR",
> ALC285_FIXUP_ASUS_SPI_REAR_SPEAKERS),
> --
> 2.48.1
>
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] ALSA: hda/realtek: Fix Asus Z13 2025 audio
2025-02-24 16:53 ` Stefan Binding (Opensource)
@ 2025-02-24 17:02 ` Antheas Kapenekakis
2025-02-24 17:05 ` Antheas Kapenekakis
0 siblings, 1 reply; 7+ messages in thread
From: Antheas Kapenekakis @ 2025-02-24 17:02 UTC (permalink / raw)
To: Stefan Binding (Opensource)
Cc: linux-sound, kailang, linux-kernel, perex, tiwai, baojun.xu,
simont, Kyle Gospodnetich
Hi Stefan,
> If possible, could you provide an acpidump of this system, so I can compare
> against what I have?
sure, see [1]
Antheas
[1] https://github.com/hhd-dev/hwinfo/blob/5bb16fa59f533e036e430016f2c85facd0325f5a/devices/Asus%20Z13%202025/decoded/dsdt.dsl
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] ALSA: hda/realtek: Fix Asus Z13 2025 audio
2025-02-24 17:02 ` Antheas Kapenekakis
@ 2025-02-24 17:05 ` Antheas Kapenekakis
2025-02-24 17:38 ` Antheas Kapenekakis
0 siblings, 1 reply; 7+ messages in thread
From: Antheas Kapenekakis @ 2025-02-24 17:05 UTC (permalink / raw)
To: Stefan Binding (Opensource)
Cc: linux-sound, kailang, linux-kernel, perex, tiwai, baojun.xu,
simont, Kyle Gospodnetich
You are indeed right Stefan, during grepping i got 16 results for
ALC294_FIXUP_ASUS_ALLY so I thought it was used more.
My mistake. I can also try the base 2c fixup
Antheas
On Mon, 24 Feb 2025 at 18:02, Antheas Kapenekakis <lkml@antheas.dev> wrote:
>
> Hi Stefan,
>
> > If possible, could you provide an acpidump of this system, so I can compare
> > against what I have?
>
> sure, see [1]
>
> Antheas
>
> [1] https://github.com/hhd-dev/hwinfo/blob/5bb16fa59f533e036e430016f2c85facd0325f5a/devices/Asus%20Z13%202025/decoded/dsdt.dsl
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 2/2] ALSA: hda/realtek: Fix Asus Z13 2025 audio
2025-02-24 17:05 ` Antheas Kapenekakis
@ 2025-02-24 17:38 ` Antheas Kapenekakis
0 siblings, 0 replies; 7+ messages in thread
From: Antheas Kapenekakis @ 2025-02-24 17:38 UTC (permalink / raw)
To: Stefan Binding (Opensource)
Cc: linux-sound, kailang, linux-kernel, perex, tiwai, baojun.xu,
simont, Kyle Gospodnetich
Sounds about the same, perhaps a bit better. I'll swap to that one for
our use and for when/if there is a V2.
Any tips about going through this stuff are well appreciated. Online
documentation is very sparse
On that note, what's the timeline for adding support to these laptops?
And speaking of a V2, the Ally X quirk is a bit suspect. Yes it fixes
the popping during boot, but which part of it does that? It is very
long and touches a different amp quirk in the process I'd say, so it
would be nice to clean up. Let's forget about the original Ally, but
the Ally X is still relevant.
Of course, I do not expect an answer from you Stefan, as it is a
competitor amp, haha. This is mostly for Baojun et al.
Best,
Antheas
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2025-02-24 17:39 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-24 16:10 [PATCH 0/2] ALSA: hda/realtek: Sort Ally X properly, fix Asus Z13 2025 audio Antheas Kapenekakis
2025-02-24 16:10 ` [PATCH 1/2] ALSA: hda/realtek: Remove dup Ally X config Antheas Kapenekakis
2025-02-24 16:10 ` [PATCH 2/2] ALSA: hda/realtek: Fix Asus Z13 2025 audio Antheas Kapenekakis
2025-02-24 16:53 ` Stefan Binding (Opensource)
2025-02-24 17:02 ` Antheas Kapenekakis
2025-02-24 17:05 ` Antheas Kapenekakis
2025-02-24 17:38 ` Antheas Kapenekakis
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox