Unverified Commit 983b8864 authored by Srinivas Kandagatla's avatar Srinivas Kandagatla Committed by Mark Brown
Browse files

ASoC: q6asm: add support to gapless flag in q6asm open

parent 39376129
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -255,7 +255,7 @@ static int q6asm_dai_prepare(struct snd_soc_component *component,
	if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) {
		ret = q6asm_open_write(prtd->audio_client, prtd->stream_id,
				       FORMAT_LINEAR_PCM,
				       0, prtd->bits_per_sample);
				       0, prtd->bits_per_sample, false);
	} else if (substream->stream == SNDRV_PCM_STREAM_CAPTURE) {
		ret = q6asm_open_read(prtd->audio_client, prtd->stream_id,
				      FORMAT_LINEAR_PCM,
@@ -682,7 +682,7 @@ static int q6asm_dai_compr_set_params(struct snd_soc_component *component,
	if (dir == SND_COMPRESS_PLAYBACK) {
		ret = q6asm_open_write(prtd->audio_client, prtd->stream_id,
				       params->codec.id, params->codec.profile,
				       prtd->bits_per_sample);
				       prtd->bits_per_sample, true);

		if (ret < 0) {
			dev_err(dev, "q6asm_open_write failed\n");
+3 −1
Original line number Diff line number Diff line
@@ -923,7 +923,7 @@ err:
 */
int q6asm_open_write(struct audio_client *ac, uint32_t stream_id,
		     uint32_t format, u32 codec_profile,
		     uint16_t bits_per_sample)
		     uint16_t bits_per_sample, bool is_gapless)
{
	struct asm_stream_cmd_open_write_v3 *open;
	struct apr_pkt *pkt;
@@ -943,6 +943,8 @@ int q6asm_open_write(struct audio_client *ac, uint32_t stream_id,
	pkt->hdr.opcode = ASM_STREAM_CMD_OPEN_WRITE_V3;
	open->mode_flags = 0x00;
	open->mode_flags |= ASM_LEGACY_STREAM_SESSION;
	if (is_gapless)
		open->mode_flags |= BIT(ASM_SHIFT_GAPLESS_MODE_FLAG);

	/* source endpoint : matrix */
	open->sink_endpointype = ASM_END_POINT_DEVICE_MATRIX;
+1 −1
Original line number Diff line number Diff line
@@ -99,7 +99,7 @@ int q6asm_write_async(struct audio_client *ac, uint32_t stream_id, uint32_t len,
		      uint32_t msw_ts, uint32_t lsw_ts, uint32_t flags);
int q6asm_open_write(struct audio_client *ac, uint32_t stream_id,
		     uint32_t format, u32 codec_profile,
		     uint16_t bits_per_sample);
		     uint16_t bits_per_sample, bool is_gapless);

int q6asm_open_read(struct audio_client *ac, uint32_t stream_id,
		    uint32_t format, uint16_t bits_per_sample);