topology: Parse ignore_suspend flag

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 <piotrx.maziarz@intel.com>
Signed-off-by: Cezary Rojewski <cezary.rojewski@intel.com>
Signed-off-by: Amadeusz Sławiński <amadeuszx.slawinski@linux.intel.com>
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
This commit is contained in:
Cezary Rojewski 2019-03-27 15:45:04 +01:00 committed by Jaroslav Kysela
parent 1fc1c1b7dc
commit d72da154a3

View file

@ -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);