ASoC: msm: add support for VI sense recording

Add new routing dailink to support VI recording using
DAI of Slimbus4 Capture.

CRs-Fixed: 1113625
Change-Id: I75282bd39a7299a9906ac38907e93e359403c077
Signed-off-by: Xiaojun Sang <xsang@codeaurora.org>
This commit is contained in:
Xiaojun Sang 2017-02-13 15:53:52 +08:00 committed by Gerrit - the friendly Code Review server
parent c563e4e88f
commit 3053c8faea
3 changed files with 36 additions and 0 deletions

View file

@ -5722,6 +5722,22 @@ static struct snd_soc_dai_link msm_tasha_be_dai_links[] = {
.ignore_pmdown_time = 1,
.ignore_suspend = 1,
},
/* Slimbus VI Recording */
{
.name = LPASS_BE_SLIMBUS_TX_VI,
.stream_name = "Slimbus4 Capture",
.cpu_dai_name = "msm-dai-q6-dev.16393",
.platform_name = "msm-pcm-routing",
.codec_name = "tasha_codec",
.codec_dai_name = "tasha_vifeedback",
.be_id = MSM_BACKEND_DAI_SLIMBUS_4_TX,
.be_hw_params_fixup = msm_be_hw_params_fixup,
.ops = &msm_be_ops,
.ignore_suspend = 1,
.no_pcm = 1,
.dpcm_capture = 1,
.ignore_pmdown_time = 1,
},
};
static struct snd_soc_dai_link msm_tavil_be_dai_links[] = {
@ -5894,6 +5910,22 @@ static struct snd_soc_dai_link msm_tavil_be_dai_links[] = {
.ignore_pmdown_time = 1,
.ignore_suspend = 1,
},
/* Slimbus VI Recording */
{
.name = LPASS_BE_SLIMBUS_TX_VI,
.stream_name = "Slimbus4 Capture",
.cpu_dai_name = "msm-dai-q6-dev.16393",
.platform_name = "msm-pcm-routing",
.codec_name = "tavil_codec",
.codec_dai_name = "tavil_vifeedback",
.be_id = MSM_BACKEND_DAI_SLIMBUS_4_TX,
.be_hw_params_fixup = msm_be_hw_params_fixup,
.ops = &msm_be_ops,
.ignore_suspend = 1,
.no_pcm = 1,
.dpcm_capture = 1,
.ignore_pmdown_time = 1,
},
};
static struct snd_soc_dai_link msm_wcn_be_dai_links[] = {

View file

@ -143,6 +143,9 @@ static int msm_routing_get_bit_width(unsigned int format)
int bit_width;
switch (format) {
case SNDRV_PCM_FORMAT_S32_LE:
bit_width = 32;
break;
case SNDRV_PCM_FORMAT_S24_LE:
case SNDRV_PCM_FORMAT_S24_3LE:
bit_width = 24;

View file

@ -70,6 +70,7 @@
#define LPASS_BE_SLIMBUS_3_TX "SLIMBUS_3_TX"
#define LPASS_BE_SLIMBUS_4_RX "SLIMBUS_4_RX"
#define LPASS_BE_SLIMBUS_4_TX "SLIMBUS_4_TX"
#define LPASS_BE_SLIMBUS_TX_VI "SLIMBUS_TX_VI"
#define LPASS_BE_SLIMBUS_5_RX "SLIMBUS_5_RX"
#define LPASS_BE_SLIMBUS_5_TX "SLIMBUS_5_TX"
#define LPASS_BE_SLIMBUS_6_RX "SLIMBUS_6_RX"