Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 04b7e499 authored by Siddartha Shaik's avatar Siddartha Shaik Committed by Gerrit - the friendly Code Review server
Browse files

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: default avatarSiddartha Shaik <sshaik@codeaurora.org>
parent 41144e80
Loading
Loading
Loading
Loading
+16 −4
Original line number Diff line number Diff line
@@ -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)