Re: [PATCH] ALSA: hda: cs35l41: Support ASUS 2023 laptops with missing DSD

From: Stefan Binding
Date: Tue Oct 03 2023 - 11:07:09 EST



On 03/10/2023 15:45, Luke Jones wrote:


On Thu, Aug 24 2023 at 08:31:06 AM +12:00:00, Luke Jones <luke@xxxxxxxxxx> wrote:


The second member variable in cs35l41_prop_model_table is the SSID to
match against.
The Lenovo laptops in the initial patch didn't have different SSIDs so
the entry was set to NULL for those.
Future entries using CSC3551 MUST always have an accompanying SSID
with this entry.
Takashi was correct, the implementation is intended to also be used to
patch incorrect DSD.

We have a potential solution to workaround the SPI cs-gpios issue
inside here,
though the drawback for that is that it only works for laptops with 2
SPI amps.

Can you provide me this so I can test? I have laptops with SPI 2 and 4 speaker setups.

Hi Stefan,

Do you have any further information about the status of this in regards to the 2023 laptops?

Hi,

We are currently working on adding support for 2023 ASUS laptops without _DSD.



I also took a look at the function for applying DSD properties for the
2023 ROG laptops.
Unfortunately the one-size-fits-all approach will not work, some of
these laptops are i2c
and some are SPI, meaning the GPIO indexes are different for different
laptops.

Do you mean "spk-id-gpios"? For all the laptops I know of this seems to be
Package () { "spk-id-gpios", Package () {
   SPK1, 0x02, Zero, Zero,
   SPK1, 0x02, Zero, Zero
} },

There is one laptop where it is One not 0x02 (the GA402N)

Some of the laptops do no have Speaker IDs.
Also, no laptop other than the 2 I added already should ever use
CS35L41_EXT_BOOST_NO_VSPK_SWITCH (in fact I believe all these laptops
are internal
boost anyway).

Grazie.


We are currently working internally on adding support for the 2023 ROG
laptops, so we
ask for you guys to hold off on trying to upstream support for these
laptops.

Ah great. Thank you. I apologise for trying to rush things, but I do have a discord server of over 4000 people, many of whom have laptops with cirrus amps.

For now I'm including a patch in my kernel builds with this mapping:

const struct cs35l41_prop_model cs35l41_prop_model_table[] = {
    { "CLSA0100", NULL, lenovo_legion_no_acpi },
    { "CLSA0101", NULL, lenovo_legion_no_acpi },
    { "CSC3551", "10431433", asus_rog_2023_no_acpi }, // ASUS GS650P - i2c
    { "CSC3551", "10431463", asus_rog_2023_no_acpi }, // ASUS GA402X - i2c
    { "CSC3551", "10431473", asus_rog_2023_no_acpi }, // ASUS GU604V - spi
    { "CSC3551", "10431483", asus_rog_2023_no_acpi }, // ASUS GU603V - spi
    { "CSC3551", "10431493", asus_rog_2023_no_acpi }, // ASUS GV601V - spi
    { "CSC3551", "10431573", asus_rog_2023_no_acpi }, // ASUS GZ301V - spi
    { "CSC3551", "104317F3", asus_rog_2023_no_acpi }, // ASUS ROG ALLY - i2c
    { "CSC3551", "10431B93", asus_rog_2023_no_acpi }, // ASUS G614J - spi
    { "CSC3551", "10431CAF", asus_rog_2023_no_acpi }, // ASUS G634J - spi
    { "CSC3551", "10431C9F", asus_rog_2023_no_acpi }, // ASUS G614JI -spi
    { "CSC3551", "10431D1F", asus_rog_2023_no_acpi }, // ASUS G713P - i2c
    { "CSC3551", "10431F1F", asus_rog_2023_no_acpi }, // ASUS H7604JV - spi
    {}
};

These are the machines I have verified the gpios and such for.

I have a new version of this patch with all listed models confirmed as working, and with slightly different settings for some. The only thing missing in a solution to the gpio-cs issue.

Can you please provide an update on where you are with ASUS support in particular so that I may consider if it is worth my time submitting the updated patch.
We would prefer for you to wait, as we are looking to push up this support in the coming weeks.


Cheers,
Luke.