Comment 523 for bug 1958019

Revision history for this message
In , cam (cam-linux-kernel-bugs) wrote :

Created attachment 299749
attachment-3712-0.html

Without the patches, I'm missing:
/sys/devices/pci0000:00/0000:00:15.2/i2c_designware.2/i2c-3/i2c-CLSA0101:00

With the patches, I'm missing:
/sys/kernel/btf/snd_hda_codec_cs35l41_i2c
/sys/kernel/btf/snd_soc_cs35l41_i2c
/sys/kernel/btf/snd_soc_cs35l41_spi
/sys/module/snd_pcm/holders/snd_soc_cs35l41_i2c
/sys/module/snd_pcm/holders/snd_soc_cs35l41_spi

snd_pcm is compiled directly in though, and the btf stuff appears
related to debugging options I don't have enabled. Seems that for where
it matters, our related kernel options are identical.

I don't have any NULL pointer dereferences.

Also, it seems there's been a new BIOS release since early September. I
doubt it, but I wonder if would make any difference. I'm hesitant to try
it in case if makes a permanent upgrade related to the amp chips that
would completely break my sound. Here's the BIOS info I have (from lshw):
version: H1CN33WW
          date: 07/18/2021

On 11/27/21 07:42, <email address hidden> wrote:
> https://bugzilla.kernel.org/show_bug.cgi?id=208555
>
> --- Comment #509 from Weikai Kong (<email address hidden>) ---
> (In reply to Cameron Berkenpas from comment #508)
>> I did try replacing all instances of CLSA0100 with CLSA0101 in the
>> patch, but that doesn't seem to work.
>>
>> In my limited testing, find_comp_by_dev_name() in patch_realtek.c isn't
>> able to find any amp chips, which suggests to me that they're not being
>> detected before we even get to the realtek code. It seems all the values
>> in "spec->comps[i].name" are empty strings (and certainly don't match
>> anything like "i2c-CLSA010*:00-cs35l41-hda.*"
>>
>> I'm not really sure how Linux detects devices via ACPI (or in general).
>> I do know there's some differences in regards to i2c on Intel Vs. AMD
>> (something like one has 2 i2c controllers where as the other has just
>> 1), but I strongly suspect the kernel abstracts much of that away.
>>
> I have a NULL pointer dereference at
> alc287_legion_16achg6_playback_hook+0xec/0x1c0 after adding CLSA0101 to where
> CLSA0100 is, I don't know if you are having the same issue.
> As far as I can tell that up until component_match_add() everything seems
> fine.
>
> Node names with CLSA* or cs35l41
> Before patches:
> /sys/bus/acpi/devices/CLSA0101:00
> /sys/bus/i2c/devices/i2c-CLSA0101:00
> /sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:84/CLSA0101:00
> /sys/devices/pci0000:00/0000:00:15.2/i2c_designware.2/i2c-3/i2c-CLSA0101:00
>
> After patches:
> /sys/bus/acpi/devices/CLSA0101:00
> /sys/bus/i2c/drivers/cs35l41
> /sys/bus/i2c/drivers/cs35l41-hda
> /sys/bus/platform/devices/CLSA0101:00
> /sys/bus/spi/drivers/cs35l41
> /sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:84/CLSA0101:00
> /sys/devices/pci0000:00/0000:00:15.2/CLSA0101:00
> /sys/kernel/btf/snd_hda_codec_cs35l41_i2c
> /sys/kernel/btf/snd_soc_cs35l41_i2c
> /sys/kernel/btf/snd_soc_cs35l41_spi
> /sys/module/snd_hda_codec_cs35l41_i2c
> /sys/module/snd_hda_codec_cs35l41_i2c/drivers/i2c:cs35l41-hda
> /sys/module/snd_pcm/holders/snd_soc_cs35l41_i2c
> /sys/module/snd_pcm/holders/snd_soc_cs35l41_spi
> /sys/module/snd_soc_core/holders/snd_soc_cs35l41_i2c
> /sys/module/snd_soc_core/holders/snd_soc_cs35l41_spi
> /sys/module/snd_soc_cs35l41_i2c
> /sys/module/snd_soc_cs35l41_i2c/drivers/i2c:cs35l41
> /sys/module/snd_soc_cs35l41_spi
> /sys/module/snd_soc_cs35l41_spi/drivers/spi:cs35l41
> /sys/module/snd_soc_wm_adsp/holders/snd_soc_cs35l41_i2c
> /sys/module/snd_soc_wm_adsp/holders/snd_soc_cs35l41_spi
>