From 77b6d4fece595b53e02b8b631b223bbf8d2db80e Mon Sep 17 00:00:00 2001 From: Hexuan Zhu Date: Tue, 7 Dec 2021 08:27:03 +0800 Subject: [PATCH] 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 --- Makefile.am | 4 +- asoc/gvm_auto_spf_dummy.c | 177 ++++++++++++++++++++++++++++++++++++-- asoc/msm_dailink.h | 40 +++++++++ 3 files changed, 210 insertions(+), 11 deletions(-) mode change 100644 => 100755 Makefile.am mode change 100644 => 100755 asoc/gvm_auto_spf_dummy.c mode change 100644 => 100755 asoc/msm_dailink.h diff --git a/Makefile.am b/Makefile.am old mode 100644 new mode 100755 index 2b135ca2fefd..ccbb7a2c7aeb --- a/Makefile.am +++ b/Makefile.am @@ -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)) diff --git a/asoc/gvm_auto_spf_dummy.c b/asoc/gvm_auto_spf_dummy.c old mode 100644 new mode 100755 index aeb6184d47c6..e081007b221c --- a/asoc/gvm_auto_spf_dummy.c +++ b/asoc/gvm_auto_spf_dummy.c @@ -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) { diff --git a/asoc/msm_dailink.h b/asoc/msm_dailink.h old mode 100644 new mode 100755 index e68ef77e2d74..1cafb70abb91 --- a/asoc/msm_dailink.h +++ b/asoc/msm_dailink.h @@ -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")));