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
{{ message }}
Repository navigation
[BUG] [CHT] Underflow/errors reported in multiple-playback CI tests. #3534
@plbossart will this be related with the IPC position update delay? We do see such write I/O error on legacy platforms(BYT/CHT/BDW) using IPC position update.
If enable IPC position update for HDA platforms, we will also see such kind of I/O error.
@lgirdwood can you double-check the linux driver and let me know if we are doing things the right way? This position report has been a problem for the longest time but only you and @keyonjie understand it.
@plbossart pointer callback is not defined for BYT/CHT so it's using mailbox and NOT IPC method.
staticsnd_pcm_uframes_tsof_pcm_pointer(structsnd_soc_component*component,
structsnd_pcm_substream*substream)
{
structsnd_soc_pcm_runtime*rtd=asoc_substream_to_rtd(substream);
structsnd_sof_dev*sdev=snd_soc_component_get_drvdata(component);
structsnd_sof_pcm*spcm;
snd_pcm_uframes_thost, dai;
/* nothing to do for BE */if (rtd->dai_link->no_pcm)
return0;
/* use dsp ops pointer callback directly if set */if (sof_ops(sdev)->pcm_pointer)
returnsof_ops(sdev)->pcm_pointer(sdev, substream);
spcm=snd_sof_find_spcm_dai(component, rtd);
if (!spcm)
return-EINVAL;
/* read position from DSP */host=bytes_to_frames(substream->runtime,
spcm->stream[substream->stream].posn.host_posn);
dai=bytes_to_frames(substream->runtime,
spcm->stream[substream->stream].posn.dai_posn);
dev_vdbg(component->dev,
"PCM: stream %d dir %d DMA position %lu DAI position %lu\n",
spcm->pcm.pcm_id, substream->stream, host, dai);
returnhost;
}
@plbossart pointer callback is not defined for BYT/CHT so it's using mailbox and NOT IPC method.
ok, so now I have no idea why we only look at the position during an IPC and why we enabled the BATCH option to disable timer-based scheduling in PulseAudio.
@plbossart pointer callback is not defined for BYT/CHT so it's using mailbox and NOT IPC method.
ok, so now I have no idea why we only look at the position during an IPC and why we enabled the BATCH option to disable timer-based scheduling in PulseAudio.
Might be worthwhile enabling the trace here in the kernel (as FW could be sending garbage at time or sending for wrong stream).
Move CHT platform to maintenance mode and SOF v2.2 will be the last upstream release with support for this platform. There will be no more FW bug fixing effort on this platform.
Activity
plbossart commentedon Oct 19, 2020
Re-running the tests shows no issue reported (https://sof-ci.01.org/linuxpr/PR2500/build4703/devicetest/), so this is a transient error condition.
xiulipan commentedon Oct 20, 2020
@plbossart will this be related with the IPC position update delay? We do see such write I/O error on legacy platforms(BYT/CHT/BDW) using IPC position update.
If enable IPC position update for HDA platforms, we will also see such kind of I/O error.
lgirdwood commentedon Oct 20, 2020
@plbossart @xiulipan we should not be reading back position via IPC but reading back from SRAM window on CHT
plbossart commentedon Oct 20, 2020
@lgirdwood can you double-check the linux driver and let me know if we are doing things the right way? This position report has been a problem for the longest time but only you and @keyonjie understand it.
lgirdwood commentedon Oct 20, 2020
@plbossart pointer callback is not defined for BYT/CHT so it's using mailbox and NOT IPC method.
plbossart commentedon Oct 20, 2020
ok, so now I have no idea why we only look at the position during an IPC and why we enabled the BATCH option to disable timer-based scheduling in PulseAudio.
lgirdwood commentedon Oct 21, 2020
Might be worthwhile enabling the trace here in the kernel (as FW could be sending garbage at time or sending for wrong stream).
plbossart commentedon Oct 21, 2020
@lgirdwood the DMA trace is always enabled in our tests.
lgirdwood commentedon Oct 21, 2020
@plbossart sorry I mean from above kernel code (which may be off as it's verbose)
mengdonglin commentedon Jun 21, 2022
Move CHT platform to maintenance mode and SOF v2.2 will be the last upstream release with support for this platform. There will be no more FW bug fixing effort on this platform.