summaryrefslogtreecommitdiffstats
path: root/sound/soc/intel/sst-baytrail-ipc.h
diff options
context:
space:
mode:
authorLiam Girdwood2014-05-08 15:07:26 +0200
committerMark Brown2014-05-12 23:02:18 +0200
commitaf94aa558be506c5afe106e8cf34362bfce221aa (patch)
treed53557da737bb0840b47b685e5b908f9ef774a3f /sound/soc/intel/sst-baytrail-ipc.h
parentASoC: Intel: Allow Rx/Tx message list can be cleared prior to suspend (diff)
downloadkernel-qcow2-linux-af94aa558be506c5afe106e8cf34362bfce221aa.tar.gz
kernel-qcow2-linux-af94aa558be506c5afe106e8cf34362bfce221aa.tar.xz
kernel-qcow2-linux-af94aa558be506c5afe106e8cf34362bfce221aa.zip
ASoC: Intel: Add Baytrail suspend/resume support
Add suspend and resume support to Baytrail SST DSP. This is implemented by unloading firmware modules and putting DSP into reset prior suspend and restarting DSP again in normal boot state after resume. Context restore for running streams is implemented by scheduling a work from sst_byt_pcm_trigger() that will allocate a stream with existing parameters and start it from last known buffer position before suspend. [Jarkko: Squashed together 5 WIP patches from Liam and 1 from me] Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com> Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com> Signed-off-by: Mark Brown <broonie@linaro.org>
Diffstat (limited to 'sound/soc/intel/sst-baytrail-ipc.h')
-rw-r--r--sound/soc/intel/sst-baytrail-ipc.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/sound/soc/intel/sst-baytrail-ipc.h b/sound/soc/intel/sst-baytrail-ipc.h
index b643d9892f60..06a4d202689b 100644
--- a/sound/soc/intel/sst-baytrail-ipc.h
+++ b/sound/soc/intel/sst-baytrail-ipc.h
@@ -66,5 +66,9 @@ int sst_byt_get_dsp_position(struct sst_byt *byt,
int sst_byt_dsp_init(struct device *dev, struct sst_pdata *pdata);
void sst_byt_dsp_free(struct device *dev, struct sst_pdata *pdata);
struct sst_dsp *sst_byt_get_dsp(struct sst_byt *byt);
+int sst_byt_dsp_suspend_noirq(struct device *dev, struct sst_pdata *pdata);
+int sst_byt_dsp_suspend_late(struct device *dev, struct sst_pdata *pdata);
+int sst_byt_dsp_boot(struct device *dev, struct sst_pdata *pdata);
+int sst_byt_dsp_wait_for_ready(struct device *dev, struct sst_pdata *pdata);
#endif