dsp: Add support for EOS V2

Use EOS V2 to avoid time out for EOS when afe port
is closed before EOS

Change-Id: I3be0aa33384d2015354b8f9a307f3e0cb200c040
Signed-off-by: Satish Babu Patakokila <sbpata@codeaurora.org>
This commit is contained in:
Satish Babu Patakokila
2020-03-31 21:15:45 +05:30
parent b8e5bd2fc8
commit 54d42ba9df
6 changed files with 13 additions and 2 deletions

View File

@@ -1984,6 +1984,7 @@ static int32_t q6asm_callback(struct apr_client_data *data, void *priv)
data->token, data->payload_size, data->src_port,
data->dest_port);
if ((data->opcode != ASM_DATA_EVENT_RENDERED_EOS) &&
(data->opcode != ASM_DATA_EVENT_RENDERED_EOS_V2) &&
(data->opcode != ASM_DATA_EVENT_EOS) &&
(data->opcode != ASM_SESSION_EVENTX_OVERFLOW) &&
(data->opcode != ASM_SESSION_EVENT_RX_UNDERFLOW)) {
@@ -2010,6 +2011,7 @@ static int32_t q6asm_callback(struct apr_client_data *data, void *priv)
case ASM_SESSION_CMD_PAUSE:
case ASM_SESSION_CMD_SUSPEND:
case ASM_DATA_CMD_EOS:
case ASM_DATA_CMD_EOS_V2:
case ASM_STREAM_CMD_CLOSE:
case ASM_STREAM_CMD_FLUSH:
case ASM_SESSION_CMD_RUN_V2:
@@ -2347,6 +2349,7 @@ static int32_t q6asm_callback(struct apr_client_data *data, void *priv)
}
case ASM_DATA_EVENT_EOS:
case ASM_DATA_EVENT_RENDERED_EOS:
case ASM_DATA_EVENT_RENDERED_EOS_V2:
pr_debug("%s: EOS ACK received: rxed session %d opcode 0x%x token 0x%x src %d dest %d\n",
__func__, ac->session,
data->opcode, data->token,
@@ -10374,7 +10377,7 @@ static int __q6asm_cmd(struct audio_client *ac, int cmd, uint32_t stream_id)
break;
case CMD_EOS:
pr_debug("%s: CMD_EOS\n", __func__);
hdr.opcode = ASM_DATA_CMD_EOS;
hdr.opcode = ASM_DATA_CMD_EOS_V2;
atomic_set(&ac->cmd_state, 0);
state = &ac->cmd_state;
break;
@@ -10524,7 +10527,7 @@ static int __q6asm_cmd_nowait(struct audio_client *ac, int cmd,
break;
case CMD_EOS:
pr_debug("%s: CMD_EOS\n", __func__);
hdr.opcode = ASM_DATA_CMD_EOS;
hdr.opcode = ASM_DATA_CMD_EOS_V2;
break;
case CMD_CLOSE:
pr_debug("%s: CMD_CLOSE\n", __func__);