Skip to content

Commit b8c6963

Browse files
ujfalusilgirdwood
authored andcommitted
ASoC: SOF: Add support for pause supported tokens from topology
New tokens are added to topology: 1202: SOF_TKN_STREAM_PLAYBACK_PAUSE_SUPPORTED 1203: SOF_TKN_STREAM_CAPTURE_PAUSE_SUPPORTED The new tokens are used to advertise support for PAUSE/RESUME operation on a PCM device depending on firmware product, use case, pipeline topology. The snd_sof_pcm_stream.pause_supported is updated to reflect the advertised value for the PCM device. If the token does not exist then the pause_supported is set to false. Note: it is up to the platform code to use this flag to decide to advertise the PAUSE support for user space or not. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
1 parent 84a8d60 commit b8c6963

3 files changed

Lines changed: 7 additions & 0 deletions

File tree

include/uapi/sound/sof/tokens.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,6 +153,8 @@
153153
/* Stream */
154154
#define SOF_TKN_STREAM_PLAYBACK_COMPATIBLE_D0I3 1200
155155
#define SOF_TKN_STREAM_CAPTURE_COMPATIBLE_D0I3 1201
156+
#define SOF_TKN_STREAM_PLAYBACK_PAUSE_SUPPORTED 1202
157+
#define SOF_TKN_STREAM_CAPTURE_PAUSE_SUPPORTED 1203
156158

157159
/* Led control for mute switches */
158160
#define SOF_TKN_MUTE_LED_USE 1300

sound/soc/sof/sof-audio.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -332,6 +332,7 @@ struct snd_sof_pcm_stream {
332332
struct work_struct period_elapsed_work;
333333
struct snd_soc_dapm_widget_list *list; /* list of connected DAPM widgets */
334334
bool d0i3_compatible; /* DSP can be in D0I3 when this pcm is opened */
335+
bool pause_supported; /* PCM device supports PAUSE operation */
335336
unsigned int dsp_max_burst_size_in_ms; /* The maximum size of the host DMA burst in ms */
336337
/*
337338
* flag to indicate that the DSP pipelines should be kept

sound/soc/sof/topology.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -407,6 +407,10 @@ static const struct sof_topology_token stream_tokens[] = {
407407
offsetof(struct snd_sof_pcm, stream[0].d0i3_compatible)},
408408
{SOF_TKN_STREAM_CAPTURE_COMPATIBLE_D0I3, SND_SOC_TPLG_TUPLE_TYPE_BOOL, get_token_u16,
409409
offsetof(struct snd_sof_pcm, stream[1].d0i3_compatible)},
410+
{SOF_TKN_STREAM_PLAYBACK_PAUSE_SUPPORTED, SND_SOC_TPLG_TUPLE_TYPE_BOOL, get_token_u16,
411+
offsetof(struct snd_sof_pcm, stream[0].pause_supported)},
412+
{SOF_TKN_STREAM_CAPTURE_PAUSE_SUPPORTED, SND_SOC_TPLG_TUPLE_TYPE_BOOL, get_token_u16,
413+
offsetof(struct snd_sof_pcm, stream[1].pause_supported)},
410414
};
411415

412416
/* Leds */

0 commit comments

Comments
 (0)