You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It is possible that the reply for SOF_IPC_TRACE_DMA_PARAMS_EXT to arrive at the marker <<<HERE>> so, snd_sof_trace_update_pos will miss the DMA trace position update because dtrace_is_enabled is set too late.
This happens all the time on i.MX with the result that we cannot see the DMA trace boot logs until later when some other log messages are generated.
On Intel platforms the copy to host buffer can only work after the snd_sof_dma_trace_trigger(sdev, SNDRV_PCM_TRIGGER_START) call as before that the DMA is not working.
Now the dtrace in firmware uses sync dma copy, so this should be fine.
But on architectures where the DMA is not split like it is with HDA, this could cause ignored updates.
@dbaluta, in sof-dev we now have three states for the dtrace:
I think we could try to change the logic that we switch from DISABLED to STOPPED before sending the PARAMS_EXT and we only ignore the position update notification if the state is DISABLED.
This way we would record the new position and in theory you should be able to get the log right away.
Activity
marc-hb commentedon Feb 20, 2022
I haven't look at this in detail yet but the description already rings a few bells:
This is just from the top of my head, sorry about the unrelated ones.
ujfalusi commentedon Feb 21, 2022
On Intel platforms the copy to host buffer can only work after the
snd_sof_dma_trace_trigger(sdev, SNDRV_PCM_TRIGGER_START)call as before that the DMA is not working.Now the dtrace in firmware uses sync dma copy, so this should be fine.
But on architectures where the DMA is not split like it is with HDA, this could cause ignored updates.
@dbaluta, in sof-dev we now have three states for the dtrace:
I think we could try to change the logic that we switch from DISABLED to STOPPED before sending the PARAMS_EXT and we only ignore the position update notification if the state is DISABLED.
This way we would record the new position and in theory you should be able to get the log right away.
check-sof-logger.sh: do not wait for D3 suspend
check-sof-logger.sh: do not wait for D3 suspend
check-sof-logger.sh: do not wait for D3 suspend