Skip to content

Commit 443fcd8

Browse files
committed
topology: wov: set capture_compatible_d0i3 for D0I3/S0iX WOV support
Mark the WOV host-copier stream as D0I3-compatible so the kernel keeps the capture pipeline active during S0iX system sleep. When the WOV trigger fires, the firmware sends SOF_IPC4_NOTIFY_PHRASE_DETECTED which wakes the host from D0I3. Two placement sites: - Object.Widget.host-copier.1: parsed by IPC4 kernel (sof_ipc4_widget_setup_pcm in ipc4-topology.c, see thesofproject/linux#5878) - Object.PCM.pcm: parsed by IPC3 kernel (topology.c) Also adds DefineAttribute entries for capture_compatible_d0i3 and playback_compatible_d0i3 to host-copier.conf so IPC4 alsatplg can encode the token into the widget TLV tuple set. Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
1 parent 5903188 commit 443fcd8

2 files changed

Lines changed: 12 additions & 1 deletion

File tree

‎tools/topology/topology2/dmic-wov-multi-manifest.conf‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -593,7 +593,7 @@ Object.Pipeline.host-gateway-capture [
593593
Object.Widget.host-copier.1 {
594594
stream_name $DMIC_PCM_CAPS
595595
pcm_id $DMIC_PCM_ID
596-
596+
capture_compatible_d0i3 1
597597
num_input_audio_formats 1
598598
Object.Base.input_audio_format [
599599
{
@@ -874,6 +874,7 @@ Object.PCM.pcm."$DMIC_PCM_ID" {
874874
name "DMIC Multi-WOV"
875875
id $DMIC_PCM_ID
876876
direction "capture"
877+
capture_compatible_d0i3 1
877878

878879
Object.Base.fe_dai."$DMIC_PCM_CAPS" {}
879880

‎tools/topology/topology2/include/components/host-copier.conf‎

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,16 @@ Class.Widget."host-copier" {
8383
token_ref "copier.word"
8484
}
8585

86+
# D0I3 compatibility: stream stays active during S0iX when set.
87+
# Required for Wake-on-Voice capture streams (IPC4, see SOF kernel ipc4-topology.c).
88+
DefineAttribute."capture_compatible_d0i3" {
89+
token_ref "stream.bool"
90+
}
91+
92+
DefineAttribute."playback_compatible_d0i3" {
93+
token_ref "stream.bool"
94+
}
95+
8696
attributes {
8797
#
8898
# The host copier widget name would be constructed using the copier pcm_id and

0 commit comments

Comments
 (0)