mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-07 20:33:58 -04:00
audio-kernel: lvgvm 8295 related file modify
Add qtigvmi3 in makefile and add snd card prob for lvgvm Change-Id: Ia7de956a4495f985623d15916bb2df665b77446b Signed-off-by: Hexuan Zhu <quic_hexuzhu@quicinc.com>
This commit is contained in:
parent
5d67c58cf7
commit
77b6d4fece
3 changed files with 210 additions and 11 deletions
4
Makefile.am
Normal file → Executable file
4
Makefile.am
Normal file → Executable file
|
|
@ -43,7 +43,7 @@ obj-m += asoc/codecs/bolero/
|
|||
obj-m += asoc/codecs/wcd937x/
|
||||
endif
|
||||
|
||||
ifeq ($(TARGET_SUPPORT), $(filter $(TARGET_SUPPORT), sa8155 sa8155ivi sa6155 sa8195 qtiquingvm qtiquingvm8295 sa8295))
|
||||
ifeq ($(TARGET_SUPPORT), $(filter $(TARGET_SUPPORT), sa8155 sa8155ivi sa6155 sa8195 qtiquingvm qtiquingvm8295 sa8295 qtigvmi3))
|
||||
KBUILD_OPTIONS += CONFIG_SND_SOC_AUTO=y
|
||||
obj-m := ipc/
|
||||
obj-m += dsp/
|
||||
|
|
@ -56,7 +56,7 @@ endif
|
|||
ifeq ($(TARGET_SUPPORT), $(filter $(TARGET_SUPPORT), sa6155))
|
||||
KBUILD_OPTIONS += CONFIG_SND_SOC_SA6155=m
|
||||
endif
|
||||
ifeq ($(TARGET_SUPPORT), $(filter $(TARGET_SUPPORT), qtiquingvm))
|
||||
ifeq ($(TARGET_SUPPORT), $(filter $(TARGET_SUPPORT), qtiquingvm qtigvmi3))
|
||||
KBUILD_OPTIONS += CONFIG_SND_SOC_GVM=m
|
||||
endif
|
||||
ifeq ($(TARGET_SUPPORT), $(filter $(TARGET_SUPPORT), qtiquingvm8295))
|
||||
|
|
|
|||
177
asoc/gvm_auto_spf_dummy.c
Normal file → Executable file
177
asoc/gvm_auto_spf_dummy.c
Normal file → Executable file
|
|
@ -280,6 +280,150 @@ static struct snd_soc_dai_link msm_common_dai_links[] = {
|
|||
},
|
||||
};
|
||||
|
||||
static struct snd_soc_dai_link msm_gvm8295_dai_links[] = {
|
||||
/* BackEnd DAI Links */
|
||||
{
|
||||
.name = "PRI_TDM_RX_0_DUMMY",
|
||||
.stream_name = "TDM-LPAIF-RX-PRIMARY",
|
||||
.dpcm_playback = 1,
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_POST,
|
||||
SND_SOC_DPCM_TRIGGER_POST},
|
||||
.ignore_suspend = 1,
|
||||
.ignore_pmdown_time = 1,
|
||||
SND_SOC_DAILINK_REG(primary_tdm_rx_0_dummy),
|
||||
},
|
||||
{
|
||||
.name = "PRI_TDM_TX_0_DUMMY",
|
||||
.stream_name = "TDM-LPAIF-TX-PRIMARY",
|
||||
.dpcm_capture = 1,
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_POST,
|
||||
SND_SOC_DPCM_TRIGGER_POST},
|
||||
.ignore_suspend = 1,
|
||||
.ignore_pmdown_time = 1,
|
||||
SND_SOC_DAILINK_REG(primary_tdm_tx_0_dummy),
|
||||
},
|
||||
{
|
||||
.name = "SEC_TDM_RX_0_DUMMY",
|
||||
.stream_name = "TDM-LPAIF-RX-SECONDARY",
|
||||
.dpcm_playback = 1,
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_POST,
|
||||
SND_SOC_DPCM_TRIGGER_POST},
|
||||
.ignore_suspend = 1,
|
||||
.ignore_pmdown_time = 1,
|
||||
SND_SOC_DAILINK_REG(secondary_tdm_rx_0_dummy),
|
||||
},
|
||||
{
|
||||
.name = "SEC_TDM_TX_0_DUMMY",
|
||||
.stream_name = "TDM-LPAIF-TX-SECONDARY",
|
||||
.dpcm_capture = 1,
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_POST,
|
||||
SND_SOC_DPCM_TRIGGER_POST},
|
||||
.ignore_suspend = 1,
|
||||
.ignore_pmdown_time = 1,
|
||||
SND_SOC_DAILINK_REG(secondary_tdm_tx_0_dummy),
|
||||
},
|
||||
{
|
||||
.name = "TERT_TDM_RX_0_DUMMY",
|
||||
.stream_name = "TDM-LPAIF-RX-TERTIARY",
|
||||
.dpcm_playback = 1,
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_POST,
|
||||
SND_SOC_DPCM_TRIGGER_POST},
|
||||
.ignore_suspend = 1,
|
||||
.ignore_pmdown_time = 1,
|
||||
SND_SOC_DAILINK_REG(tert_tdm_rx_0_dummy),
|
||||
},
|
||||
{
|
||||
.name = "TERT_TDM_TX_0_DUMMY",
|
||||
.stream_name = "TDM-LPAIF-TX-TERTIARY",
|
||||
.dpcm_capture = 1,
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_POST,
|
||||
SND_SOC_DPCM_TRIGGER_POST},
|
||||
.ignore_suspend = 1,
|
||||
.ignore_pmdown_time = 1,
|
||||
SND_SOC_DAILINK_REG(tert_tdm_tx_0_dummy),
|
||||
},
|
||||
{
|
||||
.name = "QUAT_TDM_RX_0_DUMMY",
|
||||
.stream_name = "TDM-LPAIF-RX-QUATERNARY",
|
||||
.dpcm_playback = 1,
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_POST,
|
||||
SND_SOC_DPCM_TRIGGER_POST},
|
||||
.ignore_suspend = 1,
|
||||
.ignore_pmdown_time = 1,
|
||||
SND_SOC_DAILINK_REG(quat_tdm_rx_0_dummy),
|
||||
},
|
||||
{
|
||||
.name = "QUAT_TDM_TX_0_DUMMY",
|
||||
.stream_name = "TDM-LPAIF-TX-QUATERNARY",
|
||||
.dpcm_capture = 1,
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_POST,
|
||||
SND_SOC_DPCM_TRIGGER_POST},
|
||||
.ignore_suspend = 1,
|
||||
.ignore_pmdown_time = 1,
|
||||
SND_SOC_DAILINK_REG(quat_tdm_tx_0_dummy),
|
||||
},
|
||||
{
|
||||
.name = "QUIN_TDM_RX_0_DUMMY",
|
||||
.stream_name = "TDM-LPAIF-RX-QUINARY",
|
||||
.dpcm_playback = 1,
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_POST,
|
||||
SND_SOC_DPCM_TRIGGER_POST},
|
||||
.ignore_suspend = 1,
|
||||
.ignore_pmdown_time = 1,
|
||||
SND_SOC_DAILINK_REG(quin_tdm_rx_0_dummy),
|
||||
},
|
||||
{
|
||||
.name = "QUIN_TDM_TX_0_DUMMY",
|
||||
.stream_name = "TDM-LPAIF-TX-QUINARY",
|
||||
.dpcm_capture = 1,
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_POST,
|
||||
SND_SOC_DPCM_TRIGGER_POST},
|
||||
.ignore_suspend = 1,
|
||||
.ignore_pmdown_time = 1,
|
||||
SND_SOC_DAILINK_REG(quin_tdm_tx_0_dummy),
|
||||
},
|
||||
{
|
||||
.name = "SEN_TDM_RX_0_DUMMY",
|
||||
.stream_name = "TDM-LPAIF-RX-SENARY",
|
||||
.dpcm_playback = 1,
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_POST,
|
||||
SND_SOC_DPCM_TRIGGER_POST},
|
||||
.ignore_suspend = 1,
|
||||
.ignore_pmdown_time = 1,
|
||||
SND_SOC_DAILINK_REG(sen_tdm_rx_0_dummy),
|
||||
},
|
||||
{
|
||||
.name = "SEN_TDM_TX_0_DUMMY",
|
||||
.stream_name = "TDM-LPAIF-TX-SENARY",
|
||||
.dpcm_capture = 1,
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_POST,
|
||||
SND_SOC_DPCM_TRIGGER_POST},
|
||||
.ignore_suspend = 1,
|
||||
.ignore_pmdown_time = 1,
|
||||
SND_SOC_DAILINK_REG(sen_tdm_tx_0_dummy),
|
||||
},
|
||||
{
|
||||
.name = "SEP_TDM_RX_0_DUMMY",
|
||||
.stream_name = "TDM-LPAIF-RX-SEPTENARY",
|
||||
.dpcm_playback = 1,
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_POST,
|
||||
SND_SOC_DPCM_TRIGGER_POST},
|
||||
.ignore_suspend = 1,
|
||||
.ignore_pmdown_time = 1,
|
||||
SND_SOC_DAILINK_REG(sep_tdm_rx_0_dummy),
|
||||
},
|
||||
{
|
||||
.name = "SEP_TDM_TX_0_DUMMY",
|
||||
.stream_name = "TDM-LPAIF-TX-SEPTENARY",
|
||||
.dpcm_capture = 1,
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_POST,
|
||||
SND_SOC_DPCM_TRIGGER_POST},
|
||||
.ignore_suspend = 1,
|
||||
.ignore_pmdown_time = 1,
|
||||
SND_SOC_DAILINK_REG(sep_tdm_tx_0_dummy),
|
||||
},
|
||||
};
|
||||
|
||||
static struct snd_soc_dai_link msm_talos_dai_links[] = {
|
||||
/* BackEnd DAI Links */
|
||||
{
|
||||
|
|
@ -352,6 +496,10 @@ struct snd_soc_card snd_soc_card_auto_talos_dummy_msm = {
|
|||
.name = "gvmauto-6155-snd-card",
|
||||
};
|
||||
|
||||
struct snd_soc_card snd_soc_card_auto_makena_dummy_msm = {
|
||||
.name = "gvmauto-8295-snd-card",
|
||||
};
|
||||
|
||||
static int msm_populate_dai_link_component_of_node(
|
||||
struct snd_soc_card *card)
|
||||
{
|
||||
|
|
@ -370,9 +518,9 @@ static int msm_populate_dai_link_component_of_node(
|
|||
continue;
|
||||
|
||||
/* populate platform_of_node for snd card dai links Skip this part for dummy snd card*/
|
||||
if(0) {
|
||||
if (dai_link[i].platforms->name &&
|
||||
!dai_link[i].platforms->of_node) {
|
||||
if(0) {
|
||||
if (dai_link[i].platforms->name &&
|
||||
!dai_link[i].platforms->of_node) {
|
||||
index = of_property_match_string(cdev->of_node,
|
||||
"asoc-platform-names",
|
||||
dai_link[i].platforms->name);
|
||||
|
|
@ -393,7 +541,7 @@ static int msm_populate_dai_link_component_of_node(
|
|||
}
|
||||
dai_link[i].platforms->of_node = np;
|
||||
dai_link[i].platforms->name = NULL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* populate cpu_of_node for snd card dai links */
|
||||
|
|
@ -401,7 +549,7 @@ static int msm_populate_dai_link_component_of_node(
|
|||
index = of_property_match_string(cdev->of_node,
|
||||
"asoc-cpu-names",
|
||||
dai_link[i].cpus->dai_name);
|
||||
pr_err("%s: retrieving cpu_of_node for %s\n",
|
||||
pr_err("%s: retrieving cpu_of_node for %s\n",
|
||||
__func__,
|
||||
dai_link[i].cpus->dai_name);
|
||||
if (index >= 0) {
|
||||
|
|
@ -452,10 +600,12 @@ err:
|
|||
|
||||
static const struct of_device_id gvm_asoc_machine_of_match[] = {
|
||||
{ .compatible = "qcom,8155-spf-asoc-snd-adp-star",
|
||||
.data = "adp_star_codec"},
|
||||
.data = "adp_star_codec"},
|
||||
{ .compatible = "qcom,6155-spf-asoc-snd-adp-star",
|
||||
.data = "adp_star_codec"},
|
||||
{},
|
||||
.data = "adp_star_codec"},
|
||||
{ .compatible = "qcom,gvm-auto-spf-asoc-snd-adp-star",
|
||||
.data = "adp_star_codec"},
|
||||
{},
|
||||
};
|
||||
static struct snd_soc_dai_link msm_auto_dai_links[
|
||||
ARRAY_SIZE(msm_common_dai_links)];
|
||||
|
|
@ -463,6 +613,9 @@ static struct snd_soc_dai_link msm_auto_dai_links[
|
|||
static struct snd_soc_dai_link msm_auto_talos_dai_links[
|
||||
ARRAY_SIZE(msm_talos_dai_links)];
|
||||
|
||||
static struct snd_soc_dai_link msm_auto_gvm8295_dai_links[
|
||||
ARRAY_SIZE(msm_gvm8295_dai_links)];
|
||||
|
||||
static struct snd_soc_card *populate_snd_card_dailinks(struct device *dev)
|
||||
{
|
||||
struct snd_soc_card *card = NULL;
|
||||
|
|
@ -491,8 +644,14 @@ static struct snd_soc_card *populate_snd_card_dailinks(struct device *dev)
|
|||
memcpy(msm_auto_talos_dai_links,
|
||||
msm_talos_dai_links,
|
||||
sizeof(msm_talos_dai_links));
|
||||
|
||||
dailink = msm_auto_talos_dai_links;
|
||||
} else if (!strcmp(match->compatible, "qcom,gvm-auto-spf-asoc-snd-adp-star")) {
|
||||
card = &snd_soc_card_auto_makena_dummy_msm;
|
||||
total_links = ARRAY_SIZE(msm_gvm8295_dai_links);
|
||||
memcpy(msm_auto_gvm8295_dai_links,
|
||||
msm_gvm8295_dai_links,
|
||||
sizeof(msm_gvm8295_dai_links));
|
||||
dailink = msm_auto_gvm8295_dai_links;
|
||||
}
|
||||
|
||||
if (card) {
|
||||
|
|
|
|||
40
asoc/msm_dailink.h
Normal file → Executable file
40
asoc/msm_dailink.h
Normal file → Executable file
|
|
@ -1344,3 +1344,43 @@ SND_SOC_DAILINK_DEFS(primary_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(secondary_tdm_rx_0_dummy,
|
||||
DAILINK_COMP_ARRAY(COMP_CPU("snd-soc-dummy-dai")),
|
||||
DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-rx")),
|
||||
DAILINK_COMP_ARRAY(COMP_PLATFORM("snd-soc-dummy")));
|
||||
|
||||
SND_SOC_DAILINK_DEFS(secondary_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(quin_tdm_rx_0_dummy,
|
||||
DAILINK_COMP_ARRAY(COMP_CPU("snd-soc-dummy-dai")),
|
||||
DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-rx")),
|
||||
DAILINK_COMP_ARRAY(COMP_PLATFORM("snd-soc-dummy")));
|
||||
|
||||
SND_SOC_DAILINK_DEFS(quin_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(sen_tdm_rx_0_dummy,
|
||||
DAILINK_COMP_ARRAY(COMP_CPU("snd-soc-dummy-dai")),
|
||||
DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-rx")),
|
||||
DAILINK_COMP_ARRAY(COMP_PLATFORM("snd-soc-dummy")));
|
||||
|
||||
SND_SOC_DAILINK_DEFS(sen_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(sep_tdm_rx_0_dummy,
|
||||
DAILINK_COMP_ARRAY(COMP_CPU("snd-soc-dummy-dai")),
|
||||
DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-rx")),
|
||||
DAILINK_COMP_ARRAY(COMP_PLATFORM("snd-soc-dummy")));
|
||||
|
||||
SND_SOC_DAILINK_DEFS(sep_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")));
|
||||
|
|
|
|||
Loading…
Reference in a new issue