When DSP panic or IPC failed. If we use sof-logger or rmbox we will see
sof-audio sof-audio: error: debugFS failed to resume -13
In dmesg.
Or if we want to access any debugfs exculde trace, the dmesg shows same thing and terminal refuse to open the file
sudo cat /sys/kernel/debug/sof/etrace
cat: /sys/kernel/debug/sof/etrace: Permission denied
Analysis:
trace and etrace used different read ops
For trace we used sof_dfsentry_read
staticconststructfile_operationssof_dfs_fops= {
.open=sof_dfsentry_open,
.read=sof_dfsentry_read,
.llseek=default_llseek,
};And the above dmesg is coming from
| dev_err(sdev->dev, "error: debugFS failed to resume %d\n", |
So the guess is here, when DSP panic or IPC failed, how would our pm_runtime_get_syncpm_runtime_put behavior?
We may need some fallback handler for this case.
The debugfs is very valuable and critical for our debug when error happens. But now it could not work.
When DSP panic or IPC failed. If we use sof-logger or rmbox we will see
Or if we want to access any debugfs exculde
trace, the dmesg shows same thing and terminal refuse to open the fileAnalysis:
traceandetraceused different read opsFor trace we used
sof_dfsentry_readAnd the above dmesg is coming from
linux/sound/soc/sof/debug.c
Line 64 in 2af9599
So the guess is here, when DSP panic or IPC failed, how would our
pm_runtime_get_syncpm_runtime_putbehavior?We may need some fallback handler for this case.
The debugfs is very valuable and critical for our debug when error happens. But now it could not work.