Re: [PATCH v2 2/9] ASoC: q6asm: make commands specific to streams

From: Srinivas Kandagatla
Date: Wed Jul 22 2020 - 04:59:52 EST


Thanks Pierre for review,

On 21/07/2020 20:31, Pierre-Louis Bossart wrote:



diff --git a/sound/soc/qcom/qdsp6/q6asm-dai.c b/sound/soc/qcom/qdsp6/q6asm-dai.c
index 941f3216399c..fb0488e7beb9 100644
--- a/sound/soc/qcom/qdsp6/q6asm-dai.c
+++ b/sound/soc/qcom/qdsp6/q6asm-dai.c
@@ -67,6 +67,8 @@ struct q6asm_dai_rtd {
ÂÂÂÂÂ uint16_t bits_per_sample;
ÂÂÂÂÂ uint16_t source; /* Encoding source bit mask */
ÂÂÂÂÂ struct audio_client *audio_client;
+ÂÂÂ /* Active */

nit-pick: what does this 'Active' comment try to say? the stream_id seems to be used for RUN/EOS/CLOSE operations.

Active mean its the active stream id which is consuming the data at the point in time. As we toggle stream ids between 1 and 2. This active stream_id is used for every command sent to dsp.


+ÂÂÂ uint32_t stream_id;
ÂÂÂÂÂ uint16_t session_id;
ÂÂÂÂÂ enum stream_state state;
 };
@@ -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);

In the V1 review we discussed this


Sorry, I missed that! will address this in next version!

"
> sound/soc/qcom/qdsp6/q6asm.h:#define NO_TIMESTAMPÂÂÂ 0xFF00
>
> is the change on the previous line intentional?

May be not!

Plan is that the users of these apis will send flags directly instead of boiler plating this!

This change should go as part of next patch("[PATCH 04/11] ASoC: q6asm: use flags directly from asm-dai") which would make it much clear!
"

doesn't look like there was a change here?