summaryrefslogtreecommitdiff
path: root/sound/soc/intel/atom/sst/sst.h
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2018-02-19 01:01:42 +0300
committerMark Brown <broonie@kernel.org>2018-03-01 19:22:47 +0300
commit473858cad1ea3d4e6c287bad23961cd5fb7382d9 (patch)
tree97b38da4b7918e37b2b4944b13b54f1bfc345cea /sound/soc/intel/atom/sst/sst.h
parentde9833476de7eb1d4b8bdc599cbbd616fb0e1a28 (diff)
downloadlinux-473858cad1ea3d4e6c287bad23961cd5fb7382d9.tar.xz
ASoC: Intel: sst: Add sst_realloc_stream() function
Move the struct snd_sst_alloc_mrfld alloc parameters from the stack into struct stream_info and add a new sst_realloc_stream() function which can re-alloc a stream with the same parameters as before. This is a preparation patch for fixing suspend/resume issues with some SST / DSP firmware versions. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/intel/atom/sst/sst.h')
-rw-r--r--sound/soc/intel/atom/sst/sst.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/sound/soc/intel/atom/sst/sst.h b/sound/soc/intel/atom/sst/sst.h
index f4fd442080b2..a357cd615b59 100644
--- a/sound/soc/intel/atom/sst/sst.h
+++ b/sound/soc/intel/atom/sst/sst.h
@@ -180,6 +180,7 @@ struct sst_block {
* @status : stream current state
* @prev : stream prev state
* @lock : stream mutex for protecting state
+ * @alloc_param : parameters used for stream (re-)allocation
* @pcm_substream : PCM substream
* @period_elapsed : PCM period elapsed callback
* @sfreq : stream sampling freq
@@ -189,6 +190,7 @@ struct stream_info {
unsigned int status;
unsigned int prev;
struct mutex lock;
+ struct snd_sst_alloc_mrfld alloc_param;
void *pcm_substream;
void (*period_elapsed)(void *pcm_substream);
@@ -429,6 +431,7 @@ struct intel_sst_ops {
void (*post_download)(struct intel_sst_drv *sst);
};
+int sst_realloc_stream(struct intel_sst_drv *sst_drv_ctx, int str_id);
int sst_pause_stream(struct intel_sst_drv *sst_drv_ctx, int id);
int sst_resume_stream(struct intel_sst_drv *sst_drv_ctx, int id);
int sst_drop_stream(struct intel_sst_drv *sst_drv_ctx, int id);