View Issue Details
| ID | Project | Category | View Status | Date Submitted | Last Update |
|---|---|---|---|---|---|
| 0001609 | channel: elrepo/el10 | --elrepo--request-for-enhancement-- | public | 2026-09-23 01:20 | 2026-10-08 12:58 |
| Reporter | huntscott | Assigned To | toracat | ||
| Priority | normal | Severity | feature | Reproducibility | always |
| Status | resolved | Resolution | fixed | ||
| Summary | 0001609: Audio failing in kernel-ml 7.2.6 on Panther Lake, perhaps because CONFIG_SND_SOC_SDCA_CLASS isn't set | ||||
| Description | I'm using an Intel Panther Lake Lenovo ThinkPad X1 Carbon Gen 14 with Rocky Linux 10.2. (Panther Lake / Core Ultra 7 365) Audio works correctly with the Rocky 6.12 kernel, but does not work with ELRepo's kernel-ml 7.2.6-1.el10.elrepo. The audio controller is: ``` 00:1f.3 Audio device [0403]: Intel Corporation Device [8086:e428] (rev 01) Subsystem: Lenovo Device [17aa:2352] ``` With 7.2.6, the controller is bound to sof-audio-pci-intel-ptl, but no ALSA sound card is created: ``` $ cat /proc/asound/cards --- no soundcards --- ``` The relevant difference I have found is the SDCA configuration. On the working Rocky 6.12 kernel: ``` CONFIG_SND_SOC_SDCA_CLASS=m CONFIG_SND_SOC_SDCA_CLASS_FUNCTION=m ``` While on ELRepo 7.2.6: ``` # CONFIG_SND_SOC_SDCA_CLASS is not set ``` There are also no snd-soc-sdca-class.ko or snd-soc-sdca-class-function.ko modules in the 7.2.6 module tree. The Panther Lake audio device includes a SoundWire device with: ``` link 3 mfg_id 0x01fa part_id 0x4245 version 0x3 ``` The 6.12 kernel recognizes this device through the SDCA class infrastructure. Its dmesg includes: ``` sdca_class sdw:0:3:01fa:4245:01: SWFT not available input: HID sdw:0:3:01fa:4245:01 Consumer Control input: HID sdw:0:3:01fa:4245:01 hid-generic ... SOUNDWIRE HID v1.00 Device [HID sdw:0:3:01fa:4245:01] on auxiliary ``` and subsequently SOF loads the SDCA function topologies: ``` Using function topologies instead intel/sof-ipc4-tplg/sof-ptl-dummy.tplg loading topology 0: intel/sof-ipc4-tplg/sof-sdca-1amp-id2.tplg loading topology 1: intel/sof-ipc4-tplg/sof-sdca-jack-id0.tplg loading topology 2: intel/sof-ipc4-tplg/sof-sdca-mic-id4.tplg loading topology 3: intel/sof-ipc4-tplg/sof-hdmi-pcm5-id5.tplg input: sof-soundwire Jack ... ``` In contrast, 7.2.6 reports: ``` No SoundWire machine driver found for the ACPI-reported configuration: link 3 mfg_id 0x01fa part_id 0x4245 version 0x3 Use SoundWire default machine driver with function topologies ``` and eventually: ``` soundwire_intel soundwire_intel.link.3: prepare clock stop failed -110 soundwire_intel soundwire_intel.link.3: intel_stop_bus: cannot stop clock: -110 ``` No ALSA sound card is subsequently registered. The rest of the relevant SoundWire/SOF configuration appears to be present in 7.2.6, and the CS35L63 codec on link 2 also initializes successfully. Firmware is installed and loads successfully. I would like to know whether there is a deliberate reason that CONFIG_SND_SOC_SDCA_CLASS and CONFIG_SND_SOC_SDCA_CLASS_FUNCTION are disabled in the ELRepo kernel-ml configuration. If there is no specific compatibility reason, would ELRepo consider enabling these options in a future kernel-ml build? For comparison, the same hardware and userspace configuration produces a working audio device with the Rocky 6.12 kernel. | ||||
| Tags | No tags attached. | ||||
|
|
Thank you for making this request. We will update our kernel-ml config with: CONFIG_SND_SOC_SDCA_CLASS=m CONFIG_SND_SOC_SDCA_CLASS_FUNCTION=m in the next release. |
|
|
The requested changes have been made to the kernel config file in kernel-ml-7.2.8 released today. |
| Date Modified | Username | Field | Change |
|---|---|---|---|
| 2026-09-23 01:20 | huntscott | New Issue | |
| 2026-09-23 01:20 | huntscott | Status | new => assigned |
| 2026-09-23 01:20 | huntscott | Assigned To | => toracat |
| 2026-09-23 03:08 | toracat | Note Added: 0010972 | |
| 2026-09-25 20:43 | toracat | Note Added: 0010976 | |
| 2026-10-08 12:58 | toracat | Status | assigned => resolved |
| 2026-10-08 12:58 | toracat | Resolution | open => fixed |