thesofproject / sof

Sound Open Firmware
Other
562 stars 319 forks source link

[BUG] Lenovo Yoga Slim 7 15 - SOF topology file not found #9663

Open cgbowman opened 3 days ago

cgbowman commented 3 days ago

Describe the bug The SOF topology file is not detected (topology doesn't exist) on a LNL Lenovo Yoga Slim 7 15 laptop.

To Reproduce Install Ubuntu 24.10 on the laptop, build & install 6.12.0-rc7+ kernel, then boot the laptop. Errors will be present in dmesg logs.

Reproduction Rate All the time

Expected behavior The topology file should exist and be detected.

Impact Showstopper At best, results in no audio (dummy output). At worst, sometimes results in a failed boot.

Environment 1) Branch name and commit hash of the 2 repositories: sof (firmware/topology) and linux (kernel driver).

Screenshots or console output

[    5.459112] sof-audio-pci-intel-lnl 0000:00:1f.3: hda codecs found, mask 4
[    5.459115] sof-audio-pci-intel-lnl 0000:00:1f.3: NHLT device BT(0) detected, ssp_mask 0x4
[    5.459116] sof-audio-pci-intel-lnl 0000:00:1f.3: BT link detected in NHLT tables: 0x4
[    5.459117] sof-audio-pci-intel-lnl 0000:00:1f.3: DMICs detected in NHLT tables: 4
[    5.460831] cs42l43 sdw:0:0:01fa:4243:01: supply vdd-p not found, using dummy regulator
[    5.460864] cs42l43 sdw:0:0:01fa:4243:01: supply vdd-d not found, using dummy regulator
[    5.460872] cs42l43 sdw:0:0:01fa:4243:01: supply vdd-a not found, using dummy regulator
[    5.460880] cs42l43 sdw:0:0:01fa:4243:01: supply vdd-io not found, using dummy regulator
[    5.460889] cs42l43 sdw:0:0:01fa:4243:01: supply vdd-cp not found, using dummy regulator
[    5.462775] sof-audio-pci-intel-lnl 0000:00:1f.3: SOF firmware and/or topology file not found.
[    5.462778] sof-audio-pci-intel-lnl 0000:00:1f.3: Supported default profiles
[    5.462779] sof-audio-pci-intel-lnl 0000:00:1f.3: - ipc type 1 (Requested):
[    5.462780] sof-audio-pci-intel-lnl 0000:00:1f.3:  Firmware file: intel/sof-ipc4/lnl/sof-lnl.ri
[    5.462781] sof-audio-pci-intel-lnl 0000:00:1f.3:  Topology file: intel/sof-ipc4-tplg/sof-lnl-cs42l43-l0-4ch.tplg
[    5.462782] sof-audio-pci-intel-lnl 0000:00:1f.3: Check if you have 'sof-firmware' package installed.
[    5.462782] sof-audio-pci-intel-lnl 0000:00:1f.3: Optionally it can be manually downloaded from:
[    5.462783] sof-audio-pci-intel-lnl 0000:00:1f.3:    https://github.com/thesofproject/sof-bin/

lenovo_yoga_dmesg.txt

bardliao commented 3 days ago

@charleskeepax @simontrimmer FYI

simontrimmer commented 3 days ago

Yes that's the one - there is a DMI match string change and the topology change we were talking about:

+++ b/tools/topology/topology2/production/tplg-targets-ace2.cmake @@ -27,6 +27,13 @@ NUM_SDW_AMP_LINKS=2,SDW_DMIC_STREAM=SDW0-Capture" SDW_AMP_FEEDBACK=false,SDW_SPK_STREAM=Playback-SmartAmp,SDW_DMIC_STREAM=Capture-SmartMic,\ SDW_JACK_OUT_STREAM=Playback-SimpleJack,SDW_JACK_IN_STREAM=Capture-SimpleJack"

+"cavs-sdw\;sof-lnl-cs42l43-l0-4ch\;PLATFORM=lnl,NUM_SDW_AMP_LINKS=1,NUM_DMICS=4,\ +PDM1_MIC_A_ENABLE=1,PDM1_MIC_B_ENABLE=1,DMIC0_ID=5,DMIC1_ID=6,\ +PREPROCESS_PLUGINS=nhlt,NHLT_BIN=nhlt-sof-lnl-cs42l43-l0-4ch.bin,\ +SDW_AMP_FEEDBACK=false,SDW_SPK_STREAM=Playback-SmartAmp,SDW_DMIC_STREAM=Capture-SmartMic,\ +SDW_JACK_OUT_STREAM=Playback-SimpleJack,SDW_JACK_IN_STREAM=Capture-SimpleJack,\ +HDMI1_ID=7,HDMI2_ID=8,HDMI3_ID=9" + "cavs-sdw\;sof-lnl-cs42l43-l0-cs35l56-l3\;PLATFORM=lnl,NUM_SDW_AMP_LINKS=1,SDW_DMIC=1,\ SDW_AMP_FEEDBACK=false,SDW_SPK_STREAM=Playback-SmartAmp,SDW_DMIC_STREAM=Capture-SmartMic,\ SDW_JACK_OUT_STREAM=Playback-SimpleJack,SDW_JACK_IN_STREAM=Capture-SimpleJack"

We were hanging on "a few more" Lenovo DMI strings

simontrimmer commented 3 days ago

Having a crack at a PR with that topology change in, not my usual jam...

https://github.com/thesofproject/sof/pull/9666