Skip to content

ASoC: SOF: Bring WoV support to ipc4 - #5878

Draft
jsarha wants to merge 3 commits into
thesofproject:topic/sof-devfrom
jsarha:wov_ipc4
Draft

ASoC: SOF: Bring WoV support to ipc4#5878
jsarha wants to merge 3 commits into
thesofproject:topic/sof-devfrom
jsarha:wov_ipc4

Conversation

@jsarha

Copy link
Copy Markdown
Collaborator

I have not tested this any further than that the topology properties correctly set spcm->stream[dir].d0i3_compatible flag. That in addition to setting ipc4-pcm .d0i3_supported_in_s0ix = true , should - at least in theory - bring the same support we already have for ipc3 also to ipc4.

The correct place the enable the WoV is to put playback_compatible_d0i3 or capture_compatible_d0i3 tuple with non zero value to host-copier topology widget. For example:

 Object.Pipeline.gain-copier-capture [
{
index 7
Object.Widget.host-copier.1 {
stream_name 'SSP0 Capture'
pcm_id $SSP0_PCM_ID
num_input_audio_formats 1
num_output_audio_formats 7
capture_compatible_d0i3 1
Object.Base.input_audio_format [
...

I still need to come up with a setup to test this, but that will go to next week.

FYI @lgirdwood@singalsu

Jyri Sarha added 3 commits August 14, 2026 14:45
IPC4 topologies can mark PCM streams as D0I3-compatible using the
SOF_TKN_STREAM_PLAYBACK_COMPATIBLE_D0I3 (1200) and
SOF_TKN_STREAM_CAPTURE_COMPATIBLE_D0I3 (1201) tokens on host copier
widgets. However, the IPC4 topology path did not parse these tokens,
so the d0i3_compatible flag was never set and the DSP always went to
D3 during S0ix.
Add token definitions and parsing in sof_ipc4_widget_setup_pcm() to
read the D0I3 compatibility flag from the host copier widget tuples
into spcm->stream[dir].d0i3_compatible.
Also set d0i3_supported_in_s0ix = true in ipc4_pcm_ops so the
existing suspend_ignored logic in pcm.c applies to IPC4 streams,
allowing the DSP to remain in D0i3 during S0ix when D0I3-compatible
streams are active (e.g. wake-on-voice keyword detection).
Signed-off-by: Jyri Sarha <jyri.sarha@linux.intel.com>
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@jsarha