All of lore.kernel.org
 help / color / mirror / Atom feed
From: Luke Jones <luke@ljones.dev>
To: linux-kernel@vger.kernel.org
Cc: tiwai@suse.com, sbinding@opensource.cirrus.com, perex@perex.cz,
	tangmeng@uniontech.com, andy.chi@canonical.com,
	p.jungkamp@gmx.net, kasper93@gmail.com, yangyuchi66@gmail.com,
	armas@codux.tech, ealex95@gmail.com, james.schulman@cirrus.com,
	david.rhodes@cirrus.com, tanureal@opensource.cirrus.com,
	rf@opensource.cirrus.com, patches@opensource.cirrus.com,
	alsa-devel@alsa-project.org
Subject: CSC3551 and devices missing related _DSD bits
Date: Fri, 19 May 2023 10:26:22 +1200	[thread overview]
Message-ID: <1991650.PYKUYFuaPT@fedora> (raw)

Hi Takashi (and all others),

We're beginning to encounter more and more laptops from ASUS in the ROG range 
where the bass speakers are connected to a cirrus amp, and the driver for 
cirrus is unable to pick this up due to being missing a _DSD section in the 
ACPI (SSDT). I've emailed engineers at ASUS I have contact with about this but 
it is unlikely that we will see corrections for each and every model + variant 
they have. The models we have seen so far are:
- GX650P
- GU604V
- GA402X
And there have been numerous forum postings in various places with the exact 
same issue for other models from ASUS that are not in the ROG group I deal 
with - oh and also some Lenovo and HP devices also.

Some of the logs are:

[    5.542312] Serial bus multi instantiate pseudo device driver CSC3551:00: 
Instantiated 2 I2C devices.
[    5.717261] cs35l41-hda i2c-CSC3551:00-cs35l41-hda.0: Error: ACPI _DSD 
Properties are missing for HID CSC3551.
[    5.717269] cs35l41-hda i2c-CSC3551:00-cs35l41-hda.0: error -EINVAL: 
Platform not supported
[    5.717286] cs35l41-hda: probe of i2c-CSC3551:00-cs35l41-hda.0 failed with 
error -22
[    5.717734] cs35l41-hda i2c-CSC3551:00-cs35l41-hda.1: Error: ACPI _DSD 
Properties are missing for HID CSC3551.
[    5.717737] cs35l41-hda i2c-CSC3551:00-cs35l41-hda.1: error -EINVAL: 
Platform not supported
[    5.717750] cs35l41-hda: probe of i2c-CSC3551:00-cs35l41-hda.1 failed with 
error -22

and:

[    3.343851] cs35l41-hda spi1-CSC3551:00-cs35l41-hda.0: Error: ACPI _DSD 
Properties are missing for HID CSC3551.
[    3.343854] cs35l41-hda spi1-CSC3551:00-cs35l41-hda.0: error -EINVAL: 
Platform not supported
[    3.343855] cs35l41-hda: probe of spi1-CSC3551:00-cs35l41-hda.0 failed with 
error -22
[    3.345544] cs35l41-hda spi1-CSC3551:00-cs35l41-hda.1: Error: ACPI _DSD 
Properties are missing for HID CSC3551.
[    3.345546] cs35l41-hda spi1-CSC3551:00-cs35l41-hda.1: error -EINVAL: 
Platform not supported
[    3.345548] cs35l41-hda: probe of spi1-CSC3551:00-cs35l41-hda.1 failed with 
error -22

So there are SPI connected, and I2C connected.

Alex has already submitted the related patch_realtek work for the GU604V and 
no doubt there will be some follow up patches from myself or others for the 
other models. Alex has attempted to patch the Cirrus related parts in kernel 
direct with:
1. https://github.com/bno1/linux-xanmod-gu604/blob/acpi-hack/
patch03_gu604v_speaker_acpi_hack.patch
2. https://github.com/bno1/linux-xanmod-gu604/blob/acpi-hack/
patch04_gu604v_spi_cs_gpio_hack.patch
both of these patches have been tested and working for over a week.

From what I see the patch04_gu604v_spi_cs_gpio_hack patch needs to shift to 
the cirrus driver sound/pci/hda/cs35l41_hda.c, and that driver must now have a 
quirk table - unless we can somehow add the cirrus related bits to the realtek 
code? I've personally not played with this beyond keeping an eye on it all and 
am reluctant to begin work on a solution until I've had some input on the 
direction it should take.

In any case, this is not an isolated issue and we could benefit from putting 
in place some quirk or similar to accommodate for laptops where the vendor for 
some reason does not include the _DSD parts for use with the cirrus driver. 
The trend is looking so far like this practice will continue regardless of the 
vendor.

Known reports:
- https://bugzilla.kernel.org/show_bug.cgi?id=216194
- https://www.spinics.net/lists/alsa-devel/msg146434.html
- https://gist.github.com/lamperez/862763881c0e1c812392b5574727f6ff
- https://forums.linuxmint.com/viewtopic.php?t=392762
- https://h30434.www3.hp.com/t5/Notebook-Operating-System-and-Recovery/Envy-x360-2022-13-b0074TU-Audio-not-working-in-Linux-Fedora/td-p/8644641

Regards,
Luke




WARNING: multiple messages have this Message-ID (diff)
From: Luke Jones <luke@ljones.dev>
To: linux-kernel@vger.kernel.org
Cc: tiwai@suse.com, sbinding@opensource.cirrus.com, perex@perex.cz,
	tangmeng@uniontech.com, andy.chi@canonical.com,
	p.jungkamp@gmx.net, kasper93@gmail.com, yangyuchi66@gmail.com,
	armas@codux.tech, ealex95@gmail.com, james.schulman@cirrus.com,
	david.rhodes@cirrus.com, tanureal@opensource.cirrus.com,
	rf@opensource.cirrus.com, patches@opensource.cirrus.com,
	alsa-devel@alsa-project.org
Subject: CSC3551 and devices missing related _DSD bits
Date: Fri, 19 May 2023 10:26:22 +1200	[thread overview]
Message-ID: <1991650.PYKUYFuaPT@fedora> (raw)

Hi Takashi (and all others),

We're beginning to encounter more and more laptops from ASUS in the ROG range 
where the bass speakers are connected to a cirrus amp, and the driver for 
cirrus is unable to pick this up due to being missing a _DSD section in the 
ACPI (SSDT). I've emailed engineers at ASUS I have contact with about this but 
it is unlikely that we will see corrections for each and every model + variant 
they have. The models we have seen so far are:
- GX650P
- GU604V
- GA402X
And there have been numerous forum postings in various places with the exact 
same issue for other models from ASUS that are not in the ROG group I deal 
with - oh and also some Lenovo and HP devices also.

Some of the logs are:

[    5.542312] Serial bus multi instantiate pseudo device driver CSC3551:00: 
Instantiated 2 I2C devices.
[    5.717261] cs35l41-hda i2c-CSC3551:00-cs35l41-hda.0: Error: ACPI _DSD 
Properties are missing for HID CSC3551.
[    5.717269] cs35l41-hda i2c-CSC3551:00-cs35l41-hda.0: error -EINVAL: 
Platform not supported
[    5.717286] cs35l41-hda: probe of i2c-CSC3551:00-cs35l41-hda.0 failed with 
error -22
[    5.717734] cs35l41-hda i2c-CSC3551:00-cs35l41-hda.1: Error: ACPI _DSD 
Properties are missing for HID CSC3551.
[    5.717737] cs35l41-hda i2c-CSC3551:00-cs35l41-hda.1: error -EINVAL: 
Platform not supported
[    5.717750] cs35l41-hda: probe of i2c-CSC3551:00-cs35l41-hda.1 failed with 
error -22

and:

[    3.343851] cs35l41-hda spi1-CSC3551:00-cs35l41-hda.0: Error: ACPI _DSD 
Properties are missing for HID CSC3551.
[    3.343854] cs35l41-hda spi1-CSC3551:00-cs35l41-hda.0: error -EINVAL: 
Platform not supported
[    3.343855] cs35l41-hda: probe of spi1-CSC3551:00-cs35l41-hda.0 failed with 
error -22
[    3.345544] cs35l41-hda spi1-CSC3551:00-cs35l41-hda.1: Error: ACPI _DSD 
Properties are missing for HID CSC3551.
[    3.345546] cs35l41-hda spi1-CSC3551:00-cs35l41-hda.1: error -EINVAL: 
Platform not supported
[    3.345548] cs35l41-hda: probe of spi1-CSC3551:00-cs35l41-hda.1 failed with 
error -22

So there are SPI connected, and I2C connected.

Alex has already submitted the related patch_realtek work for the GU604V and 
no doubt there will be some follow up patches from myself or others for the 
other models. Alex has attempted to patch the Cirrus related parts in kernel 
direct with:
1. https://github.com/bno1/linux-xanmod-gu604/blob/acpi-hack/
patch03_gu604v_speaker_acpi_hack.patch
2. https://github.com/bno1/linux-xanmod-gu604/blob/acpi-hack/
patch04_gu604v_spi_cs_gpio_hack.patch
both of these patches have been tested and working for over a week.

>From what I see the patch04_gu604v_spi_cs_gpio_hack patch needs to shift to 
the cirrus driver sound/pci/hda/cs35l41_hda.c, and that driver must now have a 
quirk table - unless we can somehow add the cirrus related bits to the realtek 
code? I've personally not played with this beyond keeping an eye on it all and 
am reluctant to begin work on a solution until I've had some input on the 
direction it should take.

In any case, this is not an isolated issue and we could benefit from putting 
in place some quirk or similar to accommodate for laptops where the vendor for 
some reason does not include the _DSD parts for use with the cirrus driver. 
The trend is looking so far like this practice will continue regardless of the 
vendor.

Known reports:
- https://bugzilla.kernel.org/show_bug.cgi?id=216194
- https://www.spinics.net/lists/alsa-devel/msg146434.html
- https://gist.github.com/lamperez/862763881c0e1c812392b5574727f6ff
- https://forums.linuxmint.com/viewtopic.php?t=392762
- https://h30434.www3.hp.com/t5/Notebook-Operating-System-and-Recovery/Envy-x360-2022-13-b0074TU-Audio-not-working-in-Linux-Fedora/td-p/8644641

Regards,
Luke




             reply	other threads:[~2023-05-18 22:26 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-18 22:26 Luke Jones [this message]
2023-05-18 22:26 ` CSC3551 and devices missing related _DSD bits Luke Jones
2023-05-20  8:14 ` Takashi Iwai
2023-05-21 21:35   ` Luke Jones
2023-05-24 16:36   ` Stuart Henderson
2023-05-24 18:08     ` Takashi Iwai
2023-05-24 21:30     ` Luke Jones
2023-05-28  0:02       ` Armas Spann
2023-06-01  9:42         ` Stuart Henderson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1991650.PYKUYFuaPT@fedora \
    --to=luke@ljones.dev \
    --cc=alsa-devel@alsa-project.org \
    --cc=andy.chi@canonical.com \
    --cc=armas@codux.tech \
    --cc=david.rhodes@cirrus.com \
    --cc=ealex95@gmail.com \
    --cc=james.schulman@cirrus.com \
    --cc=kasper93@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=p.jungkamp@gmx.net \
    --cc=patches@opensource.cirrus.com \
    --cc=perex@perex.cz \
    --cc=rf@opensource.cirrus.com \
    --cc=sbinding@opensource.cirrus.com \
    --cc=tangmeng@uniontech.com \
    --cc=tanureal@opensource.cirrus.com \
    --cc=tiwai@suse.com \
    --cc=yangyuchi66@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.