diff options
author | Matt Delmage <mdelmage@google.com> | 2023-02-24 22:34:56 +0000 |
---|---|---|
committer | Florian Muller <mullerf@google.com> | 2023-02-24 22:37:06 +0000 |
commit | ee82c06079f2fbece92eeee85671783d9ff9e862 (patch) | |
tree | ddbb0bede5e09970e404145ae86b976d88e97734 | |
parent | a1dd9d5a946a9deb91b258a259360f2ec283d8a6 (diff) | |
download | msm-extra-ee82c06079f2fbece92eeee85671783d9ff9e862.tar.gz |
Revert^2 "audio: Add I2S support for haptics"
This reverts commit a1dd9d5a946a9deb91b258a259360f2ec283d8a6.
Reason for revert: Underlying audio issue (haptics firmware too old) has been resolved. I2S haptics support is now safe to re-enable.
Change-Id: I36abd7569a735d30678bdc6999b1379034a11323
-rw-r--r-- | asoc/monaco.c | 41 | ||||
-rwxr-xr-x | asoc/msm_monaco_dailink.h | 5 |
2 files changed, 46 insertions, 0 deletions
diff --git a/asoc/monaco.c b/asoc/monaco.c index d0c4bf50..047a8f65 100644 --- a/asoc/monaco.c +++ b/asoc/monaco.c @@ -57,6 +57,11 @@ #undef LPASS_BE_QUAT_TDM_TX_0 #define LPASS_BE_QUAT_TDM_TX_0 "TDM-LPAIF_RXTX-TX-PRIMARY" #endif + +#ifdef LPASS_BE_SEC_MI2S_RX +#undef LPASS_BE_SEC_MI2S_RX +#define LPASS_BE_SEC_MI2S_RX "MI2S-LPAIF_AUD-RX-PRIMARY" +#endif #endif #ifdef LPASS_BE_PRI_MI2S_TX @@ -146,6 +151,10 @@ static int get_intf_index(const char *stream_name) return PRI_MI2S_TDM_AUXPCM; else if (strnstr(stream_name, "LPAIF_RXTX", strlen(stream_name))) return QUAT_MI2S_TDM_AUXPCM; +#ifdef CONFIG_GOOGLE_EOS_AUDIO + else if (strnstr(stream_name, "LPAIF_AUD", strlen(stream_name))) + return SEC_MI2S_TDM_AUXPCM; +#endif else { pr_debug("%s: stream name %s does not match\n", __func__, stream_name); return -EINVAL; @@ -933,6 +942,22 @@ static struct snd_soc_dai_link msm_pri_mi2s_be_dai_links[] = { }, }; +#ifdef CONFIG_GOOGLE_EOS_AUDIO +static struct snd_soc_dai_link msm_haptics_be_dai_links[] = { + { + .name = LPASS_BE_SEC_MI2S_RX, + .stream_name = LPASS_BE_SEC_MI2S_RX, + .playback_only = 1, + .trigger = {SND_SOC_DPCM_TRIGGER_POST, + SND_SOC_DPCM_TRIGGER_POST}, + .ignore_pmdown_time = 1, + .ignore_suspend = 1, + .ops = &msm_common_be_ops, + SND_SOC_DAILINK_REG(sec_mi2s_rx), + }, +}; +#endif + static struct snd_soc_dai_link msm_pri_tdm_be_dai_links[] = { { .name = LPASS_BE_PRI_TDM_TX_0, @@ -977,6 +1002,9 @@ static struct snd_soc_dai_link msm_monaco_dai_links[ ARRAY_SIZE(msm_mi2s_be_dai_links) + ARRAY_SIZE(msm_wcn_be_dai_links) + ARRAY_SIZE(msm_pri_mi2s_be_dai_links) + +#ifdef CONFIG_GOOGLE_EOS_AUDIO + ARRAY_SIZE(msm_haptics_be_dai_links) + +#endif ARRAY_SIZE(msm_pri_tdm_be_dai_links) ]; @@ -1070,6 +1098,19 @@ static struct snd_soc_card *populate_snd_card_dailinks(struct device *dev) total_links += ARRAY_SIZE(msm_pri_mi2s_be_dai_links); } +#ifdef CONFIG_GOOGLE_EOS_AUDIO + rc = of_property_read_u32(dev->of_node, + "qcom,cs40l26-codec", &val); + if (!rc && val) { + dev_dbg(dev, "%s(): CS40L26 codec support present\n", + __func__); + memcpy(msm_monaco_dai_links + total_links, + msm_haptics_be_dai_links, + sizeof(msm_haptics_be_dai_links)); + total_links += ARRAY_SIZE(msm_haptics_be_dai_links); + } +#endif + rc = of_property_read_u32(dev->of_node, "qcom,tdm-audio-intf", &val); if (!rc && val) { diff --git a/asoc/msm_monaco_dailink.h b/asoc/msm_monaco_dailink.h index 8302dff2..2b09bc07 100755 --- a/asoc/msm_monaco_dailink.h +++ b/asoc/msm_monaco_dailink.h @@ -145,4 +145,9 @@ SND_SOC_DAILINK_DEFS(quat_tdm_tx_0, DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-tx"), COMP_CODEC("mcu_mic_codec", "mcu_mic_codec_dai")), DAILINK_COMP_ARRAY(COMP_PLATFORM("snd-soc-dummy"))); + +SND_SOC_DAILINK_DEFS(sec_mi2s_rx, + DAILINK_COMP_ARRAY(COMP_CPU("snd-soc-dummy-dai")), + DAILINK_COMP_ARRAY(COMP_CODEC("cs40l26-codec.2.auto", "cs40l26-pcm")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("snd-soc-dummy"))); #endif |