diff options
| author | Siddartha Shaik <sshaik@codeaurora.org> | 2017-06-14 12:03:35 +0530 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2017-06-18 21:55:39 -0700 |
| commit | 04b7e499f885100ce8dd6ad3c19acfea5f62383a (patch) | |
| tree | ea3e00f8a3c850f9bb8eb10287a1217f0fc93e73 | |
| parent | 41144e80b67849f3700273bcff48de5b653f2b6e (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.c | 20 |
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) |
