summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSiddartha Shaik <sshaik@codeaurora.org>2017-06-14 12:03:35 +0530
committerGerrit - the friendly Code Review server <code-review@localhost>2017-06-18 21:55:39 -0700
commit04b7e499f885100ce8dd6ad3c19acfea5f62383a (patch)
treeea3e00f8a3c850f9bb8eb10287a1217f0fc93e73
parent41144e80b67849f3700273bcff48de5b653f2b6e (diff)
ASoC: msm: Add Compressed app type in transcode loopback driver
Pick proper app type for compressed input data port in transcode loopback driver to support compressed input in DSP loopback. CRs-Fixed: 2061759 Change-Id: Ib2f66b467456787e08265a0da2bd85bb881a5d61 Signed-off-by: Siddartha Shaik <sshaik@codeaurora.org>
-rw-r--r--sound/soc/msm/qdsp6v2/msm-transcode-loopback-q6-v2.c20
1 files changed, 16 insertions, 4 deletions
diff --git a/sound/soc/msm/qdsp6v2/msm-transcode-loopback-q6-v2.c b/sound/soc/msm/qdsp6v2/msm-transcode-loopback-q6-v2.c
index dbda90c3616d..6bb85ca8e84e 100644
--- a/sound/soc/msm/qdsp6v2/msm-transcode-loopback-q6-v2.c
+++ b/sound/soc/msm/qdsp6v2/msm-transcode-loopback-q6-v2.c
@@ -112,7 +112,8 @@ static void loopback_event_handler(uint32_t opcode,
switch (opcode) {
case ASM_STREAM_CMD_ENCDEC_EVENTS:
case ASM_IEC_61937_MEDIA_FMT_EVENT:
- pr_debug("%s: ASM_IEC_61937_MEDIA_FMT_EVENT\n", __func__);
+ pr_debug("%s: Handling stream event : 0X%x\n",
+ __func__, opcode);
rtd = cstream->private_data;
if (!rtd) {
pr_err("%s: rtd is NULL\n", __func__);
@@ -449,17 +450,17 @@ static int msm_transcode_loopback_set_params(struct snd_compr_stream *cstream,
trans->audio_client->perf_mode,
trans->session_id,
SNDRV_PCM_STREAM_CAPTURE,
- true);
+ COMPRESSED_PASSTHROUGH_GEN);
else
msm_pcm_routing_reg_phy_stream(
soc_pcm_tx->dai_link->be_id,
trans->audio_client->perf_mode,
trans->session_id,
SNDRV_PCM_STREAM_CAPTURE);
-
+ /* Opening Rx ADM in LOW_LATENCY mode by default */
msm_pcm_routing_reg_phy_stream(
soc_pcm_rx->dai_link->be_id,
- trans->audio_client->perf_mode,
+ true,
trans->session_id,
SNDRV_PCM_STREAM_PLAYBACK);
pr_debug("%s: Successfully opened ADM sessions\n", __func__);
@@ -913,10 +914,21 @@ static int msm_transcode_loopback_probe(struct snd_soc_platform *platform)
return 0;
}
+static int msm_transcode_loopback_remove(struct snd_soc_platform *platform)
+{
+ struct trans_loopback_pdata *pdata = NULL;
+
+ pdata = (struct trans_loopback_pdata *)
+ snd_soc_platform_get_drvdata(platform);
+ kfree(pdata);
+ return 0;
+}
+
static struct snd_soc_platform_driver msm_soc_platform = {
.probe = msm_transcode_loopback_probe,
.compr_ops = &msm_transcode_loopback_ops,
.pcm_new = msm_transcode_loopback_new,
+ .remove = msm_transcode_loopback_remove,
};
static int msm_transcode_dev_probe(struct platform_device *pdev)