Merge "asoc: audio reach kernel bringup on 8255 GVM"

This commit is contained in:
qctecmdr 2022-09-14 23:58:21 -07:00 • committed by Gerrit - the friendly Code Review server
commit 36711408f2
3 changed files with 103 additions and 49 deletions

View file

@ -186,7 +186,7 @@ ifdef CONFIG_SND_SOC_SA8155
MACHINE_OBJS += sa8155.o
endif
# for gvmgh sound card driver
# for gvm sound card driver
ifdef CONFIG_SND_SOC_GVM_AUTO_SPF
SPF_MACHINE_OBJS += gvm_auto_spf_dummy.o
endif

View file

@ -324,7 +324,7 @@ static struct snd_soc_dai_link msm_common_dai_links[] = {
},
};
static struct snd_soc_dai_link msm_gvm8295_dai_links[] = {
static struct snd_soc_dai_link msm_gvm_auto_dai_links[] = {
/* BackEnd DAI Links */
{
.name = "PRI_TDM_RX_0_DUMMY",
@ -467,6 +467,26 @@ static struct snd_soc_dai_link msm_gvm8295_dai_links[] = {
SND_SOC_DAILINK_REG(sep_tdm_tx_0_dummy),
},
{
.name = "OCT_TDM_RX_0_DUMMY",
.stream_name = "TDM-LPAIF_WSA2-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(oct_tdm_rx_0_dummy),
},
{
.name = "OCT_TDM_TX_0_DUMMY",
.stream_name = "TDM-LPAIF_WSA2-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(oct_tdm_tx_0_dummy),
},
{
.name = "HS_IF0_TDM_RX_0_DUMMY",
.stream_name = "TDM-LPAIF_SDR-RX-PRIMARY",
.dpcm_playback = 1,
@ -526,6 +546,46 @@ static struct snd_soc_dai_link msm_gvm8295_dai_links[] = {
.ignore_pmdown_time = 1,
SND_SOC_DAILINK_REG(hs_if2_tdm_tx_0_dummy),
},
{
.name = "HS_IF3_TDM_RX_0",
.stream_name = "TDM-LPAIF_SDR-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(hs_if3_tdm_rx_0_dummy),
},
{
.name = "HS_IF3_TDM_TX_0",
.stream_name = "TDM-LPAIF_SDR-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(hs_if3_tdm_tx_0_dummy),
},
{
.name = "HS_IF4_TDM_RX_0",
.stream_name = "TDM-LPAIF_SDR-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(hs_if4_tdm_rx_0_dummy),
},
{
.name = "HS_IF4_TDM_TX_0",
.stream_name = "TDM-LPAIF_SDR-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(hs_if4_tdm_tx_0_dummy),
},
};
static struct snd_soc_dai_link msm_talos_dai_links[] = {
@ -632,17 +692,7 @@ static struct snd_soc_dai_link msm_talos_dai_links[] = {
},
};
struct snd_soc_card snd_soc_card_auto_hana_dummy_msm = {
.name = "gvmauto-8155-snd-card",
};
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",
};
struct snd_soc_card snd_soc_card_gvm_auto_dummy_msm;
static int msm_populate_dai_link_component_of_node(
struct snd_soc_card *card)
@ -751,21 +801,11 @@ static const struct of_device_id gvm_asoc_machine_of_match[] = {
.data = "adp_star_codec"},
{},
};
static struct snd_soc_dai_link msm_auto_dai_links[
ARRAY_SIZE(msm_common_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;
struct snd_soc_dai_link *dailink;
int total_links;
const struct of_device_id *match;
const struct of_device_id *match = NULL;
match = of_match_node(gvm_asoc_machine_of_match, dev->of_node);
if (!match) {
@ -774,34 +814,18 @@ static struct snd_soc_card *populate_snd_card_dailinks(struct device *dev)
return NULL;
}
card = &snd_soc_card_gvm_auto_dummy_msm;
if (!strcmp(match->compatible, "qcom,8155-spf-asoc-snd-adp-star")) {
card = &snd_soc_card_auto_hana_dummy_msm;
total_links = ARRAY_SIZE(msm_common_dai_links);
memcpy(msm_auto_dai_links,
msm_common_dai_links,
sizeof(msm_common_dai_links));
dailink = msm_auto_dai_links;
card->dai_link = msm_common_dai_links;
card->num_links = ARRAY_SIZE(msm_common_dai_links);
} else if (!strcmp(match->compatible, "qcom,6155-spf-asoc-snd-adp-star")) {
card = &snd_soc_card_auto_talos_dummy_msm;
total_links = ARRAY_SIZE(msm_talos_dai_links);
memcpy(msm_auto_talos_dai_links,
msm_talos_dai_links,
sizeof(msm_talos_dai_links));
dailink = msm_auto_talos_dai_links;
card->dai_link = msm_talos_dai_links;
card->num_links = ARRAY_SIZE(msm_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) {
card->dai_link = dailink;
card->num_links = total_links;
}
card->dai_link = msm_gvm_auto_dai_links;
card->num_links = ARRAY_SIZE(msm_gvm_auto_dai_links);
}
return card;
}

View file

@ -1392,6 +1392,16 @@ SND_SOC_DAILINK_DEFS(sep_tdm_tx_0_dummy,
DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-tx")),
DAILINK_COMP_ARRAY(COMP_PLATFORM("snd-soc-dummy")));
SND_SOC_DAILINK_DEFS(oct_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(oct_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(hs_if0_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")),
@ -1422,6 +1432,26 @@ SND_SOC_DAILINK_DEFS(hs_if2_tdm_tx_0_dummy,
DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-tx")),
DAILINK_COMP_ARRAY(COMP_PLATFORM("snd-soc-dummy")));
SND_SOC_DAILINK_DEFS(hs_if3_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(hs_if3_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(hs_if4_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(hs_if4_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")),