[PATCH 03/11] ASoC: q6asm: make commands specific to streams
Pierre-Louis Bossart
pierre-louis.bossart at linux.intel.com
Tue Jul 7 18:52:33 CEST 2020
> @@ -184,8 +186,8 @@ static void event_handler(uint32_t opcode, uint32_t token,
> switch (opcode) {
> case ASM_CLIENT_EVENT_CMD_RUN_DONE:
> if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK)
> - q6asm_write_async(prtd->audio_client,
> - prtd->pcm_count, 0, 0, NO_TIMESTAMP);
> + q6asm_write_async(prtd->audio_client, prtd->stream_id,
> + prtd->pcm_count, 0, 0, 0);
sound/soc/qcom/qdsp6/q6asm.h:#define NO_TIMESTAMP 0xFF00
is the change on the previous line intentional?
> break;
> case ASM_CLIENT_EVENT_CMD_EOS_DONE:
> prtd->state = Q6ASM_STREAM_STOPPED;
> @@ -194,8 +196,8 @@ static void event_handler(uint32_t opcode, uint32_t token,
> prtd->pcm_irq_pos += prtd->pcm_count;
> snd_pcm_period_elapsed(substream);
> if (prtd->state == Q6ASM_STREAM_RUNNING)
> - q6asm_write_async(prtd->audio_client,
> - prtd->pcm_count, 0, 0, NO_TIMESTAMP);
> + q6asm_write_async(prtd->audio_client, prtd->stream_id,
> + prtd->pcm_count, 0, 0, 0);
ditto for the timestamp change?
> @@ -501,8 +514,8 @@ static void compress_event_handler(uint32_t opcode, uint32_t token,
> case ASM_CLIENT_EVENT_CMD_RUN_DONE:
> spin_lock_irqsave(&prtd->lock, flags);
> if (!prtd->bytes_sent) {
> - q6asm_write_async(prtd->audio_client, prtd->pcm_count,
> - 0, 0, NO_TIMESTAMP);
> + q6asm_write_async(prtd->audio_client, prtd->stream_id,
> + prtd->pcm_count, 0, 0, 0);
and here as well.
> prtd->bytes_sent += prtd->pcm_count;
> }
>
> @@ -527,8 +540,8 @@ static void compress_event_handler(uint32_t opcode, uint32_t token,
> avail = prtd->bytes_received - prtd->bytes_sent;
>
> if (avail >= prtd->pcm_count) {
> - q6asm_write_async(prtd->audio_client,
> - prtd->pcm_count, 0, 0, NO_TIMESTAMP);
> + q6asm_write_async(prtd->audio_client, prtd->stream_id,
> + prtd->pcm_count, 0, 0, 0);
and here.
More information about the Alsa-devel
mailing list