Merge "ASoC: optimize automotive routing drivers"

This commit is contained in:
qctecmdr 2022-04-01 03:51:38 -07:00 • committed by Gerrit - the friendly Code Review server
commit 9c2238e1ab
6 changed files with 33432 additions and 10 deletions

View file

@ -210,11 +210,19 @@ ifdef CONFIG_SND_SOC_QDSP6V2
PLATFORM_OBJS += msm-pcm-loopback-v2.o
PLATFORM_OBJS += msm-pcm-q6-noirq.o
PLATFORM_OBJS += msm-pcm-q6-v2.o
PLATFORM_OBJS += msm-pcm-routing-v2.o
PLATFORM_OBJS += msm-pcm-voice-v2.o
PLATFORM_OBJS += msm-pcm-voip-v2.o
ifeq (y,$(findstring y,$(CONFIG_QTI_QUIN_GVM) $(CONFIG_PLATFORM_AUTO)))
PLATFORM_OBJS += msm-pcm-routing-auto.o
else
PLATFORM_OBJS += msm-pcm-routing-v2.o
PLATFORM_OBJS += msm-pcm-voice-v2.o
PLATFORM_OBJS += msm-pcm-voip-v2.o
endif
PLATFORM_OBJS += msm-transcode-loopback-q6-v2.o
PLATFORM_OBJS += platform_init.o
ifeq (y,$(findstring y,$(CONFIG_QTI_QUIN_GVM) $(CONFIG_PLATFORM_AUTO)))
PLATFORM_OBJS += platform_init_auto.o
else
PLATFORM_OBJS += platform_init.o
endif
endif
ifdef CONFIG_WCD9XXX_CODEC_CORE
PLATFORM_OBJS += msm-dai-slim.o

33341
asoc/msm-pcm-routing-auto.c Executable file

File diff suppressed because it is too large Load diff

16
asoc/msm_dailink.h Executable file → Normal file
View file

@ -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 <sound/soc.h>
@ -1414,3 +1415,18 @@ SND_SOC_DAILINK_DEFS(hs_if2_tdm_tx_0_dummy,
DAILINK_COMP_ARRAY(COMP_CPU("snd-soc-dummy-dai")),
DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-tx")),
DAILINK_COMP_ARRAY(COMP_PLATFORM("snd-soc-dummy")));
SND_SOC_DAILINK_DEFS(voicemmode1_hostless,
DAILINK_COMP_ARRAY(COMP_CPU("VoiceMMode1")),
DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")),
DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-hostless")));
SND_SOC_DAILINK_DEFS(msmvoip_hostless,
DAILINK_COMP_ARRAY(COMP_CPU("VoIP")),
DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")),
DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-hostless")));
SND_SOC_DAILINK_DEFS(voicemmode2_hostless,
DAILINK_COMP_ARRAY(COMP_CPU("VoiceMMode2")),
DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")),
DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-hostless")));

57
asoc/platform_init_auto.c Normal file
View file

@ -0,0 +1,57 @@
// SPDX-License-Identifier: GPL-2.0-only
/*
* Copyright (c) 2017 The Linux Foundation. All rights reserved.
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
*/
#include <linux/kernel.h>
#include <linux/module.h>
#include "platform_init.h"
static int __init audio_platform_init(void)
{
msm_compress_dsp_init();
msm_fe_dai_init();
msm_dai_q6_hdmi_init();
msm_dai_q6_init();
msm_dai_slim_init();
msm_dai_stub_init();
msm_lsm_client_init();
msm_pcm_afe_init();
msm_pcm_dtmf_init();
msm_pcm_hostless_init();
msm_voice_host_init();
msm_pcm_loopback_init();
msm_pcm_noirq_init();
msm_pcm_dsp_init();
msm_soc_routing_platform_init();
msm_transcode_loopback_init();
return 0;
}
static void audio_platform_exit(void)
{
msm_transcode_loopback_exit();
msm_soc_routing_platform_exit();
msm_pcm_dsp_exit();
msm_pcm_noirq_exit();
msm_pcm_loopback_exit();
msm_voice_host_exit();
msm_pcm_hostless_exit();
msm_pcm_dtmf_exit();
msm_pcm_afe_exit();
msm_lsm_client_exit();
msm_dai_stub_exit();
msm_dai_slim_exit();
msm_dai_q6_exit();
msm_dai_q6_hdmi_exit();
msm_fe_dai_exit();
msm_compress_dsp_exit();
}
module_init(audio_platform_init);
module_exit(audio_platform_exit);
MODULE_DESCRIPTION("Audio Platform driver");
MODULE_LICENSE("GPL v2");

6
asoc/sa6155.c Executable file → Normal file
View file

@ -5168,7 +5168,7 @@ static struct snd_soc_dai_link msm_common_dai_links[] = {
.ignore_suspend = 1,
.ignore_pmdown_time = 1,
.id = MSM_FRONTEND_DAI_VOICEMMODE1,
SND_SOC_DAILINK_REG(voicemmode1),
SND_SOC_DAILINK_REG(voicemmode1_hostless),
},
{
.name = "MSM VoIP",
@ -5182,7 +5182,7 @@ static struct snd_soc_dai_link msm_common_dai_links[] = {
/* this dainlink has playback support */
.ignore_pmdown_time = 1,
.id = MSM_FRONTEND_DAI_VOIP,
SND_SOC_DAILINK_REG(msmvoip),
SND_SOC_DAILINK_REG(msmvoip_hostless),
},
{
.name = MSM_DAILINK_NAME(ULL),
@ -5350,7 +5350,7 @@ static struct snd_soc_dai_link msm_common_dai_links[] = {
.ignore_suspend = 1,
.ignore_pmdown_time = 1,
.id = MSM_FRONTEND_DAI_VOICEMMODE2,
SND_SOC_DAILINK_REG(voicemmode2),
SND_SOC_DAILINK_REG(voicemmode2_hostless),
},
/* LSM FE */
{

View file

@ -7558,7 +7558,7 @@ static struct snd_soc_dai_link msm_common_dai_links[] = {
.ignore_suspend = 1,
.ignore_pmdown_time = 1,
.id = MSM_FRONTEND_DAI_VOICEMMODE1,
SND_SOC_DAILINK_REG(voicemmode1),
SND_SOC_DAILINK_REG(voicemmode1_hostless),
},
{
.name = "MSM VoIP",
@ -7572,7 +7572,7 @@ static struct snd_soc_dai_link msm_common_dai_links[] = {
/* this dainlink has playback support */
.ignore_pmdown_time = 1,
.id = MSM_FRONTEND_DAI_VOIP,
SND_SOC_DAILINK_REG(msmvoip),
SND_SOC_DAILINK_REG(msmvoip_hostless),
},
{
.name = MSM_DAILINK_NAME(ULL),
@ -7740,7 +7740,7 @@ static struct snd_soc_dai_link msm_common_dai_links[] = {
.ignore_suspend = 1,
.ignore_pmdown_time = 1,
.id = MSM_FRONTEND_DAI_VOICEMMODE2,
SND_SOC_DAILINK_REG(voicemmode2),
SND_SOC_DAILINK_REG(voicemmode2_hostless),
},
/* LSM FE */
{