summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@quicinc.com>2017-09-22 17:26:43 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2017-09-22 17:26:42 -0700
commit3e07e9cdb548c4273adc3cdcfa8d476e23d52a2a (patch)
treec9ff46142e6ec5ac8a25853d9a974983e41a7968
parent18dd1a7105e21b33ef4a5543a49dae0445554bd9 (diff)
parenta135611457895c266424b7ad5f3e86b5c1d10f98 (diff)
Merge "ASoC: msm: qdsp6v2: change to no-wait command for RTIC event"
-rw-r--r--sound/soc/msm/qdsp6v2/q6asm.c31
1 files changed, 5 insertions, 26 deletions
diff --git a/sound/soc/msm/qdsp6v2/q6asm.c b/sound/soc/msm/qdsp6v2/q6asm.c
index 7d5ad2349d91..909461258179 100644
--- a/sound/soc/msm/qdsp6v2/q6asm.c
+++ b/sound/soc/msm/qdsp6v2/q6asm.c
@@ -7215,10 +7215,9 @@ int q6asm_send_rtic_event_ack(struct audio_client *ac,
goto done;
}
- q6asm_add_hdr_async(ac, &ack.hdr,
+ q6asm_stream_add_hdr_async(ac, &ack.hdr,
sizeof(struct avs_param_rtic_event_ack) +
- params_length, TRUE);
- atomic_set(&ac->cmd_state, -1);
+ params_length, TRUE, ac->stream_id);
ack.hdr.opcode = ASM_STREAM_CMD_SET_ENCDEC_PARAM_V2;
ack.encdec.param_id = AVS_PARAM_ID_RTIC_EVENT_ACK;
ack.encdec.param_size = params_length;
@@ -7228,31 +7227,11 @@ int q6asm_send_rtic_event_ack(struct audio_client *ac,
memcpy(asm_params + sizeof(struct avs_param_rtic_event_ack),
param, params_length);
rc = apr_send_pkt(ac->apr, (uint32_t *) asm_params);
- if (rc < 0) {
+ if (rc < 0)
pr_err("%s: apr pkt failed for rtic event ack\n", __func__);
- rc = -EINVAL;
- goto fail_send_param;
- }
-
- rc = wait_event_timeout(ac->cmd_wait,
- (atomic_read(&ac->cmd_state) >= 0), 1 * HZ);
- if (!rc) {
- pr_err("%s: timeout for rtic event ack cmd\n", __func__);
- rc = -ETIMEDOUT;
- goto fail_send_param;
- }
-
- if (atomic_read(&ac->cmd_state) > 0) {
- pr_err("%s: DSP returned error[%s] for rtic event ack cmd\n",
- __func__, adsp_err_get_err_str(
- atomic_read(&ac->cmd_state)));
- rc = adsp_err_get_lnx_err_code(
- atomic_read(&ac->cmd_state));
- goto fail_send_param;
- }
- rc = 0;
+ else
+ rc = 0;
-fail_send_param:
kfree(asm_params);
done:
return rc;