platform-driver-x86.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [Bug 215993] New: Serial Bus Multi Instantiate driver fails to allocate SPI device CSC3551:00
@ 2022-05-17 21:46 bugzilla-daemon
  2022-07-05 17:19 ` [Bug 215993] " bugzilla-daemon
                   ` (22 more replies)
  0 siblings, 23 replies; 24+ messages in thread
From: bugzilla-daemon @ 2022-05-17 21:46 UTC (permalink / raw)
  To: platform-driver-x86

https://bugzilla.kernel.org/show_bug.cgi?id=215993

            Bug ID: 215993
           Summary: Serial Bus Multi Instantiate driver fails to allocate
                    SPI device CSC3551:00
           Product: Drivers
           Version: 2.5
    Kernel Version: 5.18-rc7
          Hardware: All
                OS: Linux
              Tree: Mainline
            Status: NEW
          Severity: normal
          Priority: P1
         Component: Platform_x86
          Assignee: drivers_platform_x86@kernel-bugs.osdl.org
          Reporter: matt.perlick@gmail.com
        Regression: No

Created attachment 300984
  --> https://bugzilla.kernel.org/attachment.cgi?id=300984&action=edit
Boot Dmesg

Distribution: Manjaro
CPU: Intel 12th gen i5-1240P
Kernel version: 5.18-rc7
Problem Description:

TLDR: I think ACPI device HID=CSC3551 should be supported with a new driver but
dmesg shows:
Serial bus multi instantiate pseudo device driver CSC3551:00: error -ENODEV:
failed to allocate SPI device CSC3551:00 from ACPI: -19
Is this a bug in the module?


I've been working on getting internal speakers functional on Asus Zenbook
UX3402ZA. After ruling out ALSA issues and ALC294 codec configuration, I found
out this machine has two amp devices (Cirrus Logic CS35l41?) connected over
SPI. These devices are declared under a single ACPI node with HID=CSC3551.

I found a patch series for supporting this particular ACPI node in the LKML (
https://lore.kernel.org/lkml/20220121143254.6432-7-sbinding@opensource.cirrus.com/T/
). It requires a special driver because declaring multiple SPI devices in one
ACPI node was not previously supported. Looking at the Linux source, I believe
this patch has been included in all the 5.18 release candidates. I've compiled
rc7 and made sure to set the .config file to include the new module
CONFIG_SERIAL_MULTI_INSTANTIATE=y. 

With this newly compiled kernel, I see this error in dmesg:
Serial bus multi instantiate pseudo device driver CSC3551:00: error -ENODEV:
failed to allocate SPI device CSC3551:00 from ACPI: -19

Could this be a bug in the module? I'm not sure how to proceed from here. Any
advice is appreciated.

dmesg: 
Included as attachment

ACPI dsdt.dsl Node:
    Scope (_SB.PC00.SPI0)
    {
        Device (SPK1)
        {
            Name (_HID, "CSC3551")  // _HID: Hardware ID
            Name (_SUB, "10431E02")  // _SUB: Subsystem ID
            Name (_UID, One)  // _UID: Unique ID
            Method (_CRS, 0, NotSerialized)  // _CRS: Current Resource Settings
            {
                Name (SBUF, ResourceTemplate ()
                {
                    SpiSerialBusV2 (0x0000, PolarityLow, FourWireMode, 0x08,
                        ControllerInitiated, 0x003D0900, ClockPolarityLow,
                        ClockPhaseFirst, "\\_SB.PC00.SPI0",
                        0x00, ResourceConsumer, , Exclusive,
                        )
                    SpiSerialBusV2 (0x0001, PolarityLow, FourWireMode, 0x08,
                        ControllerInitiated, 0x003D0900, ClockPolarityLow,
                        ClockPhaseFirst, "\\_SB.PC00.SPI0",
                        0x00, ResourceConsumer, , Exclusive,
                        )
                    GpioIo (Exclusive, PullUp, 0x0000, 0x0000,
IoRestrictionOutputOnly,
                        "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0156
                        }
                    GpioIo (Exclusive, PullDown, 0x0000, 0x0000,
IoRestrictionOutputOnly,
                        "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0065
                        }
                    GpioIo (Exclusive, PullDown, 0x0000, 0x0000,
IoRestrictionInputOnly,
                        "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0165
                        }
                    GpioIo (Shared, PullUp, 0x0064, 0x0000,
IoRestrictionInputOnly,
                        "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0064
                        }
                    GpioInt (Edge, ActiveBoth, Shared, PullUp, 0x0064,
                        "\\_SB.GPI0", 0x00, ResourceConsumer, ,
                        )
                        {   // Pin list
                            0x0064
                        }
                })
                Return (SBUF) /* \_SB_.PC00.SPI0.SPK1._CRS.SBUF */
            }

            Method (_STA, 0, NotSerialized)  // _STA: Status
            {
                If ((AMPP == One))
                {
                    Return (0x0F)
                }

                Return (Zero)
            }

            Method (_DIS, 0, NotSerialized)  // _DIS: Disable Device
            {
            }
        }
    }

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.

^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2022-07-11 19:55 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-17 21:46 [Bug 215993] New: Serial Bus Multi Instantiate driver fails to allocate SPI device CSC3551:00 bugzilla-daemon
2022-07-05 17:19 ` [Bug 215993] " bugzilla-daemon
2022-07-05 17:37 ` bugzilla-daemon
2022-07-05 18:12 ` bugzilla-daemon
2022-07-07  5:39 ` bugzilla-daemon
2022-07-08  7:40 ` bugzilla-daemon
2022-07-08 10:59 ` bugzilla-daemon
2022-07-08 17:10 ` bugzilla-daemon
2022-07-08 17:58 ` bugzilla-daemon
2022-07-08 20:05 ` bugzilla-daemon
2022-07-08 20:52 ` bugzilla-daemon
2022-07-08 20:53 ` bugzilla-daemon
2022-07-08 21:58 ` bugzilla-daemon
2022-07-08 23:19 ` bugzilla-daemon
2022-07-09 16:44 ` bugzilla-daemon
2022-07-09 16:45 ` bugzilla-daemon
2022-07-09 18:01 ` bugzilla-daemon
2022-07-11 13:51 ` bugzilla-daemon
2022-07-11 13:55 ` bugzilla-daemon
2022-07-11 14:10 ` bugzilla-daemon
2022-07-11 15:25 ` bugzilla-daemon
2022-07-11 15:41 ` bugzilla-daemon
2022-07-11 18:29 ` bugzilla-daemon
2022-07-11 19:55 ` bugzilla-daemon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).