From: ArcticLampyrid <ArcticLampyrid@outlook.com>
To: sbinding@opensource.cirrus.com
Cc: ArcticLampyrid@outlook.com, david.rhodes@cirrus.com,
james.schulman@cirrus.com, linux-kernel@vger.kernel.org,
linux-sound@vger.kernel.org, patches@opensource.cirrus.com,
rf@opensource.cirrus.com, stable@vger.kernel.org
Subject: Re: RE: Re: [PATCH] ALSA: hda/realtek: Fix internal speakers for Legion Y9000X 2022 IAH7
Date: Thu, 18 Apr 2024 12:03:17 +0800 [thread overview]
Message-ID: <TYCP286MB253572FE78870D62C35E6CACC40E2@TYCP286MB2535.JPNP286.PROD.OUTLOOK.COM> (raw)
In-Reply-To: <003501da90da$7495b710$5dc12530$@opensource.cirrus.com>
> To clarify, was the log you attached here using:
> { "17AA386E", 2, EXTERNAL, { CS35L41_LEFT, CS35L41_RIGHT, 0, 0}, 0, 2, -1, 0, 0, 0 },
> Or was it using your original value (index 1)?
Both get the same log.
> For further investigation, can you create a bugzilla ticket at the
> below address and CC Cirrus Patches (patches@opensource.cirrus.com) to
> it.
OK. https://bugzilla.kernel.org/show_bug.cgi?id=218744
> Can you also mention which distro you are using, as well which Kernel you are using.
I'm using Arch Linux, the kernel is v6.8.5-arch1.
> Both amps use the same GPIO for the interrupt line, thus the interrupt is shared, and there is only a single interrupt line.
BTW, it's connected to APIC.
> Also, can you please attach a dmesg of the error
Without any patches, I got
```log
Serial bus multi instantiate pseudo device driver CSC3551:00: Instantiated 2 I2C devices.
cs35l41-hda i2c-CSC3551:00-cs35l41-hda.0: Failed property cirrus,dev-index: -22
cs35l41-hda i2c-CSC3551:00-cs35l41-hda.0: error -EINVAL: Platform not supported
cs35l41-hda: probe of i2c-CSC3551:00-cs35l41-hda.0 failed with error -22
cs35l41-hda i2c-CSC3551:00-cs35l41-hda.1: Failed property cirrus,dev-index: -22
cs35l41-hda i2c-CSC3551:00-cs35l41-hda.1: error -EINVAL: Platform not supported
cs35l41-hda: probe of i2c-CSC3551:00-cs35l41-hda.1 failed with error -22
```
With `generic_dsd_config` I got
```log
kernel: genirq: Flags mismatch irq 58. 00002088 (cs35l41 IRQ1 Controller) vs. 00002088 (cs35l41 IRQ1 Controller)
```
as memtioned in the previous email.
With my initial patch:
```log
cs35l41-hda i2c-CSC3551:00-cs35l41-hda.0: Adding DSD properties for 17AA386E
cs35l41-hda i2c-CSC3551:00-cs35l41-hda.0: Using extra _DSD properties, bypassing _DSD in ACPI
cs35l41-hda i2c-CSC3551:00-cs35l41-hda.0: Cirrus Logic CS35L41 (35a40), Revision: B2
cs35l41-hda i2c-CSC3551:00-cs35l41-hda.1: Adding DSD properties for 17AA386E
cs35l41-hda i2c-CSC3551:00-cs35l41-hda.1: Using extra _DSD properties, bypassing _DSD in ACPI
cs35l41-hda i2c-CSC3551:00-cs35l41-hda.1: Reset line busy, assuming shared reset
cs35l41-hda i2c-CSC3551:00-cs35l41-hda.1: Cirrus Logic CS35L41 (35a40), Revision: B2
Serial bus multi instantiate pseudo device driver CSC3551:00: Instantiated 2 I2C devices.
cs35l41-hda i2c-CSC3551:00-cs35l41-hda.0: Falling back to default firmware.
cs35l41-hda i2c-CSC3551:00-cs35l41-hda.0: DSP1: Firmware version: 3
cs35l41-hda i2c-CSC3551:00-cs35l41-hda.0: DSP1: cirrus/cs35l41-dsp1-spk-prot.wmfw: Fri 24 Jun 2022 14:55:56 GMT Daylight Time
cs35l41-hda i2c-CSC3551:00-cs35l41-hda.0: DSP1: Firmware: 400a4 vendor: 0x2 v0.58.0, 2 algorithms
cs35l41-hda i2c-CSC3551:00-cs35l41-hda.0: DSP1: cirrus/cs35l41-dsp1-spk-prot.bin: v0.58.0
cs35l41-hda i2c-CSC3551:00-cs35l41-hda.0: DSP1: spk-prot: e:\workspace\workspace\tibranch_release_playback_6.76_2\ormis\staging\default_tunings\internal\CS35L53\Fixed_Attenuation_Mono_48000_29.78.0\full\Fixed_Attenuation_Mono_48000_29.78.0_full.bin
cs35l41-hda i2c-CSC3551:00-cs35l41-hda.0: CS35L41 Bound - SSID: 17AA386E, BST: 1, VSPK: 1, CH: L, FW EN: 1, SPKID: 1
snd_hda_codec_realtek ehdaudio0D0: bound i2c-CSC3551:00-cs35l41-hda.0 (ops cs35l41_hda_comp_ops [snd_hda_scodec_cs35l41])
cs35l41-hda i2c-CSC3551:00-cs35l41-hda.1: Falling back to default firmware.
cs35l41-hda i2c-CSC3551:00-cs35l41-hda.1: DSP1: Firmware version: 3
cs35l41-hda i2c-CSC3551:00-cs35l41-hda.1: DSP1: cirrus/cs35l41-dsp1-spk-prot.wmfw: Fri 24 Jun 2022 14:55:56 GMT Daylight Time
cs35l41-hda i2c-CSC3551:00-cs35l41-hda.1: DSP1: Firmware: 400a4 vendor: 0x2 v0.58.0, 2 algorithms
cs35l41-hda i2c-CSC3551:00-cs35l41-hda.1: DSP1: cirrus/cs35l41-dsp1-spk-prot.bin: v0.58.0
cs35l41-hda i2c-CSC3551:00-cs35l41-hda.1: DSP1: spk-prot: e:\workspace\workspace\tibranch_release_playback_6.76_2\ormis\staging\default_tunings\internal\CS35L53\Fixed_Attenuation_Mono_48000_29.78.0\full\Fixed_Attenuation_Mono_48000_29.78.0_full.bin
cs35l41-hda i2c-CSC3551:00-cs35l41-hda.1: CS35L41 Bound - SSID: 17AA386E, BST: 1, VSPK: 1, CH: R, FW EN: 1, SPKID: 1
snd_hda_codec_realtek ehdaudio0D0: bound i2c-CSC3551:00-cs35l41-hda.1 (ops cs35l41_hda_comp_ops [snd_hda_scodec_cs35l41])
```
> as well as the acpidump of your laptop.
The full acpi dump is shared via
https://bugzilla.kernel.org/show_bug.cgi?id=218744
The related item I think in DSDT table may be:
```
Device (SPKR)
{
Name (_HID, "CSC3551") // _HID: Hardware ID
Name (_SUB, "17AA386E") // _SUB: Subsystem ID
Name (_UID, One) // _UID: Unique ID
Name (SRS0, 0x09060000)
Name (SIN0, 0x0908000E)
Name (SID0, 0x09060001)
Method (_CRS, 0, NotSerialized) // _CRS: Current Resource Settings
{
Name (RBUF, ResourceTemplate ()
{
I2cSerialBusV2 (0x0040, ControllerInitiated, 0x000F4240,
AddressingMode7Bit, "\\_SB.PC00.I2C3",
0x00, ResourceConsumer, , Exclusive,
)
I2cSerialBusV2 (0x0041, ControllerInitiated, 0x000F4240,
AddressingMode7Bit, "\\_SB.PC00.I2C3",
0x00, ResourceConsumer, , Exclusive,
)
GpioIo (Exclusive, PullNone, 0x0000, 0x0000, IoRestrictionOutputOnly,
"\\_SB.GPI0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0000
}
GpioIo (Shared, PullNone, 0x0064, 0x0000, IoRestrictionInputOnly,
"\\_SB.GPI0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0000
}
GpioIo (Exclusive, PullNone, 0x0000, 0x0000, IoRestrictionInputOnly,
"\\_SB.GPI0", 0x00, ResourceConsumer, ,
)
{ // Pin list
0x0000
}
Interrupt (ResourceConsumer, Edge, ActiveHigh, SharedAndWake, ,, _Y58)
{
0x00000000,
}
})
CreateWordField (RBUF, 0x59, RST0)
CreateWordField (RBUF, 0x7C, INT0)
CreateWordField (RBUF, 0x9F, PID0)
CreateDWordField (RBUF, \_SB.PC00.I2C3.SPKR._CRS._Y58._INT, INT1) // _INT: Interrupts
RST0 = GNUM (SRS0)
INT0 = GNUM (SIN0)
PID0 = GNUM (SID0)
INT1 = INUM (SIN0)
Return (RBUF) /* \_SB_.PC00.I2C3.SPKR._CRS.RBUF */
}
Method (_INI, 0, NotSerialized) // _INI: Initialize
{
SGRA (0x0908000E, One)
SGII (0x0908000E, Zero)
GRXE (0x0908000E, 0x03)
}
Method (_STA, 0, NotSerialized) // _STA: Status
{
Return (0x0F)
}
Method (_DIS, 0, NotSerialized) // _DIS: Disable Device
{
}
Method (_PS0, 0, Serialized) // _PS0: Power State 0
{
^^^LPCB.H_EC.ECWT (Zero, RefOf (^^^LPCB.H_EC.AM12))
}
Method (_PS2, 0, Serialized) // _PS2: Power State 2
{
^^^LPCB.H_EC.ECWT (One, RefOf (^^^LPCB.H_EC.AM12))
}
Method (_PS3, 0, Serialized) // _PS3: Power State 3
{
}
}
```
next prev parent reply other threads:[~2024-04-18 4:03 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-13 13:07 ArcticLampyrid
2024-04-15 9:55 ` Stefan Binding
2024-04-15 16:49 ` ArcticLampyrid
2024-04-17 15:18 ` Stefan Binding
2024-04-18 4:03 ` ArcticLampyrid [this message]
2024-04-18 6:51 ` ArcticLampyrid
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=TYCP286MB253572FE78870D62C35E6CACC40E2@TYCP286MB2535.JPNP286.PROD.OUTLOOK.COM \
--to=arcticlampyrid@outlook.com \
--cc=david.rhodes@cirrus.com \
--cc=james.schulman@cirrus.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-sound@vger.kernel.org \
--cc=patches@opensource.cirrus.com \
--cc=rf@opensource.cirrus.com \
--cc=sbinding@opensource.cirrus.com \
--cc=stable@vger.kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®