[FEATURE] Make IPC return value error into debug
The kernel prints the following errors for a failed IPC commands
[ 123.853034] sof-audio-pci 0000:00:1f.3: ipc tx: 0x60010000: GLB_STREAM_MSG: PCM_PARAMS
[ 123.853531] sof-audio-pci 0000:00:1f.3: error: ipc error for 0x60010000 size 20
[ 123.853540] sof-audio-pci 0000:00:1f.3: error: hw params ipc failed for stream 3
This lead to poor SNR for developers and bug reports, we should make
[ 123.853034] sof-audio-pci 0000:00:1f.3: ipc tx: 0x60010000: GLB_STREAM_MSG: PCM_PARAMS
[ 123.853531] sof-audio-pci 0000:00:1f.3: error: ipc error for 0x60010000 size 20
to be at the same kernel debug level (i.e. they will be enabled together as part of debug) and keep higher level IPC command errosr like
[ 123.853540] sof-audio-pci 0000:00:1f.3: error: hw params ipc failed for stream 3
as dev_err() level messages. This way its far more obvious for users and developers.
@ujfalusi isn't this implemented already?
We still have the error: ipc error for 0x60010000 size 20 in dev_err(), but it is now looks like this:
dev_err(sdev->dev,
"ipc tx error for %#x (msg/reply size: %d/%zu): %d\n",
hdr->cmd, hdr->size, msg->reply_size, ret);
We are keeping the `snd_sof_handle_fw_exception() under check, which happens on timeouts.
This error is printed when the firmware responded with an error code and I think it should not be hidden as it is not going to spam the dmesg.
@ujfalusi I'll let you negotiate with @lgirdwood here. please close if relevant.