From d72da154a377926da6d03bda96427f3756226445 Mon Sep 17 00:00:00 2001 From: Cezary Rojewski Date: Wed, 27 Mar 2019 15:45:04 +0100 Subject: topology: Parse ignore_suspend flag MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit XXX_VOICE_WAKEUP also known as 'ignore_suspend' is already processed by kernel in soc-topology, but there is no way of setting it via topology file like it's the case for other flags. Fix this by adding it to pcm, dai and link parsing mechanism. Signed-off-by: Piotr Maziarz Signed-off-by: Cezary Rojewski Signed-off-by: Amadeusz Sławiński Signed-off-by: Jaroslav Kysela --- src/topology/pcm.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/topology/pcm.c b/src/topology/pcm.c index 76085d05..b1e5dc59 100644 --- a/src/topology/pcm.c +++ b/src/topology/pcm.c @@ -929,6 +929,15 @@ int tplg_parse_pcm(snd_tplg_t *tplg, snd_config_t *cfg, continue; } + if (strcmp(id, "ignore_suspend") == 0) { + err = parse_flag(n, + SND_SOC_TPLG_LNK_FLGBIT_VOICE_WAKEUP, + &pcm->flag_mask, &pcm->flags); + if (err < 0) + return err; + continue; + } + /* private data */ if (strcmp(id, "data") == 0) { err = tplg_parse_refs(n, elem, SND_TPLG_TYPE_DATA); @@ -1066,6 +1075,15 @@ int tplg_parse_dai(snd_tplg_t *tplg, snd_config_t *cfg, continue; } + if (strcmp(id, "ignore_suspend") == 0) { + err = parse_flag(n, + SND_SOC_TPLG_LNK_FLGBIT_VOICE_WAKEUP, + &dai->flag_mask, &dai->flags); + if (err < 0) + return err; + continue; + } + /* private data */ if (strcmp(id, "data") == 0) { err = tplg_parse_refs(n, elem, SND_TPLG_TYPE_DATA); @@ -1220,6 +1238,15 @@ int tplg_parse_link(snd_tplg_t *tplg, snd_config_t *cfg, continue; } + if (strcmp(id, "ignore_suspend") == 0) { + err = parse_flag(n, + SND_SOC_TPLG_LNK_FLGBIT_VOICE_WAKEUP, + &link->flag_mask, &link->flags); + if (err < 0) + return err; + continue; + } + /* private data */ if (strcmp(id, "data") == 0) { err = tplg_parse_refs(n, elem, SND_TPLG_TYPE_DATA); -- cgit v1.2.1