18 Dec
2019
18 Dec
'19
3:54 p.m.
Card dai_link has .ignore_suspend, and ALSA SoC cares it when suspend. For example, like this for_each_card_rtds(card, rtd) { if (rtd->dai_link->ignore_suspend) continue; ... } But in snd_soc_suspend(), it doesn't care about it when suspending Component. This patch cares it.
Morimoto-san,
I am a bit skeptical about this change but I could be wrong. I am not sure if the ignore_suspend field in the DAI link definitions was meant to be applicable for the components as well. Mark/Takashi would have to confirm this.
Even for dai links, it's not clear to me what .ignore_suspend means.
For Intel machine drivers, the .ignore_suspend flag is used for DMIC links which may be used in S0ix/D0ix states. I don't believe this works if there are multiple target states, e.g. you would probably want to leave the link active in S0ix, but suspend it in S3?
I think the current .ignore_suspend settings only work with the assumption that applications will close all capture streams before going to S3.