From 92e2db816b1e37d603d25edc8e62fcd78f7d4790 Mon Sep 17 00:00:00 2001 From: "Xu,Baochu" Date: Tue, 8 Mar 2022 16:22:12 +0800 Subject: [PATCH] asoc: Add VI feedback dai_link for bengal Add VI feedback dai_link for speaker protection feature. Change-Id: Ic4db44a548d7e2c472785a2c76ad055e507072a5 --- asoc/bengal.c | 12 ++++++++++++ asoc/msm-dai-fe.c | 24 ++++++++++++++++++++++++ asoc/msm-pcm-routing-v2.c | 3 +++ asoc/msm_bengal_dailink.h | 6 ++++++ 4 files changed, 45 insertions(+) mode change 100644 => 100755 asoc/bengal.c mode change 100644 => 100755 asoc/msm-dai-fe.c mode change 100644 => 100755 asoc/msm_bengal_dailink.h diff --git a/asoc/bengal.c b/asoc/bengal.c old mode 100644 new mode 100755 index 2fff3ff5d19b..d7c0b399a78f --- a/asoc/bengal.c +++ b/asoc/bengal.c @@ -1,6 +1,7 @@ // SPDX-License-Identifier: GPL-2.0-only /* * Copyright (c) 2016-2021, The Linux Foundation. All rights reserved. + * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. */ #include @@ -4982,6 +4983,17 @@ static struct snd_soc_dai_link msm_common_misc_fe_dai_links[] = { .ops = &msm_cdc_dma_be_ops, SND_SOC_DAILINK_REG(tx_cdcdma5_tx), }, + {/* hw:x,39 */ + .name = "TX4_CDC_DMA Hostless", + .stream_name = "TX4_CDC_DMA Hostless", + .dynamic = 1, + .dpcm_capture = 1, + .trigger = {SND_SOC_DPCM_TRIGGER_POST, + SND_SOC_DPCM_TRIGGER_POST}, + .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, + .ignore_suspend = 1, + SND_SOC_DAILINK_REG(tx4_cdcdma_hostless), + }, }; static struct snd_soc_dai_link msm_common_be_dai_links[] = { diff --git a/asoc/msm-dai-fe.c b/asoc/msm-dai-fe.c old mode 100644 new mode 100755 index abb77881adb3..b6b684740706 --- a/asoc/msm-dai-fe.c +++ b/asoc/msm-dai-fe.c @@ -1,5 +1,6 @@ // SPDX-License-Identifier: GPL-2.0-only /* Copyright (c) 2012-2021, The Linux Foundation. All rights reserved. + * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. */ @@ -592,6 +593,29 @@ static struct snd_soc_dai_driver msm_fe_dais[] = { .name = "TX3_CDC_DMA_HOSTLESS", .probe = fe_dai_probe, }, + { + .capture = { + .stream_name = "TX4_CDC_DMA_HOSTLESS Capture", + .aif_name = "TX4_CDC_DMA_UL_HL", + .rates = SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_11025 | + SNDRV_PCM_RATE_16000 | SNDRV_PCM_RATE_22050 | + SNDRV_PCM_RATE_32000 | SNDRV_PCM_RATE_44100 | + SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_88200 | + SNDRV_PCM_RATE_96000 | SNDRV_PCM_RATE_176400 | + SNDRV_PCM_RATE_192000 | SNDRV_PCM_RATE_352800 | + SNDRV_PCM_RATE_384000, + .formats = SNDRV_PCM_FMTBIT_S16_LE | + SNDRV_PCM_FMTBIT_S24_LE | + SNDRV_PCM_FMTBIT_S24_3LE, + .channels_min = 1, + .channels_max = 8, + .rate_min = 8000, + .rate_max = 384000, + }, + .ops = &msm_fe_dai_ops, + .name = "TX4_CDC_DMA_HOSTLESS", + .probe = fe_dai_probe, + }, { .playback = { .stream_name = "INT_FM_HOSTLESS Playback", diff --git a/asoc/msm-pcm-routing-v2.c b/asoc/msm-pcm-routing-v2.c index 43b96aefb914..71b45e4c3513 100755 --- a/asoc/msm-pcm-routing-v2.c +++ b/asoc/msm-pcm-routing-v2.c @@ -32794,6 +32794,8 @@ static const struct snd_soc_dapm_widget msm_qdsp6_widgets[] = { 0, 0, 0, 0), SND_SOC_DAPM_AIF_OUT("TX3_CDC_DMA_UL_HL", "TX3_CDC_DMA_HOSTLESS Capture", 0, 0, 0, 0), + SND_SOC_DAPM_AIF_OUT("TX4_CDC_DMA_UL_HL", + "TX4_CDC_DMA_HOSTLESS Capture", 0, 0, 0, 0), SND_SOC_DAPM_AIF_OUT("CPE_LSM_UL_HL", "CPE LSM capture", 0, 0, 0, 0), SND_SOC_DAPM_AIF_IN("SLIM1_DL_HL", "SLIMBUS1_HOSTLESS Playback", @@ -36129,6 +36131,7 @@ static const struct snd_soc_dapm_route intercon[] = { {"RX_CDC_DMA_RX_1_DL_HL", "Switch", "CDC_DMA_DL_HL"}, {"RX_CDC_DMA_RX_1", NULL, "RX_CDC_DMA_RX_1_DL_HL"}, {"TX3_CDC_DMA_UL_HL", NULL, "TX_CDC_DMA_TX_3"}, + {"TX4_CDC_DMA_UL_HL", NULL, "TX_CDC_DMA_TX_4"}, {"LSM1 Mixer", "SLIMBUS_0_TX", "SLIMBUS_0_TX"}, {"LSM1 Mixer", "SLIMBUS_1_TX", "SLIMBUS_1_TX"}, {"LSM1 Mixer", "SLIMBUS_3_TX", "SLIMBUS_3_TX"}, diff --git a/asoc/msm_bengal_dailink.h b/asoc/msm_bengal_dailink.h old mode 100644 new mode 100755 index c39a3c42d7bc..a901364964a2 --- a/asoc/msm_bengal_dailink.h +++ b/asoc/msm_bengal_dailink.h @@ -1,6 +1,7 @@ /* SPDX-License-Identifier: GPL-2.0-only */ /* * Copyright (c) 2020-2021, The Linux Foundation. All rights reserved. + * Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved. */ #include @@ -166,6 +167,11 @@ SND_SOC_DAILINK_DEFS(tx3_cdcdma_hostless, DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")), DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-hostless"))); +SND_SOC_DAILINK_DEFS(tx4_cdcdma_hostless, + DAILINK_COMP_ARRAY(COMP_CPU("TX4_CDC_DMA_HOSTLESS")), + DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-hostless"))); + SND_SOC_DAILINK_DEFS(tert_mi2s_tx_hostless, DAILINK_COMP_ARRAY(COMP_CPU("TERT_MI2S_TX_HOSTLESS")), DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")),