On 06.06.2019 11:55, Liam Girdwood wrote:
On Thu, 2019-06-06 at 09:39 +0300, Dragos Tarcatu wrote:
Hi Kai,
Thanks for the hint!
On 05.06.2019 14:29, Kai Vehmanen wrote:
[ 3.070623] sof-audio-acpi 80860F28:00: booting DSP
firmware [ 3.172697] sof-audio-acpi 80860F28:00: error: firmware boot failure [ 3.176674] sof-audio-acpi 80860F28:00: error: unexpected fault 0x70028800 trace 0x00000000
First a simple test to do is to increase the boot timeout in driver loader.c:
» ret = wait_event_timeout(sdev->boot_wait, sdev-
boot_complete,
» » » » msecs_to_jiffies(sdev-
boot_timeout));
I did hit occasionally that the DSP-side QEMU was too slow to respond and simply bumping this timeout help.
Indeed, after increasing the values for the default ipc and boot timeouts (TIMEOUT_DEFAULT_IPC_MS, TIMEOUT_DEFAULT_BOOT_MS, IPC_TIMEOUT_MS) I got it it to boot. I'm still getting errors when loading the topology, though:
Are the topology loading errors always at the same place or does it vary on each attempt ?
I've ran it several times now, and I haven't got PCM0P to load:
[ 7.608994] sof-audio-acpi 80860F28:00: loading topology:intel/sof-tplg/sof-byt-nocodec.tplg [ 7.634153] sof-audio-acpi 80860F28:00: Topology: ABI 3:7:0 Kernel ABI 3:7:0 [ 7.634156] sof-audio-acpi 80860F28:00: ASoC: adding 11 DAPM widgets [ 7.634157] sof-audio-acpi 80860F28:00: ASoC: creating DAPM widget codec_out0 id 1 [ 7.634162] sof-audio-acpi 80860F28:00: tplg: ready widget id 0 pipe 1 type 1 name : codec_out0 stream none [ 7.634170] sof-audio-acpi 80860F28:00: warning: widget type 1 name codec_out0 not handled [ 7.634172] sof-audio-acpi 80860F28:00: ASoC: creating DAPM widget PCM0P id 11 [ 7.634175] sof-audio-acpi 80860F28:00: tplg: ready widget id 1 pipe 1 type 23 name : PCM0P stream Low Latency Playback 0 [ 7.634177] sof-audio-acpi 80860F28:00: loaded host PCM0P [ 7.634178] sof-audio-acpi 80860F28:00: config: periods snk 2 src 0 fmt 0 [ 7.635249] sof-audio-acpi 80860F28:00: ipc tx: 0x30010000: GLB_TPLG_MSG: COMP_NEW [ 10.661694] sof-audio-acpi 80860F28:00: error: ipc timed out for 0x30010000 size 76 [ 10.665895] sof-audio-acpi 80860F28:00: error: unexpected fault 0x70028800 trace 0x00000000 [ 10.666200] sof-audio-acpi 80860F28:00: error: DSP failed to add widget id 0 type 23 name : PCM0P stream Low Latency Playback 0 reply 0 [ 10.666534] sof-audio-acpi 80860F28:00: ASoC: failed to load widget PCM0P [ 10.666783] sof-audio-acpi 80860F28:00: error: tplg component load failed -110 [ 10.667079] sof-audio-acpi 80860F28:00: error: failed to load DSP topology -22 [ 10.667321] sof-audio-acpi 80860F28:00: ASoC: failed to probe component -22 [ 10.667562] sof-nocodec sof-nocodec: ASoC: failed to instantiate card -22
Btw, what kernel version are you using. Recent version of sof-dev branch will print out additional debug for IPC timeouts.
I'm on top of sof-dev, but in my previous log I had the verbose IPC logging option off. I'm currently running with the timeout values set to:
core.c: #define TIMEOUT_DEFAULT_IPC_MS 3000 #define TIMEOUT_DEFAULT_BOOT_MS 10000
ipc.c: #define IPC_TIMEOUT_MS 3000
Those seem like pretty high values for me, compared to the initial ones, but I'll try to increase those even more - maybe that fixes it.
Dragoș