diff --git a/Makefile.am b/Makefile.am index d3719d9805..475103a3cd 100644 --- a/Makefile.am +++ b/Makefile.am @@ -18,6 +18,8 @@ ifeq ($(TARGET_SUPPORT), sdmsteppe) KBUILD_OPTIONS += CONFIG_ARCH_SM6150=y endif +subdir-ccflags-y += -I$(AUDIO_ROOT)/include/uapi/ + obj-m := ipc/ obj-m += dsp/ obj-m += dsp/codecs/ @@ -51,6 +53,10 @@ KBUILD_OPTIONS += CONFIG_SND_SOC_SA6155=m endif endif +define PROCESS_HEADERS + $(foreach name,$(1),$(shell cd $(KERNEL_BINARY_DIR) && $(KERNEL_SRC)/scripts/headers_install.sh $(2)$(name) $(3)$(name))) +endef + all: $(shell rm -fr $(shell pwd)/soc/core.h) $(shell ln -s $(KERNEL_SRC)/drivers/pinctrl/core.h $(shell pwd)/soc/core.h) @@ -62,15 +68,17 @@ all: $(shell mkdir $(shell pwd)/sound) $(shell mkdir $(shell pwd)/linux/mfd) $(shell mkdir $(shell pwd)/linux/mfd/wcd9xxx) - $(shell cd $(KERNEL_BINARY_DIR) && $(KERNEL_SRC)/scripts/headers_install.sh $(UAPI_OUT)/linux/ $(AUDIO_ROOT)/include/uapi/audio/linux/ $(notdir $(AUDIO_KERNEL_HEADERS_PATH1))) - $(shell cd $(KERNEL_BINARY_DIR) && $(KERNEL_SRC)/scripts/headers_install.sh $(UAPI_OUT)/linux/mfd/wcd9xxx/ $(AUDIO_ROOT)/include/uapi/audio/linux/mfd/wcd9xxx/ $(notdir $(AUDIO_KERNEL_HEADERS_PATH2))) - $(shell cd $(KERNEL_BINARY_DIR) && $(KERNEL_SRC)/scripts/headers_install.sh $(UAPI_OUT)/sound/ $(AUDIO_ROOT)/include/uapi/audio/sound/ $(notdir $(AUDIO_KERNEL_HEADERS_PATH3))) - $(shell mkdir $(KERNEL_BINARY_DIR)/usr/include/sound) - $(shell mkdir $(KERNEL_BINARY_DIR)/usr/include/linux/mfd) - $(shell mkdir $(KERNEL_BINARY_DIR)/usr/include/linux/mfd/wcd9xxx) - $(shell cd $(KERNEL_BINARY_DIR) && $(KERNEL_SRC)/scripts/headers_install.sh $(KERNEL_BINARY_DIR)/usr/include/linux/ $(AUDIO_ROOT)/include/uapi/audio/linux/ $(notdir $(AUDIO_KERNEL_HEADERS_PATH1))) - $(shell cd $(KERNEL_BINARY_DIR) && $(KERNEL_SRC)/scripts/headers_install.sh $(KERNEL_BINARY_DIR)/usr/include/linux/mfd/wcd9xxx/ $(AUDIO_ROOT)/include/uapi/audio/linux/mfd/wcd9xxx/ $(notdir $(AUDIO_KERNEL_HEADERS_PATH2))) - $(shell cd $(KERNEL_BINARY_DIR) && $(KERNEL_SRC)/scripts/headers_install.sh $(KERNEL_BINARY_DIR)/usr/include/sound/ $(AUDIO_ROOT)/include/uapi/audio/sound/ $(notdir $(AUDIO_KERNEL_HEADERS_PATH3))) + $(call PROCESS_HEADERS, $(notdir $(shell ls $(AUDIO_ROOT)/include/uapi/audio/linux/*.h)), $(AUDIO_ROOT)/include/uapi/audio/linux/, $(UAPI_OUT)/linux/) + $(call PROCESS_HEADERS, $(notdir $(shell ls $(AUDIO_ROOT)/include/uapi/audio/linux/mfd/wcd9xxx/*.h)), $(AUDIO_ROOT)/include/uapi/audio/linux/mfd/wcd9xxx/, $(UAPI_OUT)/linux/mfd/wcd9xxx/) + $(call PROCESS_HEADERS, $(notdir $(shell ls $(AUDIO_ROOT)/include/uapi/audio/sound/*.h)), $(AUDIO_ROOT)/include/uapi/audio/sound/, $(UAPI_OUT)/sound/) + $(shell mkdir $(KERNEL_BINARY_DIR)/usr/include/audio) + $(shell mkdir $(KERNEL_BINARY_DIR)/usr/include/audio/sound) + $(shell mkdir $(KERNEL_BINARY_DIR)/usr/include/audio/linux) + $(shell mkdir $(KERNEL_BINARY_DIR)/usr/include/audio/linux/mfd) + $(shell mkdir $(KERNEL_BINARY_DIR)/usr/include/audio/linux/mfd/wcd9xxx) + $(call PROCESS_HEADERS, $(notdir $(shell ls $(AUDIO_ROOT)/include/uapi/audio/linux/*.h)), $(AUDIO_ROOT)/include/uapi/audio/linux/, $(KERNEL_BINARY_DIR)/usr/include/audio/linux/) + $(call PROCESS_HEADERS, $(notdir $(shell ls $(AUDIO_ROOT)/include/uapi/audio/linux/mfd/wcd9xxx/*.h)), $(AUDIO_ROOT)/include/uapi/audio/linux/mfd/wcd9xxx/, $(KERNEL_BINARY_DIR)/usr/include/audio/linux/mfd/wcd9xxx/) + $(call PROCESS_HEADERS, $(notdir $(shell ls $(AUDIO_ROOT)/include/uapi/audio/sound/*.h)), $(AUDIO_ROOT)/include/uapi/audio/sound/, $(KERNEL_BINARY_DIR)/usr/include/audio/sound/) $(MAKE) -C $(KERNEL_SRC) M=$(shell pwd) modules $(KBUILD_OPTIONS) modules_install: diff --git a/asoc/msm_dailink.h b/asoc/msm_dailink.h old mode 100644 new mode 100755 index e0ae2fe323..d05f0d3428 --- a/asoc/msm_dailink.h +++ b/asoc/msm_dailink.h @@ -227,6 +227,146 @@ SND_SOC_DAILINK_DEFS(afepcm_tx1, DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-tx")), DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-afe"))); +SND_SOC_DAILINK_DEFS(multimedia20, + DAILINK_COMP_ARRAY(COMP_CPU("MultiMedia20")), + DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-loopback"))); + +SND_SOC_DAILINK_DEFS(multimedia21, + DAILINK_COMP_ARRAY(COMP_CPU("MultiMedia21")), + DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-loopback"))); + +SND_SOC_DAILINK_DEFS(pri_tdm_rx_0_hostless, + DAILINK_COMP_ARRAY(COMP_CPU("PRI_TDM_RX_0_HOSTLESS")), + DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-hostless"))); + +SND_SOC_DAILINK_DEFS(pri_tdm_tx_0_hostless, + DAILINK_COMP_ARRAY(COMP_CPU("PRI_TDM_TX_0_HOSTLESS")), + DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-hostless"))); + +SND_SOC_DAILINK_DEFS(sec_tdm_rx_0_hostless, + DAILINK_COMP_ARRAY(COMP_CPU("SEC_TDM_RX_0_HOSTLESS")), + DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-hostless"))); + +SND_SOC_DAILINK_DEFS(sec_tdm_tx_0_hostless, + DAILINK_COMP_ARRAY(COMP_CPU("SEC_TDM_TX_0_HOSTLESS")), + DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-hostless"))); + +SND_SOC_DAILINK_DEFS(tert_tdm_rx_0_hostless, + DAILINK_COMP_ARRAY(COMP_CPU("TERT_TDM_RX_0_HOSTLESS")), + DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-hostless"))); + +SND_SOC_DAILINK_DEFS(tert_tdm_tx_0_hostless, + DAILINK_COMP_ARRAY(COMP_CPU("TERT_TDM_TX_0_HOSTLESS")), + DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-hostless"))); + +SND_SOC_DAILINK_DEFS(quat_tdm_rx_0_hostless, + DAILINK_COMP_ARRAY(COMP_CPU("QUAT_TDM_RX_0_HOSTLESS")), + DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-hostless"))); + +SND_SOC_DAILINK_DEFS(quat_tdm_tx_0_hostless, + DAILINK_COMP_ARRAY(COMP_CPU("QUAT_TDM_TX_0_HOSTLESS")), + DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-hostless"))); + +SND_SOC_DAILINK_DEFS(quat_mi2s_rx_hostless, + DAILINK_COMP_ARRAY(COMP_CPU("QUAT_MI2S_RX_HOSTLESS")), + DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-hostless"))); + +SND_SOC_DAILINK_DEFS(sec_mi2s_tx_hostless, + DAILINK_COMP_ARRAY(COMP_CPU("SEC_MI2S_TX_HOSTLESS")), + DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-hostless"))); + +SND_SOC_DAILINK_DEFS(dtmf_rx_hostless, + DAILINK_COMP_ARRAY(COMP_CPU("DTMF_RX_HOSTLESS")), + DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-dtmf"))); + +SND_SOC_DAILINK_DEFS(sec_tdm_rx_7_hostless, + DAILINK_COMP_ARRAY(COMP_CPU("SEC_TDM_RX_7_HOSTLESS")), + DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-hostless"))); + +SND_SOC_DAILINK_DEFS(tert_tdm_tx_7_hostless, + DAILINK_COMP_ARRAY(COMP_CPU("TERT_TDM_TX_7_HOSTLESS")), + DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-hostless"))); + +SND_SOC_DAILINK_DEFS(quat_tdm_rx_7_hostless, + DAILINK_COMP_ARRAY(COMP_CPU("QUAT_TDM_RX_7_HOSTLESS")), + DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-hostless"))); + +SND_SOC_DAILINK_DEFS(quat_tdm_tx_7_hostless, + DAILINK_COMP_ARRAY(COMP_CPU("QUAT_TDM_TX_7_HOSTLESS")), + DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-hostless"))); + +SND_SOC_DAILINK_DEFS(quin_tdm_rx_7_hostless, + DAILINK_COMP_ARRAY(COMP_CPU("QUIN_TDM_RX_7_HOSTLESS")), + DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-hostless"))); + +SND_SOC_DAILINK_DEFS(quin_tdm_tx_7_hostless, + DAILINK_COMP_ARRAY(COMP_CPU("QUIN_TDM_RX_7_HOSTLESS")), + DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-hostless"))); + +SND_SOC_DAILINK_DEFS(multimedia22, + DAILINK_COMP_ARRAY(COMP_CPU("MultiMedia22")), + DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-dsp.0"))); + +SND_SOC_DAILINK_DEFS(multimedia23, + DAILINK_COMP_ARRAY(COMP_CPU("MultiMedia23")), + DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-dsp.1"))); + +SND_SOC_DAILINK_DEFS(multimedia24, + DAILINK_COMP_ARRAY(COMP_CPU("MultiMedia24")), + DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-loopback"))); + +SND_SOC_DAILINK_DEFS(multimedia25, + DAILINK_COMP_ARRAY(COMP_CPU("MultiMedia25")), + DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-loopback"))); + +SND_SOC_DAILINK_DEFS(int_hfp_bt_hostless, + DAILINK_COMP_ARRAY(COMP_CPU("INT_HFP_BT_HOSTLESS")), + DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-hostless"))); + +SND_SOC_DAILINK_DEFS(ll_loopback, + DAILINK_COMP_ARRAY(COMP_CPU("MultiMedia9")), + DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-loopback.1"))); + +SND_SOC_DAILINK_DEFS(multimedia36, + DAILINK_COMP_ARRAY(COMP_CPU("MultiMedia6")), + DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-dsp.1"))); + +SND_SOC_DAILINK_DEFS(multimedia38, + DAILINK_COMP_ARRAY(COMP_CPU("MultiMedia8")), + DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-dsp.1"))); + +SND_SOC_DAILINK_DEFS(multimedia39, + DAILINK_COMP_ARRAY(COMP_CPU("MultiMedia9")), + DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-dsp.1"))); + /* BE dai-links */ SND_SOC_DAILINK_DEFS(afe_pcm_rx, DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-dev.224")), @@ -585,3 +725,164 @@ SND_SOC_DAILINK_DEFS(proxy_rx, DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-dev.8194")), DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-rx")), DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(pri_tdm_rx_1, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-tdm.36866")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-rx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(pri_tdm_rx_2, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-tdm.36868")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-rx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(pri_tdm_rx_3, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-tdm.36870")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-rx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(pri_tdm_tx_1, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-tdm.36867")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-rx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(pri_tdm_tx_2, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-tdm.36869")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-rx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(pri_tdm_tx_3, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-tdm.36871")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-rx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(sec_tdm_rx_1, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-tdm.36882")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-rx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(sec_tdm_rx_2, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-tdm.36884")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-rx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(sec_tdm_rx_3, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-tdm.36886")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-rx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(sec_tdm_rx_7, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-tdm.36894")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-rx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(sec_tdm_tx_1, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-tdm.36883")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-rx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(sec_tdm_tx_2, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-tdm.36885")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-rx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(sec_tdm_tx_3, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-tdm.36887")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-rx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(tert_tdm_rx_1, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-tdm.36898")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-rx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(tert_tdm_rx_2, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-tdm.36900")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-rx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(tert_tdm_rx_3, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-tdm.36902")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-rx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(tert_tdm_rx_4, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-tdm.36904")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-rx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(tert_tdm_tx_1, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-tdm.36899")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-rx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(tert_tdm_tx_2, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-tdm.36901")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-rx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(tert_tdm_tx_3, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-tdm.36903")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-rx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(tert_tdm_tx_7, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-tdm.36911")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-rx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(quat_tdm_rx_1, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-tdm.36914")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-rx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(quat_tdm_rx_2, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-tdm.36916")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-rx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(quat_tdm_rx_3, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-tdm.36918")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-rx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(quat_tdm_rx_7, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-tdm.36926")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-rx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(quat_tdm_tx_1, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-tdm.36915")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-rx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(quat_tdm_tx_2, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-tdm.36917")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-rx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(quat_tdm_tx_3, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-tdm.36919")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-rx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(quat_tdm_tx_7, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-tdm.36927")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-rx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(quin_tdm_rx_7, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-tdm.36942")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-rx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(quin_tdm_tx_7, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-tdm.36943")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-rx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(ext_display_port, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-dp.24608")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-ext-disp-audio-codec-rx", + "msm_dp_audio_codec_rx_dai")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); diff --git a/asoc/sa6155.c b/asoc/sa6155.c old mode 100644 new mode 100755 index e1cfce9bd1..287783aa84 --- a/asoc/sa6155.c +++ b/asoc/sa6155.c @@ -48,9 +48,9 @@ #include #include #include -#include #include "device_event.h" #include "msm-pcm-routing-v2.h" +#include "msm_dailink.h" #define DRV_NAME "sa6155-asoc-snd" @@ -4854,21 +4854,7 @@ static struct snd_soc_ops sa6155_tdm_be_ops = { static int msm_fe_qos_prepare(struct snd_pcm_substream *substream) { - cpumask_t mask; - - if (pm_qos_request_active(&substream->latency_pm_qos_req)) - pm_qos_remove_request(&substream->latency_pm_qos_req); - - cpumask_clear(&mask); - cpumask_set_cpu(1, &mask); /* affine to core 1 */ - cpumask_set_cpu(2, &mask); /* affine to core 2 */ - cpumask_copy(&substream->latency_pm_qos_req.cpus_affine, &mask); - - substream->latency_pm_qos_req.type = PM_QOS_REQ_AFFINE_CORES; - - pm_qos_add_request(&substream->latency_pm_qos_req, - PM_QOS_CPU_DMA_LATENCY, - MSM_LL_QOS_VALUE); + pr_debug("%s: TODO: add new QOS implementation\n", __func__); return 0; } @@ -4999,43 +4985,37 @@ static struct snd_soc_dai_link msm_common_dai_links[] = { { .name = MSM_DAILINK_NAME(Media1), .stream_name = "MultiMedia1", - .cpu_dai_name = "MultiMedia1", - .platform_name = "msm-pcm-dsp.0", .dynamic = 1, +#if IS_ENABLED(CONFIG_AUDIO_QGKI) .async_ops = ASYNC_DPCM_SND_SOC_PREPARE, +#endif /* CONFIG_AUDIO_QGKI */ .dpcm_playback = 1, .dpcm_capture = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .ignore_suspend = 1, /* this dainlink has playback support */ .ignore_pmdown_time = 1, - .id = MSM_FRONTEND_DAI_MULTIMEDIA1 + .id = MSM_FRONTEND_DAI_MULTIMEDIA1, + SND_SOC_DAILINK_REG(multimedia1), }, { .name = MSM_DAILINK_NAME(Media2), .stream_name = "MultiMedia2", - .cpu_dai_name = "MultiMedia2", - .platform_name = "msm-pcm-dsp.0", .dynamic = 1, .dpcm_playback = 1, .dpcm_capture = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, .ignore_suspend = 1, /* this dainlink has playback support */ .ignore_pmdown_time = 1, .id = MSM_FRONTEND_DAI_MULTIMEDIA2, + SND_SOC_DAILINK_REG(multimedia2), }, { .name = "VoiceMMode1", .stream_name = "VoiceMMode1", - .cpu_dai_name = "VoiceMMode1", - .platform_name = "msm-pcm-voice", .dynamic = 1, .dpcm_playback = 1, .dpcm_capture = 1, @@ -5044,91 +5024,77 @@ static struct snd_soc_dai_link msm_common_dai_links[] = { .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, .ignore_pmdown_time = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .id = MSM_FRONTEND_DAI_VOICEMMODE1, + SND_SOC_DAILINK_REG(voicemmode1), }, { .name = "MSM VoIP", .stream_name = "VoIP", - .cpu_dai_name = "VoIP", - .platform_name = "msm-voip-dsp", .dynamic = 1, .dpcm_playback = 1, .dpcm_capture = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .ignore_suspend = 1, /* this dainlink has playback support */ .ignore_pmdown_time = 1, .id = MSM_FRONTEND_DAI_VOIP, + SND_SOC_DAILINK_REG(msmvoip), }, { .name = MSM_DAILINK_NAME(ULL), .stream_name = "MultiMedia3", - .cpu_dai_name = "MultiMedia3", - .platform_name = "msm-pcm-dsp.2", .dynamic = 1, +#if IS_ENABLED(CONFIG_AUDIO_QGKI) .async_ops = ASYNC_DPCM_SND_SOC_PREPARE, +#endif /* CONFIG_AUDIO_QGKI */ .dpcm_playback = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .ignore_suspend = 1, /* this dainlink has playback support */ .ignore_pmdown_time = 1, .id = MSM_FRONTEND_DAI_MULTIMEDIA3, + SND_SOC_DAILINK_REG(multimedia3), }, /* - SLIMBUS_0 Hostless */ { .name = "MSM AFE-PCM RX", .stream_name = "AFE-PROXY RX", - .cpu_dai_name = "msm-dai-q6-dev.241", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", - .platform_name = "msm-pcm-afe", .dpcm_playback = 1, .ignore_suspend = 1, /* this dainlink has playback support */ .ignore_pmdown_time = 1, + SND_SOC_DAILINK_REG(afepcm_rx), }, { .name = "MSM AFE-PCM TX", .stream_name = "AFE-PROXY TX", - .cpu_dai_name = "msm-dai-q6-dev.240", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-tx", - .platform_name = "msm-pcm-afe", .dpcm_capture = 1, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(afepcm_tx), }, { .name = MSM_DAILINK_NAME(Compress1), .stream_name = "Compress1", - .cpu_dai_name = "MultiMedia4", - .platform_name = "msm-compress-dsp", .dynamic = 1, +#if IS_ENABLED(CONFIG_AUDIO_QGKI) .async_ops = ASYNC_DPCM_SND_SOC_HW_PARAMS, +#endif /* CONFIG_AUDIO_QGKI */ .dpcm_playback = 1, .dpcm_capture = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .ignore_suspend = 1, .ignore_pmdown_time = 1, /* this dainlink has playback support */ .id = MSM_FRONTEND_DAI_MULTIMEDIA4, + SND_SOC_DAILINK_REG(multimedia4), }, /* Hostless PCM purpose */ { .name = "AUXPCM Hostless", .stream_name = "AUXPCM Hostless", - .cpu_dai_name = "AUXPCM_HOSTLESS", - .platform_name = "msm-pcm-hostless", .dynamic = 1, .dpcm_playback = 1, .dpcm_capture = 1, @@ -5138,8 +5104,7 @@ static struct snd_soc_dai_link msm_common_dai_links[] = { .ignore_suspend = 1, /* this dainlink has playback support */ .ignore_pmdown_time = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", + SND_SOC_DAILINK_REG(auxpcm_hostless), }, /* - SLIMBUS_1 Hostless */ /* - SLIMBUS_3 Hostless */ @@ -5147,14 +5112,12 @@ static struct snd_soc_dai_link msm_common_dai_links[] = { { .name = MSM_DAILINK_NAME(LowLatency), .stream_name = "MultiMedia5", - .cpu_dai_name = "MultiMedia5", - .platform_name = "msm-pcm-dsp.1", .dynamic = 1, +#if IS_ENABLED(CONFIG_AUDIO_QGKI) .async_ops = ASYNC_DPCM_SND_SOC_PREPARE, +#endif /* CONFIG_AUDIO_QGKI */ .dpcm_playback = 1, .dpcm_capture = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, .ignore_suspend = 1, @@ -5162,80 +5125,67 @@ static struct snd_soc_dai_link msm_common_dai_links[] = { .ignore_pmdown_time = 1, .id = MSM_FRONTEND_DAI_MULTIMEDIA5, .ops = &msm_fe_qos_ops, + SND_SOC_DAILINK_REG(multimedia5), }, { .name = "Listen 1 Audio Service", .stream_name = "Listen 1 Audio Service", - .cpu_dai_name = "LSM1", - .platform_name = "msm-lsm-client", .dynamic = 1, .dpcm_capture = 1, .trigger = { SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST }, .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .id = MSM_FRONTEND_DAI_LSM1, + SND_SOC_DAILINK_REG(listen1), }, /* Multiple Tunnel instances */ { .name = MSM_DAILINK_NAME(Compress2), .stream_name = "Compress2", - .cpu_dai_name = "MultiMedia7", - .platform_name = "msm-compress-dsp", .dynamic = 1, .dpcm_playback = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .ignore_suspend = 1, .ignore_pmdown_time = 1, /* this dainlink has playback support */ .id = MSM_FRONTEND_DAI_MULTIMEDIA7, + SND_SOC_DAILINK_REG(multimedia7), }, { .name = MSM_DAILINK_NAME(MultiMedia10), .stream_name = "MultiMedia10", - .cpu_dai_name = "MultiMedia10", - .platform_name = "msm-pcm-dsp.1", .dynamic = 1, .dpcm_playback = 1, .dpcm_capture = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .ignore_suspend = 1, .ignore_pmdown_time = 1, /* this dainlink has playback support */ .id = MSM_FRONTEND_DAI_MULTIMEDIA10, + SND_SOC_DAILINK_REG(multimedia10), }, { .name = MSM_DAILINK_NAME(ULL_NOIRQ), .stream_name = "MM_NOIRQ", - .cpu_dai_name = "MultiMedia8", - .platform_name = "msm-pcm-dsp-noirq", .dynamic = 1, .dpcm_playback = 1, .dpcm_capture = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .ignore_suspend = 1, .ignore_pmdown_time = 1, /* this dainlink has playback support */ .id = MSM_FRONTEND_DAI_MULTIMEDIA8, .ops = &msm_fe_qos_ops, + SND_SOC_DAILINK_REG(multimedia8), }, /* HDMI Hostless */ { .name = "HDMI_RX_HOSTLESS", .stream_name = "HDMI_RX_HOSTLESS", - .cpu_dai_name = "HDMI_HOSTLESS", - .platform_name = "msm-pcm-hostless", .dynamic = 1, .dpcm_playback = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, @@ -5243,14 +5193,11 @@ static struct snd_soc_dai_link msm_common_dai_links[] = { .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, .ignore_pmdown_time = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", + SND_SOC_DAILINK_REG(hdmi_rx_hostless), }, { .name = "VoiceMMode2", .stream_name = "VoiceMMode2", - .cpu_dai_name = "VoiceMMode2", - .platform_name = "msm-pcm-voice", .dynamic = 1, .dpcm_playback = 1, .dpcm_capture = 1, @@ -5259,213 +5206,174 @@ static struct snd_soc_dai_link msm_common_dai_links[] = { .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, .ignore_pmdown_time = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .id = MSM_FRONTEND_DAI_VOICEMMODE2, + SND_SOC_DAILINK_REG(voicemmode2), }, /* LSM FE */ { .name = "Listen 2 Audio Service", .stream_name = "Listen 2 Audio Service", - .cpu_dai_name = "LSM2", - .platform_name = "msm-lsm-client", .dynamic = 1, .dpcm_capture = 1, .trigger = { SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST }, .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .id = MSM_FRONTEND_DAI_LSM2, + SND_SOC_DAILINK_REG(listen2), }, { .name = "Listen 3 Audio Service", .stream_name = "Listen 3 Audio Service", - .cpu_dai_name = "LSM3", - .platform_name = "msm-lsm-client", .dynamic = 1, .dpcm_capture = 1, .trigger = { SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST }, .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .id = MSM_FRONTEND_DAI_LSM3, + SND_SOC_DAILINK_REG(listen3), }, { .name = "Listen 4 Audio Service", .stream_name = "Listen 4 Audio Service", - .cpu_dai_name = "LSM4", - .platform_name = "msm-lsm-client", .dynamic = 1, .dpcm_capture = 1, .trigger = { SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST }, .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .id = MSM_FRONTEND_DAI_LSM4, + SND_SOC_DAILINK_REG(listen4), }, { .name = "Listen 5 Audio Service", .stream_name = "Listen 5 Audio Service", - .cpu_dai_name = "LSM5", - .platform_name = "msm-lsm-client", .dynamic = 1, .dpcm_capture = 1, .trigger = { SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST }, .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .id = MSM_FRONTEND_DAI_LSM5, + SND_SOC_DAILINK_REG(listen5), }, { .name = "Listen 6 Audio Service", .stream_name = "Listen 6 Audio Service", - .cpu_dai_name = "LSM6", - .platform_name = "msm-lsm-client", .dynamic = 1, .dpcm_capture = 1, .trigger = { SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST }, .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .id = MSM_FRONTEND_DAI_LSM6, + SND_SOC_DAILINK_REG(listen6), }, { .name = "Listen 7 Audio Service", .stream_name = "Listen 7 Audio Service", - .cpu_dai_name = "LSM7", - .platform_name = "msm-lsm-client", .dynamic = 1, .dpcm_capture = 1, .trigger = { SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST }, .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .id = MSM_FRONTEND_DAI_LSM7, + SND_SOC_DAILINK_REG(listen7), }, { .name = "Listen 8 Audio Service", .stream_name = "Listen 8 Audio Service", - .cpu_dai_name = "LSM8", - .platform_name = "msm-lsm-client", .dynamic = 1, .dpcm_capture = 1, .trigger = { SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST }, .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .id = MSM_FRONTEND_DAI_LSM8, + SND_SOC_DAILINK_REG(listen8), }, /* - Multimedia9 */ { .name = MSM_DAILINK_NAME(Compress4), .stream_name = "Compress4", - .cpu_dai_name = "MultiMedia11", - .platform_name = "msm-compress-dsp", .dynamic = 1, .dpcm_playback = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .ignore_suspend = 1, .ignore_pmdown_time = 1, /* this dainlink has playback support */ .id = MSM_FRONTEND_DAI_MULTIMEDIA11, + SND_SOC_DAILINK_REG(multimedia11), }, { .name = MSM_DAILINK_NAME(Compress5), .stream_name = "Compress5", - .cpu_dai_name = "MultiMedia12", - .platform_name = "msm-compress-dsp", .dynamic = 1, .dpcm_playback = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .ignore_suspend = 1, .ignore_pmdown_time = 1, /* this dainlink has playback support */ .id = MSM_FRONTEND_DAI_MULTIMEDIA12, + SND_SOC_DAILINK_REG(multimedia12), }, { .name = MSM_DAILINK_NAME(Compress6), .stream_name = "Compress6", - .cpu_dai_name = "MultiMedia13", - .platform_name = "msm-compress-dsp", .dynamic = 1, .dpcm_playback = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .ignore_suspend = 1, .ignore_pmdown_time = 1, /* this dainlink has playback support */ .id = MSM_FRONTEND_DAI_MULTIMEDIA13, + SND_SOC_DAILINK_REG(multimedia13), }, { .name = MSM_DAILINK_NAME(Compress7), .stream_name = "Compress7", - .cpu_dai_name = "MultiMedia14", - .platform_name = "msm-compress-dsp", .dynamic = 1, .dpcm_playback = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .ignore_suspend = 1, .ignore_pmdown_time = 1, /* this dainlink has playback support */ .id = MSM_FRONTEND_DAI_MULTIMEDIA14, + SND_SOC_DAILINK_REG(multimedia14), }, { .name = MSM_DAILINK_NAME(Compress8), .stream_name = "Compress8", - .cpu_dai_name = "MultiMedia15", - .platform_name = "msm-compress-dsp", .dynamic = 1, .dpcm_playback = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .ignore_suspend = 1, .ignore_pmdown_time = 1, /* this dainlink has playback support */ .id = MSM_FRONTEND_DAI_MULTIMEDIA15, + SND_SOC_DAILINK_REG(multimedia15), }, { .name = MSM_DAILINK_NAME(ULL_NOIRQ_2), .stream_name = "MM_NOIRQ_2", - .cpu_dai_name = "MultiMedia16", - .platform_name = "msm-pcm-dsp-noirq", .dynamic = 1, .dpcm_playback = 1, .dpcm_capture = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .ignore_suspend = 1, .ignore_pmdown_time = 1, /* this dainlink has playback support */ .id = MSM_FRONTEND_DAI_MULTIMEDIA16, + .ops = &msm_fe_qos_ops, + SND_SOC_DAILINK_REG(multimedia16), }, /* - SLIMBUS_8 Hostless */ /* - Slimbus4 Capture */ @@ -5475,25 +5383,20 @@ static struct snd_soc_dai_link msm_common_dai_links[] = { { .name = MSM_DAILINK_NAME(ASM Loopback), .stream_name = "MultiMedia6", - .cpu_dai_name = "MultiMedia6", - .platform_name = "msm-pcm-loopback", .dynamic = 1, .dpcm_playback = 1, .dpcm_capture = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, .ignore_suspend = 1, .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_pmdown_time = 1, .id = MSM_FRONTEND_DAI_MULTIMEDIA6, + SND_SOC_DAILINK_REG(multimedia6), }, { .name = "USB Audio Hostless", .stream_name = "USB Audio Hostless", - .cpu_dai_name = "USBAUDIO_HOSTLESS", - .platform_name = "msm-pcm-hostless", .dynamic = 1, .dpcm_playback = 1, .dpcm_capture = 1, @@ -5502,24 +5405,20 @@ static struct snd_soc_dai_link msm_common_dai_links[] = { .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, .ignore_pmdown_time = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", + SND_SOC_DAILINK_REG(usbaudio_hostless), }, /* - SLIMBUS_7 Hostless */ { .name = "Compress Capture", .stream_name = "Compress9", - .cpu_dai_name = "MultiMedia17", - .platform_name = "msm-compress-dsp", .dynamic = 1, .dpcm_capture = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .ignore_suspend = 1, .ignore_pmdown_time = 1, .id = MSM_FRONTEND_DAI_MULTIMEDIA17, + SND_SOC_DAILINK_REG(multimedia17), }, }; @@ -5527,8 +5426,6 @@ static struct snd_soc_dai_link msm_auto_fe_dai_links[] = { { .name = "INT_HFP_BT Hostless", .stream_name = "INT_HFP_BT Hostless", - .cpu_dai_name = "INT_HFP_BT_HOSTLESS", - .platform_name = "msm-pcm-hostless", .dynamic = 1, .dpcm_playback = 1, .dpcm_capture = 1, @@ -5538,33 +5435,27 @@ static struct snd_soc_dai_link msm_auto_fe_dai_links[] = { .ignore_suspend = 1, /* this dainlink has playback support */ .ignore_pmdown_time = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", + SND_SOC_DAILINK_REG(int_hfp_bt_hostless), }, /* Low latency ASM loopback for ICC */ { .name = MSM_DAILINK_NAME(LowLatency Loopback), .stream_name = "MultiMedia9", - .cpu_dai_name = "MultiMedia9", - .platform_name = "msm-pcm-loopback.1", .dynamic = 1, .dpcm_playback = 1, .dpcm_capture = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .ignore_suspend = 1, .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, /* this dainlink has playback support */ .ignore_pmdown_time = 1, .id = MSM_FRONTEND_DAI_MULTIMEDIA9, + SND_SOC_DAILINK_REG(ll_loopback), }, { .name = "Tertiary MI2S TX_Hostless", .stream_name = "Tertiary MI2S_TX Hostless Capture", - .cpu_dai_name = "TERT_MI2S_TX_HOSTLESS", - .platform_name = "msm-pcm-hostless", .dynamic = 1, .dpcm_capture = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, @@ -5572,50 +5463,41 @@ static struct snd_soc_dai_link msm_auto_fe_dai_links[] = { .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, .ignore_pmdown_time = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", + SND_SOC_DAILINK_REG(tert_mi2s_tx_hostless), }, { .name = MSM_DAILINK_NAME(Media20), .stream_name = "MultiMedia20", - .cpu_dai_name = "MultiMedia20", - .platform_name = "msm-pcm-loopback", .dynamic = 1, .dpcm_playback = 1, .dpcm_capture = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .ignore_suspend = 1, .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, /* this dainlink has playback support */ .ignore_pmdown_time = 1, .id = MSM_FRONTEND_DAI_MULTIMEDIA20, + SND_SOC_DAILINK_REG(multimedia20), }, { .name = MSM_DAILINK_NAME(HFP RX), .stream_name = "MultiMedia21", - .cpu_dai_name = "MultiMedia21", - .platform_name = "msm-pcm-loopback", .dynamic = 1, .dpcm_playback = 1, .dpcm_capture = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, .ignore_suspend = 1, .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_pmdown_time = 1, .id = MSM_FRONTEND_DAI_MULTIMEDIA21, + SND_SOC_DAILINK_REG(multimedia21), }, /* TDM Hostless */ { .name = "Primary TDM RX 0 Hostless", .stream_name = "Primary TDM RX 0 Hostless", - .cpu_dai_name = "PRI_TDM_RX_0_HOSTLESS", - .platform_name = "msm-pcm-hostless", .dynamic = 1, .dpcm_playback = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, @@ -5623,14 +5505,11 @@ static struct snd_soc_dai_link msm_auto_fe_dai_links[] = { .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, .ignore_pmdown_time = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", + SND_SOC_DAILINK_REG(pri_tdm_rx_0_hostless), }, { .name = "Primary TDM TX 0 Hostless", .stream_name = "Primary TDM TX 0 Hostless", - .cpu_dai_name = "PRI_TDM_TX_0_HOSTLESS", - .platform_name = "msm-pcm-hostless", .dynamic = 1, .dpcm_capture = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, @@ -5638,14 +5517,11 @@ static struct snd_soc_dai_link msm_auto_fe_dai_links[] = { .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, .ignore_pmdown_time = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", + SND_SOC_DAILINK_REG(pri_tdm_tx_0_hostless), }, { .name = "Secondary TDM RX 0 Hostless", .stream_name = "Secondary TDM RX 0 Hostless", - .cpu_dai_name = "SEC_TDM_RX_0_HOSTLESS", - .platform_name = "msm-pcm-hostless", .dynamic = 1, .dpcm_playback = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, @@ -5653,14 +5529,11 @@ static struct snd_soc_dai_link msm_auto_fe_dai_links[] = { .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, .ignore_pmdown_time = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", + SND_SOC_DAILINK_REG(sec_tdm_rx_0_hostless), }, { .name = "Secondary TDM TX 0 Hostless", .stream_name = "Secondary TDM TX 0 Hostless", - .cpu_dai_name = "SEC_TDM_TX_0_HOSTLESS", - .platform_name = "msm-pcm-hostless", .dynamic = 1, .dpcm_capture = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, @@ -5668,14 +5541,11 @@ static struct snd_soc_dai_link msm_auto_fe_dai_links[] = { .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, .ignore_pmdown_time = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", + SND_SOC_DAILINK_REG(sec_tdm_tx_0_hostless), }, { .name = "Tertiary TDM RX 0 Hostless", .stream_name = "Tertiary TDM RX 0 Hostless", - .cpu_dai_name = "TERT_TDM_RX_0_HOSTLESS", - .platform_name = "msm-pcm-hostless", .dynamic = 1, .dpcm_playback = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, @@ -5683,14 +5553,11 @@ static struct snd_soc_dai_link msm_auto_fe_dai_links[] = { .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, .ignore_pmdown_time = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", + SND_SOC_DAILINK_REG(tert_tdm_rx_0_hostless), }, { .name = "Tertiary TDM TX 0 Hostless", .stream_name = "Tertiary TDM TX 0 Hostless", - .cpu_dai_name = "TERT_TDM_TX_0_HOSTLESS", - .platform_name = "msm-pcm-hostless", .dynamic = 1, .dpcm_capture = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, @@ -5698,14 +5565,11 @@ static struct snd_soc_dai_link msm_auto_fe_dai_links[] = { .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, .ignore_pmdown_time = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", + SND_SOC_DAILINK_REG(tert_tdm_tx_0_hostless), }, { .name = "Quaternary TDM RX 0 Hostless", .stream_name = "Quaternary TDM RX 0 Hostless", - .cpu_dai_name = "QUAT_TDM_RX_0_HOSTLESS", - .platform_name = "msm-pcm-hostless", .dynamic = 1, .dpcm_playback = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, @@ -5713,14 +5577,11 @@ static struct snd_soc_dai_link msm_auto_fe_dai_links[] = { .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, .ignore_pmdown_time = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", + SND_SOC_DAILINK_REG(quat_tdm_rx_0_hostless), }, { .name = "Quaternary TDM TX 0 Hostless", .stream_name = "Quaternary TDM TX 0 Hostless", - .cpu_dai_name = "QUAT_TDM_TX_0_HOSTLESS", - .platform_name = "msm-pcm-hostless", .dynamic = 1, .dpcm_capture = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, @@ -5728,14 +5589,11 @@ static struct snd_soc_dai_link msm_auto_fe_dai_links[] = { .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, .ignore_pmdown_time = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", + SND_SOC_DAILINK_REG(quat_tdm_tx_0_hostless), }, { .name = "Quaternary MI2S_RX Hostless Playback", .stream_name = "Quaternary MI2S_RX Hostless Playback", - .cpu_dai_name = "QUAT_MI2S_RX_HOSTLESS", - .platform_name = "msm-pcm-hostless", .dynamic = 1, .dpcm_playback = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, @@ -5743,14 +5601,11 @@ static struct snd_soc_dai_link msm_auto_fe_dai_links[] = { .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, .ignore_pmdown_time = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", + SND_SOC_DAILINK_REG(quat_mi2s_rx_hostless), }, { .name = "Secondary MI2S_TX Hostless Capture", .stream_name = "Secondary MI2S_TX Hostless Capture", - .cpu_dai_name = "SEC_MI2S_TX_HOSTLESS", - .platform_name = "msm-pcm-hostless", .dynamic = 1, .dpcm_capture = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, @@ -5758,14 +5613,11 @@ static struct snd_soc_dai_link msm_auto_fe_dai_links[] = { .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, .ignore_pmdown_time = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", + SND_SOC_DAILINK_REG(sec_mi2s_tx_hostless), }, { .name = "DTMF RX Hostless", .stream_name = "DTMF RX Hostless", - .cpu_dai_name = "DTMF_RX_HOSTLESS", - .platform_name = "msm-pcm-dtmf", .dynamic = 1, .dpcm_playback = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, @@ -5773,15 +5625,12 @@ static struct snd_soc_dai_link msm_auto_fe_dai_links[] = { .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, .ignore_pmdown_time = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .id = MSM_FRONTEND_DAI_DTMF_RX, + SND_SOC_DAILINK_REG(dtmf_rx_hostless), }, { .name = "Secondary TDM RX 7 Hostless", .stream_name = "Secondary TDM RX 7 Hostless", - .cpu_dai_name = "SEC_TDM_RX_7_HOSTLESS", - .platform_name = "msm-pcm-hostless", .dynamic = 1, .dpcm_playback = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, @@ -5789,14 +5638,11 @@ static struct snd_soc_dai_link msm_auto_fe_dai_links[] = { .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, .ignore_pmdown_time = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", + SND_SOC_DAILINK_REG(sec_tdm_rx_7_hostless), }, { .name = "Tertiary TDM TX 7 Hostless", .stream_name = "Tertiary TDM TX 7 Hostless", - .cpu_dai_name = "TERT_TDM_TX_7_HOSTLESS", - .platform_name = "msm-pcm-hostless", .dynamic = 1, .dpcm_capture = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, @@ -5804,14 +5650,11 @@ static struct snd_soc_dai_link msm_auto_fe_dai_links[] = { .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, .ignore_pmdown_time = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", + SND_SOC_DAILINK_REG(tert_tdm_tx_7_hostless), }, { .name = "Quaternary TDM RX 7 Hostless", .stream_name = "Quaternary TDM RX 7 Hostless", - .cpu_dai_name = "QUAT_TDM_RX_7_HOSTLESS", - .platform_name = "msm-pcm-hostless", .dynamic = 1, .dpcm_playback = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, @@ -5819,14 +5662,11 @@ static struct snd_soc_dai_link msm_auto_fe_dai_links[] = { .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, .ignore_pmdown_time = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", + SND_SOC_DAILINK_REG(quat_tdm_rx_7_hostless), }, { .name = "Quaternary TDM TX 7 Hostless", .stream_name = "Quaternary TDM TX 7 Hostless", - .cpu_dai_name = "QUAT_TDM_TX_7_HOSTLESS", - .platform_name = "msm-pcm-hostless", .dynamic = 1, .dpcm_capture = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, @@ -5834,14 +5674,11 @@ static struct snd_soc_dai_link msm_auto_fe_dai_links[] = { .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, .ignore_pmdown_time = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", + SND_SOC_DAILINK_REG(quat_tdm_tx_7_hostless), }, { .name = "Quinary TDM RX 7 Hostless", .stream_name = "Quinary TDM RX 7 Hostless", - .cpu_dai_name = "QUIN_TDM_RX_7_HOSTLESS", - .platform_name = "msm-pcm-hostless", .dynamic = 1, .dpcm_playback = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, @@ -5849,14 +5686,11 @@ static struct snd_soc_dai_link msm_auto_fe_dai_links[] = { .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, .ignore_pmdown_time = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", + SND_SOC_DAILINK_REG(quin_tdm_rx_7_hostless), }, { .name = "Quinary TDM TX 7 Hostless", .stream_name = "Quinary TDM TX 7 Hostless", - .cpu_dai_name = "QUIN_TDM_TX_7_HOSTLESS", - .platform_name = "msm-pcm-hostless", .dynamic = 1, .dpcm_capture = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, @@ -5864,76 +5698,67 @@ static struct snd_soc_dai_link msm_auto_fe_dai_links[] = { .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, .ignore_pmdown_time = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", + SND_SOC_DAILINK_REG(quin_tdm_tx_7_hostless), }, { .name = MSM_DAILINK_NAME(Media22), .stream_name = "MultiMedia22", - .cpu_dai_name = "MultiMedia22", - .platform_name = "msm-pcm-dsp.0", .dynamic = 1, +#if IS_ENABLED(CONFIG_AUDIO_QGKI) .async_ops = ASYNC_DPCM_SND_SOC_PREPARE, +#endif /* CONFIG_AUDIO_QGKI */ .dpcm_playback = 1, .dpcm_capture = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .ignore_suspend = 1, .ignore_pmdown_time = 1, - .id = MSM_FRONTEND_DAI_MULTIMEDIA22 + .id = MSM_FRONTEND_DAI_MULTIMEDIA22, + SND_SOC_DAILINK_REG(multimedia22), }, { .name = MSM_DAILINK_NAME(Media23), .stream_name = "MultiMedia23", - .cpu_dai_name = "MultiMedia23", - .platform_name = "msm-pcm-dsp.1", .dynamic = 1, +#if IS_ENABLED(CONFIG_AUDIO_QGKI) .async_ops = ASYNC_DPCM_SND_SOC_PREPARE, +#endif /* CONFIG_AUDIO_QGKI */ .dpcm_playback = 1, .dpcm_capture = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .ignore_suspend = 1, .ignore_pmdown_time = 1, - .id = MSM_FRONTEND_DAI_MULTIMEDIA23 + .id = MSM_FRONTEND_DAI_MULTIMEDIA23, + SND_SOC_DAILINK_REG(multimedia23), }, { .name = MSM_DAILINK_NAME(Media24), .stream_name = "MultiMedia24", - .cpu_dai_name = "MultiMedia24", - .platform_name = "msm-pcm-loopback", .dynamic = 1, .dpcm_playback = 1, .dpcm_capture = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .ignore_suspend = 1, .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_pmdown_time = 1, - .id = MSM_FRONTEND_DAI_MULTIMEDIA24 + .id = MSM_FRONTEND_DAI_MULTIMEDIA24, + SND_SOC_DAILINK_REG(multimedia24), }, { .name = MSM_DAILINK_NAME(Media25), .stream_name = "MultiMedia25", - .cpu_dai_name = "MultiMedia25", - .platform_name = "msm-pcm-loopback", .dynamic = 1, .dpcm_playback = 1, .dpcm_capture = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .ignore_suspend = 1, .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_pmdown_time = 1, - .id = MSM_FRONTEND_DAI_MULTIMEDIA25 + .id = MSM_FRONTEND_DAI_MULTIMEDIA25, + SND_SOC_DAILINK_REG(multimedia25), }, }; @@ -5942,14 +5767,12 @@ static struct snd_soc_dai_link msm_custom_fe_dai_links[] = { { .name = MSM_DAILINK_NAME(Media1), .stream_name = "MultiMedia1", - .cpu_dai_name = "MultiMedia1", - .platform_name = "msm-pcm-dsp.1", .dynamic = 1, +#if IS_ENABLED(CONFIG_AUDIO_QGKI) .async_ops = ASYNC_DPCM_SND_SOC_PREPARE, +#endif /* CONFIG_AUDIO_QGKI */ .dpcm_playback = 1, .dpcm_capture = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, .ignore_suspend = 1, @@ -5957,18 +5780,17 @@ static struct snd_soc_dai_link msm_custom_fe_dai_links[] = { .ignore_pmdown_time = 1, .id = MSM_FRONTEND_DAI_MULTIMEDIA1, .ops = &msm_fe_qos_ops, + SND_SOC_DAILINK_REG(multimedia1), }, { .name = MSM_DAILINK_NAME(Media2), .stream_name = "MultiMedia2", - .cpu_dai_name = "MultiMedia2", - .platform_name = "msm-pcm-dsp.1", .dynamic = 1, +#if IS_ENABLED(CONFIG_AUDIO_QGKI) .async_ops = ASYNC_DPCM_SND_SOC_PREPARE, +#endif /* CONFIG_AUDIO_QGKI */ .dpcm_playback = 1, .dpcm_capture = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, .ignore_suspend = 1, @@ -5976,18 +5798,17 @@ static struct snd_soc_dai_link msm_custom_fe_dai_links[] = { .ignore_pmdown_time = 1, .id = MSM_FRONTEND_DAI_MULTIMEDIA2, .ops = &msm_fe_qos_ops, + SND_SOC_DAILINK_REG(multimedia2), }, { .name = MSM_DAILINK_NAME(Media3), .stream_name = "MultiMedia3", - .cpu_dai_name = "MultiMedia3", - .platform_name = "msm-pcm-dsp.1", .dynamic = 1, +#if IS_ENABLED(CONFIG_AUDIO_QGKI) .async_ops = ASYNC_DPCM_SND_SOC_PREPARE, +#endif /* CONFIG_AUDIO_QGKI */ .dpcm_playback = 1, .dpcm_capture = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, .ignore_suspend = 1, @@ -5995,18 +5816,17 @@ static struct snd_soc_dai_link msm_custom_fe_dai_links[] = { .ignore_pmdown_time = 1, .id = MSM_FRONTEND_DAI_MULTIMEDIA3, .ops = &msm_fe_qos_ops, + SND_SOC_DAILINK_REG(multimedia3), }, { .name = MSM_DAILINK_NAME(Media5), .stream_name = "MultiMedia5", - .cpu_dai_name = "MultiMedia5", - .platform_name = "msm-pcm-dsp.1", .dynamic = 1, +#if IS_ENABLED(CONFIG_AUDIO_QGKI) .async_ops = ASYNC_DPCM_SND_SOC_PREPARE, +#endif /* CONFIG_AUDIO_QGKI */ .dpcm_playback = 1, .dpcm_capture = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, .ignore_suspend = 1, @@ -6014,18 +5834,17 @@ static struct snd_soc_dai_link msm_custom_fe_dai_links[] = { .ignore_pmdown_time = 1, .id = MSM_FRONTEND_DAI_MULTIMEDIA5, .ops = &msm_fe_qos_ops, + SND_SOC_DAILINK_REG(multimedia5), }, { .name = MSM_DAILINK_NAME(Media6), .stream_name = "MultiMedia6", - .cpu_dai_name = "MultiMedia6", - .platform_name = "msm-pcm-dsp.1", .dynamic = 1, +#if IS_ENABLED(CONFIG_AUDIO_QGKI) .async_ops = ASYNC_DPCM_SND_SOC_PREPARE, +#endif /* CONFIG_AUDIO_QGKI */ .dpcm_playback = 1, .dpcm_capture = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, .ignore_suspend = 1, @@ -6033,18 +5852,17 @@ static struct snd_soc_dai_link msm_custom_fe_dai_links[] = { .ignore_pmdown_time = 1, .id = MSM_FRONTEND_DAI_MULTIMEDIA6, .ops = &msm_fe_qos_ops, + SND_SOC_DAILINK_REG(multimedia36), }, { .name = MSM_DAILINK_NAME(Media8), .stream_name = "MultiMedia8", - .cpu_dai_name = "MultiMedia8", - .platform_name = "msm-pcm-dsp.1", .dynamic = 1, +#if IS_ENABLED(CONFIG_AUDIO_QGKI) .async_ops = ASYNC_DPCM_SND_SOC_PREPARE, +#endif /* CONFIG_AUDIO_QGKI */ .dpcm_playback = 1, .dpcm_capture = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, .ignore_suspend = 1, @@ -6052,18 +5870,17 @@ static struct snd_soc_dai_link msm_custom_fe_dai_links[] = { .ignore_pmdown_time = 1, .id = MSM_FRONTEND_DAI_MULTIMEDIA8, .ops = &msm_fe_qos_ops, + SND_SOC_DAILINK_REG(multimedia38), }, { .name = MSM_DAILINK_NAME(Media9), .stream_name = "MultiMedia9", - .cpu_dai_name = "MultiMedia9", - .platform_name = "msm-pcm-dsp.1", .dynamic = 1, +#if IS_ENABLED(CONFIG_AUDIO_QGKI) .async_ops = ASYNC_DPCM_SND_SOC_PREPARE, +#endif /* CONFIG_AUDIO_QGKI */ .dpcm_playback = 1, .dpcm_capture = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, .ignore_suspend = 1, @@ -6071,12 +5888,11 @@ static struct snd_soc_dai_link msm_custom_fe_dai_links[] = { .ignore_pmdown_time = 1, .id = MSM_FRONTEND_DAI_MULTIMEDIA9, .ops = &msm_fe_qos_ops, + SND_SOC_DAILINK_REG(multimedia39), }, { .name = "INT_HFP_BT Hostless", .stream_name = "INT_HFP_BT Hostless", - .cpu_dai_name = "INT_HFP_BT_HOSTLESS", - .platform_name = "msm-pcm-hostless", .dynamic = 1, .dpcm_playback = 1, .dpcm_capture = 1, @@ -6086,14 +5902,11 @@ static struct snd_soc_dai_link msm_custom_fe_dai_links[] = { .ignore_suspend = 1, /* this dainlink has playback support */ .ignore_pmdown_time = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", + SND_SOC_DAILINK_REG(int_hfp_bt_hostless), }, { .name = "AUXPCM Hostless", .stream_name = "AUXPCM Hostless", - .cpu_dai_name = "AUXPCM_HOSTLESS", - .platform_name = "msm-pcm-hostless", .dynamic = 1, .dpcm_playback = 1, .dpcm_capture = 1, @@ -6103,19 +5916,14 @@ static struct snd_soc_dai_link msm_custom_fe_dai_links[] = { .ignore_suspend = 1, /* this dainlink has playback support */ .ignore_pmdown_time = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", + SND_SOC_DAILINK_REG(auxpcm_hostless), }, { .name = MSM_DAILINK_NAME(Media20), .stream_name = "MultiMedia20", - .cpu_dai_name = "MultiMedia20", - .platform_name = "msm-pcm-loopback", .dynamic = 1, .dpcm_playback = 1, .dpcm_capture = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, .ignore_suspend = 1, @@ -6123,6 +5931,7 @@ static struct snd_soc_dai_link msm_custom_fe_dai_links[] = { /* this dainlink has playback support */ .ignore_pmdown_time = 1, .id = MSM_FRONTEND_DAI_MULTIMEDIA20, + SND_SOC_DAILINK_REG(multimedia20), }, }; @@ -6131,10 +5940,6 @@ static struct snd_soc_dai_link msm_common_be_dai_links[] = { { .name = LPASS_BE_AFE_PCM_RX, .stream_name = "AFE Playback", - .cpu_dai_name = "msm-dai-q6-dev.224", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_AFE_PCM_RX, @@ -6142,112 +5947,88 @@ static struct snd_soc_dai_link msm_common_be_dai_links[] = { /* this dainlink has playback support */ .ignore_pmdown_time = 1, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(afe_pcm_rx), }, { .name = LPASS_BE_AFE_PCM_TX, .stream_name = "AFE Capture", - .cpu_dai_name = "msm-dai-q6-dev.225", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-tx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_AFE_PCM_TX, .be_hw_params_fixup = msm_be_hw_params_fixup, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(afe_pcm_tx), }, /* Incall Record Uplink BACK END DAI Link */ { .name = LPASS_BE_INCALL_RECORD_TX, .stream_name = "Voice Uplink Capture", - .cpu_dai_name = "msm-dai-q6-dev.32772", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-tx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_INCALL_RECORD_TX, .be_hw_params_fixup = msm_be_hw_params_fixup, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(incall_record_tx), }, /* Incall Record Downlink BACK END DAI Link */ { .name = LPASS_BE_INCALL_RECORD_RX, .stream_name = "Voice Downlink Capture", - .cpu_dai_name = "msm-dai-q6-dev.32771", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-tx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_INCALL_RECORD_RX, .be_hw_params_fixup = msm_be_hw_params_fixup, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(incall_record_rx), }, /* Incall Music BACK END DAI Link */ { .name = LPASS_BE_VOICE_PLAYBACK_TX, .stream_name = "Voice Farend Playback", - .cpu_dai_name = "msm-dai-q6-dev.32773", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_VOICE_PLAYBACK_TX, .be_hw_params_fixup = msm_be_hw_params_fixup, .ignore_suspend = 1, .ignore_pmdown_time = 1, + SND_SOC_DAILINK_REG(voice_playback_tx), }, /* Incall Music 2 BACK END DAI Link */ { .name = LPASS_BE_VOICE2_PLAYBACK_TX, .stream_name = "Voice2 Farend Playback", - .cpu_dai_name = "msm-dai-q6-dev.32770", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_VOICE2_PLAYBACK_TX, .be_hw_params_fixup = msm_be_hw_params_fixup, .ignore_suspend = 1, .ignore_pmdown_time = 1, + SND_SOC_DAILINK_REG(voice2_playback_tx), }, { .name = LPASS_BE_USB_AUDIO_RX, .stream_name = "USB Audio Playback", - .cpu_dai_name = "msm-dai-q6-dev.28672", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_USB_RX, .be_hw_params_fixup = msm_be_hw_params_fixup, .ignore_pmdown_time = 1, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(usb_audio_rx), }, { .name = LPASS_BE_USB_AUDIO_TX, .stream_name = "USB Audio Capture", - .cpu_dai_name = "msm-dai-q6-dev.28673", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-tx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_USB_TX, .be_hw_params_fixup = msm_be_hw_params_fixup, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(usb_audio_tx), }, { .name = LPASS_BE_PRI_TDM_RX_0, .stream_name = "Primary TDM0 Playback", - .cpu_dai_name = "msm-dai-q6-tdm.36864", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_PRI_TDM_RX_0, @@ -6255,28 +6036,22 @@ static struct snd_soc_dai_link msm_common_be_dai_links[] = { .ops = &sa6155_tdm_be_ops, .ignore_suspend = 1, .ignore_pmdown_time = 1, + SND_SOC_DAILINK_REG(pri_tdm_rx_0), }, { .name = LPASS_BE_PRI_TDM_TX_0, .stream_name = "Primary TDM0 Capture", - .cpu_dai_name = "msm-dai-q6-tdm.36865", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-tx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_PRI_TDM_TX_0, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa6155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(pri_tdm_tx_0), }, { .name = LPASS_BE_SEC_TDM_RX_0, .stream_name = "Secondary TDM0 Playback", - .cpu_dai_name = "msm-dai-q6-tdm.36880", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_SEC_TDM_RX_0, @@ -6284,28 +6059,22 @@ static struct snd_soc_dai_link msm_common_be_dai_links[] = { .ops = &sa6155_tdm_be_ops, .ignore_suspend = 1, .ignore_pmdown_time = 1, + SND_SOC_DAILINK_REG(sec_tdm_rx_0), }, { .name = LPASS_BE_SEC_TDM_TX_0, .stream_name = "Secondary TDM0 Capture", - .cpu_dai_name = "msm-dai-q6-tdm.36881", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-tx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_SEC_TDM_TX_0, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa6155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(sec_tdm_tx_0), }, { .name = LPASS_BE_TERT_TDM_RX_0, .stream_name = "Tertiary TDM0 Playback", - .cpu_dai_name = "msm-dai-q6-tdm.36896", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_TERT_TDM_RX_0, @@ -6313,28 +6082,22 @@ static struct snd_soc_dai_link msm_common_be_dai_links[] = { .ops = &sa6155_tdm_be_ops, .ignore_suspend = 1, .ignore_pmdown_time = 1, + SND_SOC_DAILINK_REG(tert_tdm_rx_0), }, { .name = LPASS_BE_TERT_TDM_TX_0, .stream_name = "Tertiary TDM0 Capture", - .cpu_dai_name = "msm-dai-q6-tdm.36897", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-tx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_TERT_TDM_TX_0, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa6155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(tert_tdm_tx_0), }, { .name = LPASS_BE_QUAT_TDM_RX_0, .stream_name = "Quaternary TDM0 Playback", - .cpu_dai_name = "msm-dai-q6-tdm.36912", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_QUAT_TDM_RX_0, @@ -6342,28 +6105,22 @@ static struct snd_soc_dai_link msm_common_be_dai_links[] = { .ops = &sa6155_tdm_be_ops, .ignore_suspend = 1, .ignore_pmdown_time = 1, + SND_SOC_DAILINK_REG(quat_tdm_rx_0), }, { .name = LPASS_BE_QUAT_TDM_TX_0, .stream_name = "Quaternary TDM0 Capture", - .cpu_dai_name = "msm-dai-q6-tdm.36913", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-tx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_QUAT_TDM_TX_0, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa6155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(quat_tdm_tx_0), }, { .name = LPASS_BE_QUIN_TDM_RX_0, .stream_name = "Quinary TDM0 Playback", - .cpu_dai_name = "msm-dai-q6-tdm.36928", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_QUIN_TDM_RX_0, @@ -6371,20 +6128,18 @@ static struct snd_soc_dai_link msm_common_be_dai_links[] = { .ops = &sa6155_tdm_be_ops, .ignore_suspend = 1, .ignore_pmdown_time = 1, + SND_SOC_DAILINK_REG(quin_tdm_rx_0), }, { .name = LPASS_BE_QUIN_TDM_TX_0, .stream_name = "Quinary TDM0 Capture", - .cpu_dai_name = "msm-dai-q6-tdm.36929", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-tx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_QUIN_TDM_TX_0, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa6155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(quin_tdm_tx_0), }, }; @@ -6393,436 +6148,343 @@ static struct snd_soc_dai_link msm_auto_be_dai_links[] = { { .name = LPASS_BE_PRI_TDM_RX_1, .stream_name = "Primary TDM1 Playback", - .cpu_dai_name = "msm-dai-q6-tdm.36866", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_PRI_TDM_RX_1, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa6155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(pri_tdm_rx_1), }, { .name = LPASS_BE_PRI_TDM_RX_2, .stream_name = "Primary TDM2 Playback", - .cpu_dai_name = "msm-dai-q6-tdm.36868", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_PRI_TDM_RX_2, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa6155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(pri_tdm_rx_2), }, { .name = LPASS_BE_PRI_TDM_RX_3, .stream_name = "Primary TDM3 Playback", - .cpu_dai_name = "msm-dai-q6-tdm.36870", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_PRI_TDM_RX_3, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa6155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(pri_tdm_rx_3), }, { .name = LPASS_BE_PRI_TDM_TX_1, .stream_name = "Primary TDM1 Capture", - .cpu_dai_name = "msm-dai-q6-tdm.36867", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_PRI_TDM_TX_1, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa6155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(pri_tdm_tx_1), }, { .name = LPASS_BE_PRI_TDM_TX_2, .stream_name = "Primary TDM2 Capture", - .cpu_dai_name = "msm-dai-q6-tdm.36869", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_PRI_TDM_TX_2, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa6155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(pri_tdm_tx_2), }, { .name = LPASS_BE_PRI_TDM_TX_3, .stream_name = "Primary TDM3 Capture", - .cpu_dai_name = "msm-dai-q6-tdm.36871", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_PRI_TDM_TX_3, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa6155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(pri_tdm_tx_3), }, { .name = LPASS_BE_SEC_TDM_RX_1, .stream_name = "Secondary TDM1 Playback", - .cpu_dai_name = "msm-dai-q6-tdm.36882", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_SEC_TDM_RX_1, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa6155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(sec_tdm_rx_1), }, { .name = LPASS_BE_SEC_TDM_RX_2, .stream_name = "Secondary TDM2 Playback", - .cpu_dai_name = "msm-dai-q6-tdm.36884", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_SEC_TDM_RX_2, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa6155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(sec_tdm_rx_2), }, { .name = LPASS_BE_SEC_TDM_RX_3, .stream_name = "Secondary TDM3 Playback", - .cpu_dai_name = "msm-dai-q6-tdm.36886", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_SEC_TDM_RX_3, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa6155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(sec_tdm_rx_3), }, { .name = LPASS_BE_SEC_TDM_RX_7, .stream_name = "Secondary TDM7 Playback", - .cpu_dai_name = "msm-dai-q6-tdm.36894", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_SEC_TDM_RX_7, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa6155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(sec_tdm_rx_7), }, { .name = LPASS_BE_SEC_TDM_TX_1, .stream_name = "Secondary TDM1 Capture", - .cpu_dai_name = "msm-dai-q6-tdm.36883", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_SEC_TDM_TX_1, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa6155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(sec_tdm_tx_1), }, { .name = LPASS_BE_SEC_TDM_TX_2, .stream_name = "Secondary TDM2 Capture", - .cpu_dai_name = "msm-dai-q6-tdm.36885", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_SEC_TDM_TX_2, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa6155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(sec_tdm_tx_2), }, { .name = LPASS_BE_SEC_TDM_TX_3, .stream_name = "Secondary TDM3 Capture", - .cpu_dai_name = "msm-dai-q6-tdm.36887", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_SEC_TDM_TX_3, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa6155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(sec_tdm_tx_3), }, { .name = LPASS_BE_TERT_TDM_RX_1, .stream_name = "Tertiary TDM1 Playback", - .cpu_dai_name = "msm-dai-q6-tdm.36898", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_TERT_TDM_RX_1, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa6155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(tert_tdm_rx_1), }, { .name = LPASS_BE_TERT_TDM_RX_2, .stream_name = "Tertiary TDM2 Playback", - .cpu_dai_name = "msm-dai-q6-tdm.36900", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_TERT_TDM_RX_2, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa6155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(tert_tdm_rx_2), }, { .name = LPASS_BE_TERT_TDM_RX_3, .stream_name = "Tertiary TDM3 Playback", - .cpu_dai_name = "msm-dai-q6-tdm.36902", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_TERT_TDM_RX_3, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa6155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(tert_tdm_rx_3), }, { .name = LPASS_BE_TERT_TDM_RX_4, .stream_name = "Tertiary TDM4 Playback", - .cpu_dai_name = "msm-dai-q6-tdm.36904", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_TERT_TDM_RX_4, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa6155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(tert_tdm_rx_4), }, { .name = LPASS_BE_TERT_TDM_TX_1, .stream_name = "Tertiary TDM1 Capture", - .cpu_dai_name = "msm-dai-q6-tdm.36899", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_TERT_TDM_TX_1, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa6155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(tert_tdm_tx_1), }, { .name = LPASS_BE_TERT_TDM_TX_2, .stream_name = "Tertiary TDM2 Capture", - .cpu_dai_name = "msm-dai-q6-tdm.36901", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_TERT_TDM_TX_2, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa6155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(tert_tdm_tx_2), }, { .name = LPASS_BE_TERT_TDM_TX_3, .stream_name = "Tertiary TDM3 Capture", - .cpu_dai_name = "msm-dai-q6-tdm.36903", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_TERT_TDM_TX_3, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa6155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(tert_tdm_tx_3), }, { .name = LPASS_BE_TERT_TDM_TX_7, .stream_name = "Tertiary TDM7 Capture", - .cpu_dai_name = "msm-dai-q6-tdm.36911", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_TERT_TDM_TX_7, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa6155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(tert_tdm_tx_7), }, { .name = LPASS_BE_QUAT_TDM_RX_1, .stream_name = "Quaternary TDM1 Playback", - .cpu_dai_name = "msm-dai-q6-tdm.36914", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_QUAT_TDM_RX_1, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa6155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(quat_tdm_rx_1), }, { .name = LPASS_BE_QUAT_TDM_RX_2, .stream_name = "Quaternary TDM2 Playback", - .cpu_dai_name = "msm-dai-q6-tdm.36916", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_QUAT_TDM_RX_2, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa6155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(quat_tdm_rx_2), }, { .name = LPASS_BE_QUAT_TDM_RX_3, .stream_name = "Quaternary TDM3 Playback", - .cpu_dai_name = "msm-dai-q6-tdm.36918", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_QUAT_TDM_RX_3, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa6155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(quat_tdm_rx_3), }, { .name = LPASS_BE_QUAT_TDM_RX_7, .stream_name = "Quaternary TDM7 Playback", - .cpu_dai_name = "msm-dai-q6-tdm.36926", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_QUAT_TDM_RX_7, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa6155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(quat_tdm_rx_7), }, { .name = LPASS_BE_QUAT_TDM_TX_1, .stream_name = "Quaternary TDM1 Capture", - .cpu_dai_name = "msm-dai-q6-tdm.36915", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_QUAT_TDM_TX_1, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa6155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(quat_tdm_tx_1), }, { .name = LPASS_BE_QUAT_TDM_TX_2, .stream_name = "Quaternary TDM2 Capture", - .cpu_dai_name = "msm-dai-q6-tdm.36917", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_QUAT_TDM_TX_2, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa6155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(quat_tdm_tx_2), }, { .name = LPASS_BE_QUAT_TDM_TX_3, .stream_name = "Quaternary TDM3 Capture", - .cpu_dai_name = "msm-dai-q6-tdm.36919", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_QUAT_TDM_TX_3, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa6155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(quat_tdm_tx_3), }, { .name = LPASS_BE_QUAT_TDM_TX_7, .stream_name = "Quaternary TDM7 Capture", - .cpu_dai_name = "msm-dai-q6-tdm.36927", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_QUAT_TDM_TX_7, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa6155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(quat_tdm_tx_7), }, { .name = LPASS_BE_QUIN_TDM_RX_7, .stream_name = "Quinary TDM7 Playback", - .cpu_dai_name = "msm-dai-q6-tdm.36942", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_QUIN_TDM_RX_7, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa6155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(quin_tdm_rx_7), }, { .name = LPASS_BE_QUIN_TDM_TX_7, .stream_name = "Quinary TDM7 Capture", - .cpu_dai_name = "msm-dai-q6-tdm.36943", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_QUIN_TDM_TX_7, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa6155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(quin_tdm_tx_7), }, }; @@ -6831,16 +6493,13 @@ static struct snd_soc_dai_link ext_disp_be_dai_link[] = { { .name = LPASS_BE_DISPLAY_PORT, .stream_name = "Display Port Playback", - .cpu_dai_name = "msm-dai-q6-dp.24608", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-ext-disp-audio-codec-rx", - .codec_dai_name = "msm_dp_audio_codec_rx_dai", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_DISPLAY_PORT_RX, .be_hw_params_fixup = msm_be_hw_params_fixup, .ignore_pmdown_time = 1, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(ext_display_port), }, }; @@ -6848,10 +6507,6 @@ static struct snd_soc_dai_link msm_mi2s_be_dai_links[] = { { .name = LPASS_BE_PRI_MI2S_RX, .stream_name = "Primary MI2S Playback", - .cpu_dai_name = "msm-dai-q6-mi2s.0", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_PRI_MI2S_RX, @@ -6859,28 +6514,22 @@ static struct snd_soc_dai_link msm_mi2s_be_dai_links[] = { .ops = &msm_mi2s_be_ops, .ignore_suspend = 1, .ignore_pmdown_time = 1, + SND_SOC_DAILINK_REG(pri_mi2s_rx), }, { .name = LPASS_BE_PRI_MI2S_TX, .stream_name = "Primary MI2S Capture", - .cpu_dai_name = "msm-dai-q6-mi2s.0", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-tx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_PRI_MI2S_TX, .be_hw_params_fixup = msm_be_hw_params_fixup, .ops = &msm_mi2s_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(pri_mi2s_tx), }, { .name = LPASS_BE_SEC_MI2S_RX, .stream_name = "Secondary MI2S Playback", - .cpu_dai_name = "msm-dai-q6-mi2s.1", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_SECONDARY_MI2S_RX, @@ -6888,28 +6537,22 @@ static struct snd_soc_dai_link msm_mi2s_be_dai_links[] = { .ops = &msm_mi2s_be_ops, .ignore_suspend = 1, .ignore_pmdown_time = 1, + SND_SOC_DAILINK_REG(sec_mi2s_rx), }, { .name = LPASS_BE_SEC_MI2S_TX, .stream_name = "Secondary MI2S Capture", - .cpu_dai_name = "msm-dai-q6-mi2s.1", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-tx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_SECONDARY_MI2S_TX, .be_hw_params_fixup = msm_be_hw_params_fixup, .ops = &msm_mi2s_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(sec_mi2s_tx), }, { .name = LPASS_BE_TERT_MI2S_RX, .stream_name = "Tertiary MI2S Playback", - .cpu_dai_name = "msm-dai-q6-mi2s.2", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_TERTIARY_MI2S_RX, @@ -6917,28 +6560,22 @@ static struct snd_soc_dai_link msm_mi2s_be_dai_links[] = { .ops = &msm_mi2s_be_ops, .ignore_suspend = 1, .ignore_pmdown_time = 1, + SND_SOC_DAILINK_REG(tert_mi2s_rx), }, { .name = LPASS_BE_TERT_MI2S_TX, .stream_name = "Tertiary MI2S Capture", - .cpu_dai_name = "msm-dai-q6-mi2s.2", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-tx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_TERTIARY_MI2S_TX, .be_hw_params_fixup = msm_be_hw_params_fixup, .ops = &msm_mi2s_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(tert_mi2s_tx), }, { .name = LPASS_BE_QUAT_MI2S_RX, .stream_name = "Quaternary MI2S Playback", - .cpu_dai_name = "msm-dai-q6-mi2s.3", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_QUATERNARY_MI2S_RX, @@ -6946,28 +6583,22 @@ static struct snd_soc_dai_link msm_mi2s_be_dai_links[] = { .ops = &msm_mi2s_be_ops, .ignore_suspend = 1, .ignore_pmdown_time = 1, + SND_SOC_DAILINK_REG(quat_mi2s_rx), }, { .name = LPASS_BE_QUAT_MI2S_TX, .stream_name = "Quaternary MI2S Capture", - .cpu_dai_name = "msm-dai-q6-mi2s.3", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-tx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_QUATERNARY_MI2S_TX, .be_hw_params_fixup = msm_be_hw_params_fixup, .ops = &msm_mi2s_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(quat_mi2s_tx), }, { .name = LPASS_BE_QUIN_MI2S_RX, .stream_name = "Quinary MI2S Playback", - .cpu_dai_name = "msm-dai-q6-mi2s.4", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_QUINARY_MI2S_RX, @@ -6975,20 +6606,18 @@ static struct snd_soc_dai_link msm_mi2s_be_dai_links[] = { .ops = &msm_mi2s_be_ops, .ignore_suspend = 1, .ignore_pmdown_time = 1, + SND_SOC_DAILINK_REG(quin_mi2s_rx), }, { .name = LPASS_BE_QUIN_MI2S_TX, .stream_name = "Quinary MI2S Capture", - .cpu_dai_name = "msm-dai-q6-mi2s.4", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-tx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_QUINARY_MI2S_TX, .be_hw_params_fixup = msm_be_hw_params_fixup, .ops = &msm_mi2s_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(quin_mi2s_tx), }, }; @@ -6997,140 +6626,110 @@ static struct snd_soc_dai_link msm_auxpcm_be_dai_links[] = { { .name = LPASS_BE_AUXPCM_RX, .stream_name = "AUX PCM Playback", - .cpu_dai_name = "msm-dai-q6-auxpcm.1", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_AUXPCM_RX, .be_hw_params_fixup = msm_be_hw_params_fixup, .ignore_pmdown_time = 1, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(auxpcm_rx), }, { .name = LPASS_BE_AUXPCM_TX, .stream_name = "AUX PCM Capture", - .cpu_dai_name = "msm-dai-q6-auxpcm.1", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-tx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_AUXPCM_TX, .be_hw_params_fixup = msm_be_hw_params_fixup, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(auxpcm_tx), }, /* Secondary AUX PCM Backend DAI Links */ { .name = LPASS_BE_SEC_AUXPCM_RX, .stream_name = "Sec AUX PCM Playback", - .cpu_dai_name = "msm-dai-q6-auxpcm.2", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_SEC_AUXPCM_RX, .be_hw_params_fixup = msm_be_hw_params_fixup, .ignore_pmdown_time = 1, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(sec_auxpcm_rx), }, { .name = LPASS_BE_SEC_AUXPCM_TX, .stream_name = "Sec AUX PCM Capture", - .cpu_dai_name = "msm-dai-q6-auxpcm.2", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-tx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_SEC_AUXPCM_TX, .be_hw_params_fixup = msm_be_hw_params_fixup, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(sec_auxpcm_tx), }, /* Tertiary AUX PCM Backend DAI Links */ { .name = LPASS_BE_TERT_AUXPCM_RX, .stream_name = "Tert AUX PCM Playback", - .cpu_dai_name = "msm-dai-q6-auxpcm.3", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_TERT_AUXPCM_RX, .be_hw_params_fixup = msm_be_hw_params_fixup, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(tert_auxpcm_rx), }, { .name = LPASS_BE_TERT_AUXPCM_TX, .stream_name = "Tert AUX PCM Capture", - .cpu_dai_name = "msm-dai-q6-auxpcm.3", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-tx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_TERT_AUXPCM_TX, .be_hw_params_fixup = msm_be_hw_params_fixup, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(tert_auxpcm_tx), }, /* Quaternary AUX PCM Backend DAI Links */ { .name = LPASS_BE_QUAT_AUXPCM_RX, .stream_name = "Quat AUX PCM Playback", - .cpu_dai_name = "msm-dai-q6-auxpcm.4", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_QUAT_AUXPCM_RX, .be_hw_params_fixup = msm_be_hw_params_fixup, .ignore_pmdown_time = 1, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(quat_auxpcm_rx), }, { .name = LPASS_BE_QUAT_AUXPCM_TX, .stream_name = "Quat AUX PCM Capture", - .cpu_dai_name = "msm-dai-q6-auxpcm.4", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-tx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_QUAT_AUXPCM_TX, .be_hw_params_fixup = msm_be_hw_params_fixup, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(quat_auxpcm_tx), }, /* Quinary AUX PCM Backend DAI Links */ { .name = LPASS_BE_QUIN_AUXPCM_RX, .stream_name = "Quin AUX PCM Playback", - .cpu_dai_name = "msm-dai-q6-auxpcm.5", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_QUIN_AUXPCM_RX, .be_hw_params_fixup = msm_be_hw_params_fixup, .ignore_pmdown_time = 1, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(quin_auxpcm_rx), }, { .name = LPASS_BE_QUIN_AUXPCM_TX, .stream_name = "Quin AUX PCM Capture", - .cpu_dai_name = "msm-dai-q6-auxpcm.5", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-tx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_QUIN_AUXPCM_TX, .be_hw_params_fixup = msm_be_hw_params_fixup, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(quin_auxpcm_tx), }, }; @@ -7163,7 +6762,7 @@ struct snd_soc_card snd_soc_card_auto_custom_msm = { static int msm_populate_dai_link_component_of_node( struct snd_soc_card *card) { - int i, index, ret = 0; + int i, j, index, ret = 0; struct device *cdev = card->dev; struct snd_soc_dai_link *dai_link = card->dai_link; struct device_node *np; @@ -7174,18 +6773,18 @@ static int msm_populate_dai_link_component_of_node( } for (i = 0; i < card->num_links; i++) { - if (dai_link[i].platform_of_node && dai_link[i].cpu_of_node) + if (dai_link[i].platforms->of_node && dai_link[i].cpus->of_node) continue; /* populate platform_of_node for snd card dai links */ - if (dai_link[i].platform_name && - !dai_link[i].platform_of_node) { + 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].platform_name); + dai_link[i].platforms->name); if (index < 0) { pr_err("%s: No match found for platform name: %s\n", - __func__, dai_link[i].platform_name); + __func__, dai_link[i].platforms->name); ret = index; goto err; } @@ -7193,52 +6792,59 @@ static int msm_populate_dai_link_component_of_node( index); if (!np) { pr_err("%s: retrieving phandle for platform %s, index %d failed\n", - __func__, dai_link[i].platform_name, + __func__, dai_link[i].platforms->name, index); ret = -ENODEV; goto err; } - dai_link[i].platform_of_node = np; - dai_link[i].platform_name = NULL; + dai_link[i].platforms->of_node = np; + dai_link[i].platforms->name = NULL; } /* populate cpu_of_node for snd card dai links */ - if (dai_link[i].cpu_dai_name && !dai_link[i].cpu_of_node) { + if (dai_link[i].cpus->dai_name && !dai_link[i].cpus->of_node) { index = of_property_match_string(cdev->of_node, "asoc-cpu-names", - dai_link[i].cpu_dai_name); + dai_link[i].cpus->dai_name); if (index >= 0) { np = of_parse_phandle(cdev->of_node, "asoc-cpu", index); if (!np) { pr_err("%s: retrieving phandle for cpu dai %s failed\n", __func__, - dai_link[i].cpu_dai_name); + dai_link[i].cpus->dai_name); ret = -ENODEV; goto err; } - dai_link[i].cpu_of_node = np; - dai_link[i].cpu_dai_name = NULL; + dai_link[i].cpus->of_node = np; + dai_link[i].cpus->dai_name = NULL; } } /* populate codec_of_node for snd card dai links */ - if (dai_link[i].codec_name && !dai_link[i].codec_of_node) { - index = of_property_match_string(cdev->of_node, - "asoc-codec-names", - dai_link[i].codec_name); - if (index < 0) - continue; - np = of_parse_phandle(cdev->of_node, "asoc-codec", - index); - if (!np) { - pr_err("%s: retrieving phandle for codec %s failed\n", - __func__, dai_link[i].codec_name); - ret = -ENODEV; - goto err; + if (dai_link[i].num_codecs > 0) { + for (j = 0; j < dai_link[i].num_codecs; j++) { + if (dai_link[i].codecs[j].of_node || + !dai_link[i].codecs[j].name) + continue; + + index = of_property_match_string(cdev->of_node, + "asoc-codec-names", + dai_link[i].codecs[j].name); + if (index < 0) + continue; + np = of_parse_phandle(cdev->of_node, + "asoc-codec", + index); + if (!np) { + pr_err("%s: retrieving phandle for codec %s failed\n", + __func__, dai_link[i].codecs[j].name); + ret = -ENODEV; + goto err; + } + dai_link[i].codecs[j].of_node = np; + dai_link[i].codecs[j].name = NULL; } - dai_link[i].codec_of_node = np; - dai_link[i].codec_name = NULL; } } @@ -7476,8 +7082,9 @@ static int sa6155_ssr_enable(struct device *dev, void *data) } dev_info(dev, "%s: setting snd_card to ONLINE\n", __func__); +#if IS_ENABLED(CONFIG_AUDIO_QGKI) snd_soc_card_change_online_state(card, 1); - +#endif /* CONFIG_AUDIO_QGKI */ err: return ret; } @@ -7493,7 +7100,9 @@ static void sa6155_ssr_disable(struct device *dev, void *data) } dev_info(dev, "%s: setting snd_card to OFFLINE\n", __func__); +#if IS_ENABLED(CONFIG_AUDIO_QGKI) snd_soc_card_change_online_state(card, 0); +#endif /* CONFIG_AUDIO_QGKI */ } static const struct snd_event_ops sa6155_ssr_ops = { @@ -7543,9 +7152,10 @@ static int msm_asoc_machine_probe(struct platform_device *pdev) static int first_probe = 1; if (first_probe) { - place_marker("M - DRIVER Audio Init"); first_probe = 0; } + pr_debug("M - DRIVER Audio Init\n"); + if (!pdev->dev.of_node) { dev_err(&pdev->dev, "No platform supplied from device tree\n"); return -EINVAL; @@ -7624,7 +7234,7 @@ static int msm_asoc_machine_probe(struct platform_device *pdev) pr_err("%s: Registration with SND event FWK failed ret = %d\n", __func__, ret); - place_marker("M - DRIVER Audio Ready"); + pr_debug("M - DRIVER Audio Ready\n"); return 0; err: msm_release_pinctrl(pdev); diff --git a/asoc/sa8155.c b/asoc/sa8155.c old mode 100644 new mode 100755 index 0b409d7aa6..544a79140b --- a/asoc/sa8155.c +++ b/asoc/sa8155.c @@ -49,9 +49,10 @@ #include #include #include -#include #include "device_event.h" #include "msm-pcm-routing-v2.h" +#include "msm_dailink.h" + #define DRV_NAME "sa8155-asoc-snd" @@ -4851,21 +4852,7 @@ static struct snd_soc_ops sa8155_tdm_be_ops = { static int msm_fe_qos_prepare(struct snd_pcm_substream *substream) { - cpumask_t mask; - - if (pm_qos_request_active(&substream->latency_pm_qos_req)) - pm_qos_remove_request(&substream->latency_pm_qos_req); - - cpumask_clear(&mask); - cpumask_set_cpu(1, &mask); /* affine to core 1 */ - cpumask_set_cpu(2, &mask); /* affine to core 2 */ - cpumask_copy(&substream->latency_pm_qos_req.cpus_affine, &mask); - - substream->latency_pm_qos_req.type = PM_QOS_REQ_AFFINE_CORES; - - pm_qos_add_request(&substream->latency_pm_qos_req, - PM_QOS_CPU_DMA_LATENCY, - MSM_LL_QOS_VALUE); + pr_debug("%s: TODO: add new QOS implementation\n", __func__); return 0; } @@ -4996,43 +4983,37 @@ static struct snd_soc_dai_link msm_common_dai_links[] = { { .name = MSM_DAILINK_NAME(Media1), .stream_name = "MultiMedia1", - .cpu_dai_name = "MultiMedia1", - .platform_name = "msm-pcm-dsp.0", .dynamic = 1, +#if IS_ENABLED(CONFIG_AUDIO_QGKI) .async_ops = ASYNC_DPCM_SND_SOC_PREPARE, +#endif /* CONFIG_AUDIO_QGKI */ .dpcm_playback = 1, .dpcm_capture = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .ignore_suspend = 1, /* this dainlink has playback support */ .ignore_pmdown_time = 1, - .id = MSM_FRONTEND_DAI_MULTIMEDIA1 + .id = MSM_FRONTEND_DAI_MULTIMEDIA1, + SND_SOC_DAILINK_REG(multimedia1), }, { .name = MSM_DAILINK_NAME(Media2), .stream_name = "MultiMedia2", - .cpu_dai_name = "MultiMedia2", - .platform_name = "msm-pcm-dsp.0", .dynamic = 1, .dpcm_playback = 1, .dpcm_capture = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, .ignore_suspend = 1, /* this dainlink has playback support */ .ignore_pmdown_time = 1, .id = MSM_FRONTEND_DAI_MULTIMEDIA2, + SND_SOC_DAILINK_REG(multimedia2), }, { .name = "VoiceMMode1", .stream_name = "VoiceMMode1", - .cpu_dai_name = "VoiceMMode1", - .platform_name = "msm-pcm-voice", .dynamic = 1, .dpcm_playback = 1, .dpcm_capture = 1, @@ -5041,91 +5022,77 @@ static struct snd_soc_dai_link msm_common_dai_links[] = { .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, .ignore_pmdown_time = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .id = MSM_FRONTEND_DAI_VOICEMMODE1, + SND_SOC_DAILINK_REG(voicemmode1), }, { .name = "MSM VoIP", .stream_name = "VoIP", - .cpu_dai_name = "VoIP", - .platform_name = "msm-voip-dsp", .dynamic = 1, .dpcm_playback = 1, .dpcm_capture = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .ignore_suspend = 1, /* this dainlink has playback support */ .ignore_pmdown_time = 1, .id = MSM_FRONTEND_DAI_VOIP, + SND_SOC_DAILINK_REG(msmvoip), }, { .name = MSM_DAILINK_NAME(ULL), .stream_name = "MultiMedia3", - .cpu_dai_name = "MultiMedia3", - .platform_name = "msm-pcm-dsp.2", .dynamic = 1, +#if IS_ENABLED(CONFIG_AUDIO_QGKI) .async_ops = ASYNC_DPCM_SND_SOC_PREPARE, +#endif /* CONFIG_AUDIO_QGKI */ .dpcm_playback = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .ignore_suspend = 1, /* this dainlink has playback support */ .ignore_pmdown_time = 1, .id = MSM_FRONTEND_DAI_MULTIMEDIA3, + SND_SOC_DAILINK_REG(multimedia3), }, /* - SLIMBUS_0 Hostless */ { .name = "MSM AFE-PCM RX", .stream_name = "AFE-PROXY RX", - .cpu_dai_name = "msm-dai-q6-dev.241", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", - .platform_name = "msm-pcm-afe", .dpcm_playback = 1, .ignore_suspend = 1, /* this dainlink has playback support */ .ignore_pmdown_time = 1, + SND_SOC_DAILINK_REG(afepcm_rx), }, { .name = "MSM AFE-PCM TX", .stream_name = "AFE-PROXY TX", - .cpu_dai_name = "msm-dai-q6-dev.240", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-tx", - .platform_name = "msm-pcm-afe", .dpcm_capture = 1, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(afepcm_tx), }, { .name = MSM_DAILINK_NAME(Compress1), .stream_name = "Compress1", - .cpu_dai_name = "MultiMedia4", - .platform_name = "msm-compress-dsp", .dynamic = 1, +#if IS_ENABLED(CONFIG_AUDIO_QGKI) .async_ops = ASYNC_DPCM_SND_SOC_HW_PARAMS, +#endif /* CONFIG_AUDIO_QGKI */ .dpcm_playback = 1, .dpcm_capture = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .ignore_suspend = 1, .ignore_pmdown_time = 1, /* this dainlink has playback support */ .id = MSM_FRONTEND_DAI_MULTIMEDIA4, + SND_SOC_DAILINK_REG(multimedia4), }, /* Hostless PCM purpose */ { .name = "AUXPCM Hostless", .stream_name = "AUXPCM Hostless", - .cpu_dai_name = "AUXPCM_HOSTLESS", - .platform_name = "msm-pcm-hostless", .dynamic = 1, .dpcm_playback = 1, .dpcm_capture = 1, @@ -5135,8 +5102,7 @@ static struct snd_soc_dai_link msm_common_dai_links[] = { .ignore_suspend = 1, /* this dainlink has playback support */ .ignore_pmdown_time = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", + SND_SOC_DAILINK_REG(auxpcm_hostless), }, /* - SLIMBUS_1 Hostless */ /* - SLIMBUS_3 Hostless */ @@ -5144,14 +5110,12 @@ static struct snd_soc_dai_link msm_common_dai_links[] = { { .name = MSM_DAILINK_NAME(LowLatency), .stream_name = "MultiMedia5", - .cpu_dai_name = "MultiMedia5", - .platform_name = "msm-pcm-dsp.1", .dynamic = 1, +#if IS_ENABLED(CONFIG_AUDIO_QGKI) .async_ops = ASYNC_DPCM_SND_SOC_PREPARE, +#endif /* CONFIG_AUDIO_QGKI */ .dpcm_playback = 1, .dpcm_capture = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, .ignore_suspend = 1, @@ -5159,80 +5123,67 @@ static struct snd_soc_dai_link msm_common_dai_links[] = { .ignore_pmdown_time = 1, .id = MSM_FRONTEND_DAI_MULTIMEDIA5, .ops = &msm_fe_qos_ops, + SND_SOC_DAILINK_REG(multimedia5), }, { .name = "Listen 1 Audio Service", .stream_name = "Listen 1 Audio Service", - .cpu_dai_name = "LSM1", - .platform_name = "msm-lsm-client", .dynamic = 1, .dpcm_capture = 1, .trigger = { SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST }, .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .id = MSM_FRONTEND_DAI_LSM1, + SND_SOC_DAILINK_REG(listen1), }, /* Multiple Tunnel instances */ { .name = MSM_DAILINK_NAME(Compress2), .stream_name = "Compress2", - .cpu_dai_name = "MultiMedia7", - .platform_name = "msm-compress-dsp", .dynamic = 1, .dpcm_playback = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .ignore_suspend = 1, .ignore_pmdown_time = 1, /* this dainlink has playback support */ .id = MSM_FRONTEND_DAI_MULTIMEDIA7, + SND_SOC_DAILINK_REG(multimedia7), }, { .name = MSM_DAILINK_NAME(MultiMedia10), .stream_name = "MultiMedia10", - .cpu_dai_name = "MultiMedia10", - .platform_name = "msm-pcm-dsp.1", .dynamic = 1, .dpcm_playback = 1, .dpcm_capture = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .ignore_suspend = 1, .ignore_pmdown_time = 1, /* this dainlink has playback support */ .id = MSM_FRONTEND_DAI_MULTIMEDIA10, + SND_SOC_DAILINK_REG(multimedia10), }, { .name = MSM_DAILINK_NAME(ULL_NOIRQ), .stream_name = "MM_NOIRQ", - .cpu_dai_name = "MultiMedia8", - .platform_name = "msm-pcm-dsp-noirq", .dynamic = 1, .dpcm_playback = 1, .dpcm_capture = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .ignore_suspend = 1, .ignore_pmdown_time = 1, /* this dainlink has playback support */ .id = MSM_FRONTEND_DAI_MULTIMEDIA8, .ops = &msm_fe_qos_ops, + SND_SOC_DAILINK_REG(multimedia8), }, /* HDMI Hostless */ { .name = "HDMI_RX_HOSTLESS", .stream_name = "HDMI_RX_HOSTLESS", - .cpu_dai_name = "HDMI_HOSTLESS", - .platform_name = "msm-pcm-hostless", .dynamic = 1, .dpcm_playback = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, @@ -5240,14 +5191,11 @@ static struct snd_soc_dai_link msm_common_dai_links[] = { .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, .ignore_pmdown_time = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", + SND_SOC_DAILINK_REG(hdmi_rx_hostless), }, { .name = "VoiceMMode2", .stream_name = "VoiceMMode2", - .cpu_dai_name = "VoiceMMode2", - .platform_name = "msm-pcm-voice", .dynamic = 1, .dpcm_playback = 1, .dpcm_capture = 1, @@ -5256,213 +5204,174 @@ static struct snd_soc_dai_link msm_common_dai_links[] = { .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, .ignore_pmdown_time = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .id = MSM_FRONTEND_DAI_VOICEMMODE2, + SND_SOC_DAILINK_REG(voicemmode2), }, /* LSM FE */ { .name = "Listen 2 Audio Service", .stream_name = "Listen 2 Audio Service", - .cpu_dai_name = "LSM2", - .platform_name = "msm-lsm-client", .dynamic = 1, .dpcm_capture = 1, .trigger = { SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST }, .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .id = MSM_FRONTEND_DAI_LSM2, + SND_SOC_DAILINK_REG(listen2), }, { .name = "Listen 3 Audio Service", .stream_name = "Listen 3 Audio Service", - .cpu_dai_name = "LSM3", - .platform_name = "msm-lsm-client", .dynamic = 1, .dpcm_capture = 1, .trigger = { SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST }, .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .id = MSM_FRONTEND_DAI_LSM3, + SND_SOC_DAILINK_REG(listen3), }, { .name = "Listen 4 Audio Service", .stream_name = "Listen 4 Audio Service", - .cpu_dai_name = "LSM4", - .platform_name = "msm-lsm-client", .dynamic = 1, .dpcm_capture = 1, .trigger = { SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST }, .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .id = MSM_FRONTEND_DAI_LSM4, + SND_SOC_DAILINK_REG(listen4), }, { .name = "Listen 5 Audio Service", .stream_name = "Listen 5 Audio Service", - .cpu_dai_name = "LSM5", - .platform_name = "msm-lsm-client", .dynamic = 1, .dpcm_capture = 1, .trigger = { SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST }, .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .id = MSM_FRONTEND_DAI_LSM5, + SND_SOC_DAILINK_REG(listen5), }, { .name = "Listen 6 Audio Service", .stream_name = "Listen 6 Audio Service", - .cpu_dai_name = "LSM6", - .platform_name = "msm-lsm-client", .dynamic = 1, .dpcm_capture = 1, .trigger = { SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST }, .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .id = MSM_FRONTEND_DAI_LSM6, + SND_SOC_DAILINK_REG(listen6), }, { .name = "Listen 7 Audio Service", .stream_name = "Listen 7 Audio Service", - .cpu_dai_name = "LSM7", - .platform_name = "msm-lsm-client", .dynamic = 1, .dpcm_capture = 1, .trigger = { SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST }, .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .id = MSM_FRONTEND_DAI_LSM7, + SND_SOC_DAILINK_REG(listen7), }, { .name = "Listen 8 Audio Service", .stream_name = "Listen 8 Audio Service", - .cpu_dai_name = "LSM8", - .platform_name = "msm-lsm-client", .dynamic = 1, .dpcm_capture = 1, .trigger = { SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST }, .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .id = MSM_FRONTEND_DAI_LSM8, + SND_SOC_DAILINK_REG(listen8), }, /* - Multimedia9 */ { .name = MSM_DAILINK_NAME(Compress4), .stream_name = "Compress4", - .cpu_dai_name = "MultiMedia11", - .platform_name = "msm-compress-dsp", .dynamic = 1, .dpcm_playback = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .ignore_suspend = 1, .ignore_pmdown_time = 1, /* this dainlink has playback support */ .id = MSM_FRONTEND_DAI_MULTIMEDIA11, + SND_SOC_DAILINK_REG(multimedia11), }, { .name = MSM_DAILINK_NAME(Compress5), .stream_name = "Compress5", - .cpu_dai_name = "MultiMedia12", - .platform_name = "msm-compress-dsp", .dynamic = 1, .dpcm_playback = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .ignore_suspend = 1, .ignore_pmdown_time = 1, /* this dainlink has playback support */ .id = MSM_FRONTEND_DAI_MULTIMEDIA12, + SND_SOC_DAILINK_REG(multimedia12), }, { .name = MSM_DAILINK_NAME(Compress6), .stream_name = "Compress6", - .cpu_dai_name = "MultiMedia13", - .platform_name = "msm-compress-dsp", .dynamic = 1, .dpcm_playback = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .ignore_suspend = 1, .ignore_pmdown_time = 1, /* this dainlink has playback support */ .id = MSM_FRONTEND_DAI_MULTIMEDIA13, + SND_SOC_DAILINK_REG(multimedia13), }, { .name = MSM_DAILINK_NAME(Compress7), .stream_name = "Compress7", - .cpu_dai_name = "MultiMedia14", - .platform_name = "msm-compress-dsp", .dynamic = 1, .dpcm_playback = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .ignore_suspend = 1, .ignore_pmdown_time = 1, /* this dainlink has playback support */ .id = MSM_FRONTEND_DAI_MULTIMEDIA14, + SND_SOC_DAILINK_REG(multimedia14), }, { .name = MSM_DAILINK_NAME(Compress8), .stream_name = "Compress8", - .cpu_dai_name = "MultiMedia15", - .platform_name = "msm-compress-dsp", .dynamic = 1, .dpcm_playback = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .ignore_suspend = 1, .ignore_pmdown_time = 1, /* this dainlink has playback support */ .id = MSM_FRONTEND_DAI_MULTIMEDIA15, + SND_SOC_DAILINK_REG(multimedia15), }, { .name = MSM_DAILINK_NAME(ULL_NOIRQ_2), .stream_name = "MM_NOIRQ_2", - .cpu_dai_name = "MultiMedia16", - .platform_name = "msm-pcm-dsp-noirq", .dynamic = 1, .dpcm_playback = 1, .dpcm_capture = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .ignore_suspend = 1, .ignore_pmdown_time = 1, /* this dainlink has playback support */ .id = MSM_FRONTEND_DAI_MULTIMEDIA16, + .ops = &msm_fe_qos_ops, + SND_SOC_DAILINK_REG(multimedia16), }, /* - SLIMBUS_8 Hostless */ /* - Slimbus4 Capture */ @@ -5472,25 +5381,20 @@ static struct snd_soc_dai_link msm_common_dai_links[] = { { .name = MSM_DAILINK_NAME(ASM Loopback), .stream_name = "MultiMedia6", - .cpu_dai_name = "MultiMedia6", - .platform_name = "msm-pcm-loopback", .dynamic = 1, .dpcm_playback = 1, .dpcm_capture = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, .ignore_suspend = 1, .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_pmdown_time = 1, .id = MSM_FRONTEND_DAI_MULTIMEDIA6, + SND_SOC_DAILINK_REG(multimedia6), }, { .name = "USB Audio Hostless", .stream_name = "USB Audio Hostless", - .cpu_dai_name = "USBAUDIO_HOSTLESS", - .platform_name = "msm-pcm-hostless", .dynamic = 1, .dpcm_playback = 1, .dpcm_capture = 1, @@ -5499,24 +5403,20 @@ static struct snd_soc_dai_link msm_common_dai_links[] = { .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, .ignore_pmdown_time = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", + SND_SOC_DAILINK_REG(usbaudio_hostless), }, /* - SLIMBUS_7 Hostless */ { .name = "Compress Capture", .stream_name = "Compress9", - .cpu_dai_name = "MultiMedia17", - .platform_name = "msm-compress-dsp", .dynamic = 1, .dpcm_capture = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .ignore_suspend = 1, .ignore_pmdown_time = 1, .id = MSM_FRONTEND_DAI_MULTIMEDIA17, + SND_SOC_DAILINK_REG(multimedia17), }, }; @@ -5524,8 +5424,6 @@ static struct snd_soc_dai_link msm_auto_fe_dai_links[] = { { .name = "INT_HFP_BT Hostless", .stream_name = "INT_HFP_BT Hostless", - .cpu_dai_name = "INT_HFP_BT_HOSTLESS", - .platform_name = "msm-pcm-hostless", .dynamic = 1, .dpcm_playback = 1, .dpcm_capture = 1, @@ -5535,33 +5433,27 @@ static struct snd_soc_dai_link msm_auto_fe_dai_links[] = { .ignore_suspend = 1, /* this dainlink has playback support */ .ignore_pmdown_time = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", + SND_SOC_DAILINK_REG(int_hfp_bt_hostless), }, /* Low latency ASM loopback for ICC */ { .name = MSM_DAILINK_NAME(LowLatency Loopback), .stream_name = "MultiMedia9", - .cpu_dai_name = "MultiMedia9", - .platform_name = "msm-pcm-loopback.1", .dynamic = 1, .dpcm_playback = 1, .dpcm_capture = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .ignore_suspend = 1, .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, /* this dainlink has playback support */ .ignore_pmdown_time = 1, .id = MSM_FRONTEND_DAI_MULTIMEDIA9, + SND_SOC_DAILINK_REG(ll_loopback), }, { .name = "Tertiary MI2S TX_Hostless", .stream_name = "Tertiary MI2S_TX Hostless Capture", - .cpu_dai_name = "TERT_MI2S_TX_HOSTLESS", - .platform_name = "msm-pcm-hostless", .dynamic = 1, .dpcm_capture = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, @@ -5569,50 +5461,41 @@ static struct snd_soc_dai_link msm_auto_fe_dai_links[] = { .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, .ignore_pmdown_time = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", + SND_SOC_DAILINK_REG(tert_mi2s_tx_hostless), }, { .name = MSM_DAILINK_NAME(Media20), .stream_name = "MultiMedia20", - .cpu_dai_name = "MultiMedia20", - .platform_name = "msm-pcm-loopback", .dynamic = 1, .dpcm_playback = 1, .dpcm_capture = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .ignore_suspend = 1, .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, /* this dainlink has playback support */ .ignore_pmdown_time = 1, .id = MSM_FRONTEND_DAI_MULTIMEDIA20, + SND_SOC_DAILINK_REG(multimedia20), }, { .name = MSM_DAILINK_NAME(HFP RX), .stream_name = "MultiMedia21", - .cpu_dai_name = "MultiMedia21", - .platform_name = "msm-pcm-loopback", .dynamic = 1, .dpcm_playback = 1, .dpcm_capture = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, .ignore_suspend = 1, .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_pmdown_time = 1, .id = MSM_FRONTEND_DAI_MULTIMEDIA21, + SND_SOC_DAILINK_REG(multimedia21), }, /* TDM Hostless */ { .name = "Primary TDM RX 0 Hostless", .stream_name = "Primary TDM RX 0 Hostless", - .cpu_dai_name = "PRI_TDM_RX_0_HOSTLESS", - .platform_name = "msm-pcm-hostless", .dynamic = 1, .dpcm_playback = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, @@ -5620,14 +5503,11 @@ static struct snd_soc_dai_link msm_auto_fe_dai_links[] = { .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, .ignore_pmdown_time = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", + SND_SOC_DAILINK_REG(pri_tdm_rx_0_hostless), }, { .name = "Primary TDM TX 0 Hostless", .stream_name = "Primary TDM TX 0 Hostless", - .cpu_dai_name = "PRI_TDM_TX_0_HOSTLESS", - .platform_name = "msm-pcm-hostless", .dynamic = 1, .dpcm_capture = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, @@ -5635,14 +5515,11 @@ static struct snd_soc_dai_link msm_auto_fe_dai_links[] = { .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, .ignore_pmdown_time = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", + SND_SOC_DAILINK_REG(pri_tdm_tx_0_hostless), }, { .name = "Secondary TDM RX 0 Hostless", .stream_name = "Secondary TDM RX 0 Hostless", - .cpu_dai_name = "SEC_TDM_RX_0_HOSTLESS", - .platform_name = "msm-pcm-hostless", .dynamic = 1, .dpcm_playback = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, @@ -5650,14 +5527,11 @@ static struct snd_soc_dai_link msm_auto_fe_dai_links[] = { .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, .ignore_pmdown_time = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", + SND_SOC_DAILINK_REG(sec_tdm_rx_0_hostless), }, { .name = "Secondary TDM TX 0 Hostless", .stream_name = "Secondary TDM TX 0 Hostless", - .cpu_dai_name = "SEC_TDM_TX_0_HOSTLESS", - .platform_name = "msm-pcm-hostless", .dynamic = 1, .dpcm_capture = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, @@ -5665,14 +5539,11 @@ static struct snd_soc_dai_link msm_auto_fe_dai_links[] = { .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, .ignore_pmdown_time = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", + SND_SOC_DAILINK_REG(sec_tdm_tx_0_hostless), }, { .name = "Tertiary TDM RX 0 Hostless", .stream_name = "Tertiary TDM RX 0 Hostless", - .cpu_dai_name = "TERT_TDM_RX_0_HOSTLESS", - .platform_name = "msm-pcm-hostless", .dynamic = 1, .dpcm_playback = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, @@ -5680,14 +5551,11 @@ static struct snd_soc_dai_link msm_auto_fe_dai_links[] = { .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, .ignore_pmdown_time = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", + SND_SOC_DAILINK_REG(tert_tdm_rx_0_hostless), }, { .name = "Tertiary TDM TX 0 Hostless", .stream_name = "Tertiary TDM TX 0 Hostless", - .cpu_dai_name = "TERT_TDM_TX_0_HOSTLESS", - .platform_name = "msm-pcm-hostless", .dynamic = 1, .dpcm_capture = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, @@ -5695,14 +5563,11 @@ static struct snd_soc_dai_link msm_auto_fe_dai_links[] = { .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, .ignore_pmdown_time = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", + SND_SOC_DAILINK_REG(tert_tdm_tx_0_hostless), }, { .name = "Quaternary TDM RX 0 Hostless", .stream_name = "Quaternary TDM RX 0 Hostless", - .cpu_dai_name = "QUAT_TDM_RX_0_HOSTLESS", - .platform_name = "msm-pcm-hostless", .dynamic = 1, .dpcm_playback = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, @@ -5710,14 +5575,11 @@ static struct snd_soc_dai_link msm_auto_fe_dai_links[] = { .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, .ignore_pmdown_time = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", + SND_SOC_DAILINK_REG(quat_tdm_rx_0_hostless), }, { .name = "Quaternary TDM TX 0 Hostless", .stream_name = "Quaternary TDM TX 0 Hostless", - .cpu_dai_name = "QUAT_TDM_TX_0_HOSTLESS", - .platform_name = "msm-pcm-hostless", .dynamic = 1, .dpcm_capture = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, @@ -5725,14 +5587,11 @@ static struct snd_soc_dai_link msm_auto_fe_dai_links[] = { .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, .ignore_pmdown_time = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", + SND_SOC_DAILINK_REG(quat_tdm_tx_0_hostless), }, { .name = "Quaternary MI2S_RX Hostless Playback", .stream_name = "Quaternary MI2S_RX Hostless Playback", - .cpu_dai_name = "QUAT_MI2S_RX_HOSTLESS", - .platform_name = "msm-pcm-hostless", .dynamic = 1, .dpcm_playback = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, @@ -5740,14 +5599,11 @@ static struct snd_soc_dai_link msm_auto_fe_dai_links[] = { .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, .ignore_pmdown_time = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", + SND_SOC_DAILINK_REG(quat_mi2s_rx_hostless), }, { .name = "Secondary MI2S_TX Hostless Capture", .stream_name = "Secondary MI2S_TX Hostless Capture", - .cpu_dai_name = "SEC_MI2S_TX_HOSTLESS", - .platform_name = "msm-pcm-hostless", .dynamic = 1, .dpcm_capture = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, @@ -5755,14 +5611,11 @@ static struct snd_soc_dai_link msm_auto_fe_dai_links[] = { .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, .ignore_pmdown_time = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", + SND_SOC_DAILINK_REG(sec_mi2s_tx_hostless), }, { .name = "DTMF RX Hostless", .stream_name = "DTMF RX Hostless", - .cpu_dai_name = "DTMF_RX_HOSTLESS", - .platform_name = "msm-pcm-dtmf", .dynamic = 1, .dpcm_playback = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, @@ -5770,15 +5623,12 @@ static struct snd_soc_dai_link msm_auto_fe_dai_links[] = { .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, .ignore_pmdown_time = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .id = MSM_FRONTEND_DAI_DTMF_RX, + SND_SOC_DAILINK_REG(dtmf_rx_hostless), }, { .name = "Secondary TDM RX 7 Hostless", .stream_name = "Secondary TDM RX 7 Hostless", - .cpu_dai_name = "SEC_TDM_RX_7_HOSTLESS", - .platform_name = "msm-pcm-hostless", .dynamic = 1, .dpcm_playback = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, @@ -5786,14 +5636,11 @@ static struct snd_soc_dai_link msm_auto_fe_dai_links[] = { .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, .ignore_pmdown_time = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", + SND_SOC_DAILINK_REG(sec_tdm_rx_7_hostless), }, { .name = "Tertiary TDM TX 7 Hostless", .stream_name = "Tertiary TDM TX 7 Hostless", - .cpu_dai_name = "TERT_TDM_TX_7_HOSTLESS", - .platform_name = "msm-pcm-hostless", .dynamic = 1, .dpcm_capture = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, @@ -5801,14 +5648,11 @@ static struct snd_soc_dai_link msm_auto_fe_dai_links[] = { .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, .ignore_pmdown_time = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", + SND_SOC_DAILINK_REG(tert_tdm_tx_7_hostless), }, { .name = "Quaternary TDM RX 7 Hostless", .stream_name = "Quaternary TDM RX 7 Hostless", - .cpu_dai_name = "QUAT_TDM_RX_7_HOSTLESS", - .platform_name = "msm-pcm-hostless", .dynamic = 1, .dpcm_playback = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, @@ -5816,14 +5660,11 @@ static struct snd_soc_dai_link msm_auto_fe_dai_links[] = { .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, .ignore_pmdown_time = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", + SND_SOC_DAILINK_REG(quat_tdm_rx_7_hostless), }, { .name = "Quaternary TDM TX 7 Hostless", .stream_name = "Quaternary TDM TX 7 Hostless", - .cpu_dai_name = "QUAT_TDM_TX_7_HOSTLESS", - .platform_name = "msm-pcm-hostless", .dynamic = 1, .dpcm_capture = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, @@ -5831,14 +5672,11 @@ static struct snd_soc_dai_link msm_auto_fe_dai_links[] = { .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, .ignore_pmdown_time = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", + SND_SOC_DAILINK_REG(quat_tdm_tx_7_hostless), }, { .name = "Quinary TDM RX 7 Hostless", .stream_name = "Quinary TDM RX 7 Hostless", - .cpu_dai_name = "QUIN_TDM_RX_7_HOSTLESS", - .platform_name = "msm-pcm-hostless", .dynamic = 1, .dpcm_playback = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, @@ -5846,14 +5684,11 @@ static struct snd_soc_dai_link msm_auto_fe_dai_links[] = { .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, .ignore_pmdown_time = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", + SND_SOC_DAILINK_REG(quin_tdm_rx_7_hostless), }, { .name = "Quinary TDM TX 7 Hostless", .stream_name = "Quinary TDM TX 7 Hostless", - .cpu_dai_name = "QUIN_TDM_TX_7_HOSTLESS", - .platform_name = "msm-pcm-hostless", .dynamic = 1, .dpcm_capture = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, @@ -5861,76 +5696,67 @@ static struct snd_soc_dai_link msm_auto_fe_dai_links[] = { .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_suspend = 1, .ignore_pmdown_time = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", + SND_SOC_DAILINK_REG(quin_tdm_tx_7_hostless), }, { .name = MSM_DAILINK_NAME(Media22), .stream_name = "MultiMedia22", - .cpu_dai_name = "MultiMedia22", - .platform_name = "msm-pcm-dsp.0", .dynamic = 1, +#if IS_ENABLED(CONFIG_AUDIO_QGKI) .async_ops = ASYNC_DPCM_SND_SOC_PREPARE, +#endif /* CONFIG_AUDIO_QGKI */ .dpcm_playback = 1, .dpcm_capture = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .ignore_suspend = 1, .ignore_pmdown_time = 1, - .id = MSM_FRONTEND_DAI_MULTIMEDIA22 + .id = MSM_FRONTEND_DAI_MULTIMEDIA22, + SND_SOC_DAILINK_REG(multimedia22), }, { .name = MSM_DAILINK_NAME(Media23), .stream_name = "MultiMedia23", - .cpu_dai_name = "MultiMedia23", - .platform_name = "msm-pcm-dsp.1", .dynamic = 1, +#if IS_ENABLED(CONFIG_AUDIO_QGKI) .async_ops = ASYNC_DPCM_SND_SOC_PREPARE, +#endif /* CONFIG_AUDIO_QGKI */ .dpcm_playback = 1, .dpcm_capture = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .ignore_suspend = 1, .ignore_pmdown_time = 1, - .id = MSM_FRONTEND_DAI_MULTIMEDIA23 + .id = MSM_FRONTEND_DAI_MULTIMEDIA23, + SND_SOC_DAILINK_REG(multimedia23), }, { .name = MSM_DAILINK_NAME(Media24), .stream_name = "MultiMedia24", - .cpu_dai_name = "MultiMedia24", - .platform_name = "msm-pcm-loopback", .dynamic = 1, .dpcm_playback = 1, .dpcm_capture = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .ignore_suspend = 1, .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_pmdown_time = 1, - .id = MSM_FRONTEND_DAI_MULTIMEDIA24 + .id = MSM_FRONTEND_DAI_MULTIMEDIA24, + SND_SOC_DAILINK_REG(multimedia24), }, { .name = MSM_DAILINK_NAME(Media25), .stream_name = "MultiMedia25", - .cpu_dai_name = "MultiMedia25", - .platform_name = "msm-pcm-loopback", .dynamic = 1, .dpcm_playback = 1, .dpcm_capture = 1, .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .ignore_suspend = 1, .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ignore_pmdown_time = 1, - .id = MSM_FRONTEND_DAI_MULTIMEDIA25 + .id = MSM_FRONTEND_DAI_MULTIMEDIA25, + SND_SOC_DAILINK_REG(multimedia25), }, }; @@ -5939,14 +5765,12 @@ static struct snd_soc_dai_link msm_custom_fe_dai_links[] = { { .name = MSM_DAILINK_NAME(Media1), .stream_name = "MultiMedia1", - .cpu_dai_name = "MultiMedia1", - .platform_name = "msm-pcm-dsp.1", .dynamic = 1, +#if IS_ENABLED(CONFIG_AUDIO_QGKI) .async_ops = ASYNC_DPCM_SND_SOC_PREPARE, +#endif /* CONFIG_AUDIO_QGKI */ .dpcm_playback = 1, .dpcm_capture = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, .ignore_suspend = 1, @@ -5954,18 +5778,17 @@ static struct snd_soc_dai_link msm_custom_fe_dai_links[] = { .ignore_pmdown_time = 1, .id = MSM_FRONTEND_DAI_MULTIMEDIA1, .ops = &msm_fe_qos_ops, + SND_SOC_DAILINK_REG(multimedia1), }, { .name = MSM_DAILINK_NAME(Media2), .stream_name = "MultiMedia2", - .cpu_dai_name = "MultiMedia2", - .platform_name = "msm-pcm-dsp.1", .dynamic = 1, +#if IS_ENABLED(CONFIG_AUDIO_QGKI) .async_ops = ASYNC_DPCM_SND_SOC_PREPARE, +#endif /* CONFIG_AUDIO_QGKI */ .dpcm_playback = 1, .dpcm_capture = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, .ignore_suspend = 1, @@ -5973,18 +5796,17 @@ static struct snd_soc_dai_link msm_custom_fe_dai_links[] = { .ignore_pmdown_time = 1, .id = MSM_FRONTEND_DAI_MULTIMEDIA2, .ops = &msm_fe_qos_ops, + SND_SOC_DAILINK_REG(multimedia2), }, { .name = MSM_DAILINK_NAME(Media3), .stream_name = "MultiMedia3", - .cpu_dai_name = "MultiMedia3", - .platform_name = "msm-pcm-dsp.1", .dynamic = 1, +#if IS_ENABLED(CONFIG_AUDIO_QGKI) .async_ops = ASYNC_DPCM_SND_SOC_PREPARE, +#endif /* CONFIG_AUDIO_QGKI */ .dpcm_playback = 1, .dpcm_capture = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, .ignore_suspend = 1, @@ -5992,18 +5814,17 @@ static struct snd_soc_dai_link msm_custom_fe_dai_links[] = { .ignore_pmdown_time = 1, .id = MSM_FRONTEND_DAI_MULTIMEDIA3, .ops = &msm_fe_qos_ops, + SND_SOC_DAILINK_REG(multimedia3), }, { .name = MSM_DAILINK_NAME(Media5), .stream_name = "MultiMedia5", - .cpu_dai_name = "MultiMedia5", - .platform_name = "msm-pcm-dsp.1", .dynamic = 1, +#if IS_ENABLED(CONFIG_AUDIO_QGKI) .async_ops = ASYNC_DPCM_SND_SOC_PREPARE, +#endif /* CONFIG_AUDIO_QGKI */ .dpcm_playback = 1, .dpcm_capture = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, .ignore_suspend = 1, @@ -6011,18 +5832,17 @@ static struct snd_soc_dai_link msm_custom_fe_dai_links[] = { .ignore_pmdown_time = 1, .id = MSM_FRONTEND_DAI_MULTIMEDIA5, .ops = &msm_fe_qos_ops, + SND_SOC_DAILINK_REG(multimedia5), }, { .name = MSM_DAILINK_NAME(Media6), .stream_name = "MultiMedia6", - .cpu_dai_name = "MultiMedia6", - .platform_name = "msm-pcm-dsp.1", .dynamic = 1, +#if IS_ENABLED(CONFIG_AUDIO_QGKI) .async_ops = ASYNC_DPCM_SND_SOC_PREPARE, +#endif /* CONFIG_AUDIO_QGKI */ .dpcm_playback = 1, .dpcm_capture = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, .ignore_suspend = 1, @@ -6030,18 +5850,17 @@ static struct snd_soc_dai_link msm_custom_fe_dai_links[] = { .ignore_pmdown_time = 1, .id = MSM_FRONTEND_DAI_MULTIMEDIA6, .ops = &msm_fe_qos_ops, + SND_SOC_DAILINK_REG(multimedia36), }, { .name = MSM_DAILINK_NAME(Media8), .stream_name = "MultiMedia8", - .cpu_dai_name = "MultiMedia8", - .platform_name = "msm-pcm-dsp.1", .dynamic = 1, +#if IS_ENABLED(CONFIG_AUDIO_QGKI) .async_ops = ASYNC_DPCM_SND_SOC_PREPARE, +#endif /* CONFIG_AUDIO_QGKI */ .dpcm_playback = 1, .dpcm_capture = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, .ignore_suspend = 1, @@ -6049,18 +5868,17 @@ static struct snd_soc_dai_link msm_custom_fe_dai_links[] = { .ignore_pmdown_time = 1, .id = MSM_FRONTEND_DAI_MULTIMEDIA8, .ops = &msm_fe_qos_ops, + SND_SOC_DAILINK_REG(multimedia38), }, { .name = MSM_DAILINK_NAME(Media9), .stream_name = "MultiMedia9", - .cpu_dai_name = "MultiMedia9", - .platform_name = "msm-pcm-dsp.1", .dynamic = 1, +#if IS_ENABLED(CONFIG_AUDIO_QGKI) .async_ops = ASYNC_DPCM_SND_SOC_PREPARE, +#endif /* CONFIG_AUDIO_QGKI */ .dpcm_playback = 1, .dpcm_capture = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, .ignore_suspend = 1, @@ -6068,12 +5886,11 @@ static struct snd_soc_dai_link msm_custom_fe_dai_links[] = { .ignore_pmdown_time = 1, .id = MSM_FRONTEND_DAI_MULTIMEDIA9, .ops = &msm_fe_qos_ops, + SND_SOC_DAILINK_REG(multimedia39), }, { .name = "INT_HFP_BT Hostless", .stream_name = "INT_HFP_BT Hostless", - .cpu_dai_name = "INT_HFP_BT_HOSTLESS", - .platform_name = "msm-pcm-hostless", .dynamic = 1, .dpcm_playback = 1, .dpcm_capture = 1, @@ -6083,14 +5900,11 @@ static struct snd_soc_dai_link msm_custom_fe_dai_links[] = { .ignore_suspend = 1, /* this dainlink has playback support */ .ignore_pmdown_time = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", + SND_SOC_DAILINK_REG(int_hfp_bt_hostless), }, { .name = "AUXPCM Hostless", .stream_name = "AUXPCM Hostless", - .cpu_dai_name = "AUXPCM_HOSTLESS", - .platform_name = "msm-pcm-hostless", .dynamic = 1, .dpcm_playback = 1, .dpcm_capture = 1, @@ -6100,19 +5914,14 @@ static struct snd_soc_dai_link msm_custom_fe_dai_links[] = { .ignore_suspend = 1, /* this dainlink has playback support */ .ignore_pmdown_time = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", + SND_SOC_DAILINK_REG(auxpcm_hostless), }, { .name = MSM_DAILINK_NAME(Media20), .stream_name = "MultiMedia20", - .cpu_dai_name = "MultiMedia20", - .platform_name = "msm-pcm-loopback", .dynamic = 1, .dpcm_playback = 1, .dpcm_capture = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", .trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST}, .ignore_suspend = 1, @@ -6120,6 +5929,7 @@ static struct snd_soc_dai_link msm_custom_fe_dai_links[] = { /* this dainlink has playback support */ .ignore_pmdown_time = 1, .id = MSM_FRONTEND_DAI_MULTIMEDIA20, + SND_SOC_DAILINK_REG(multimedia20), }, }; @@ -6128,10 +5938,6 @@ static struct snd_soc_dai_link msm_common_be_dai_links[] = { { .name = LPASS_BE_AFE_PCM_RX, .stream_name = "AFE Playback", - .cpu_dai_name = "msm-dai-q6-dev.224", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_AFE_PCM_RX, @@ -6139,112 +5945,88 @@ static struct snd_soc_dai_link msm_common_be_dai_links[] = { /* this dainlink has playback support */ .ignore_pmdown_time = 1, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(afe_pcm_rx), }, { .name = LPASS_BE_AFE_PCM_TX, .stream_name = "AFE Capture", - .cpu_dai_name = "msm-dai-q6-dev.225", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-tx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_AFE_PCM_TX, .be_hw_params_fixup = msm_be_hw_params_fixup, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(afe_pcm_tx), }, /* Incall Record Uplink BACK END DAI Link */ { .name = LPASS_BE_INCALL_RECORD_TX, .stream_name = "Voice Uplink Capture", - .cpu_dai_name = "msm-dai-q6-dev.32772", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-tx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_INCALL_RECORD_TX, .be_hw_params_fixup = msm_be_hw_params_fixup, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(incall_record_tx), }, /* Incall Record Downlink BACK END DAI Link */ { .name = LPASS_BE_INCALL_RECORD_RX, .stream_name = "Voice Downlink Capture", - .cpu_dai_name = "msm-dai-q6-dev.32771", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-tx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_INCALL_RECORD_RX, .be_hw_params_fixup = msm_be_hw_params_fixup, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(incall_record_rx), }, /* Incall Music BACK END DAI Link */ { .name = LPASS_BE_VOICE_PLAYBACK_TX, .stream_name = "Voice Farend Playback", - .cpu_dai_name = "msm-dai-q6-dev.32773", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_VOICE_PLAYBACK_TX, .be_hw_params_fixup = msm_be_hw_params_fixup, .ignore_suspend = 1, .ignore_pmdown_time = 1, + SND_SOC_DAILINK_REG(voice_playback_tx), }, /* Incall Music 2 BACK END DAI Link */ { .name = LPASS_BE_VOICE2_PLAYBACK_TX, .stream_name = "Voice2 Farend Playback", - .cpu_dai_name = "msm-dai-q6-dev.32770", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_VOICE2_PLAYBACK_TX, .be_hw_params_fixup = msm_be_hw_params_fixup, .ignore_suspend = 1, .ignore_pmdown_time = 1, + SND_SOC_DAILINK_REG(voice2_playback_tx), }, { .name = LPASS_BE_USB_AUDIO_RX, .stream_name = "USB Audio Playback", - .cpu_dai_name = "msm-dai-q6-dev.28672", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_USB_RX, .be_hw_params_fixup = msm_be_hw_params_fixup, .ignore_pmdown_time = 1, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(usb_audio_rx), }, { .name = LPASS_BE_USB_AUDIO_TX, .stream_name = "USB Audio Capture", - .cpu_dai_name = "msm-dai-q6-dev.28673", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-tx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_USB_TX, .be_hw_params_fixup = msm_be_hw_params_fixup, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(usb_audio_tx), }, { .name = LPASS_BE_PRI_TDM_RX_0, .stream_name = "Primary TDM0 Playback", - .cpu_dai_name = "msm-dai-q6-tdm.36864", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_PRI_TDM_RX_0, @@ -6252,28 +6034,22 @@ static struct snd_soc_dai_link msm_common_be_dai_links[] = { .ops = &sa8155_tdm_be_ops, .ignore_suspend = 1, .ignore_pmdown_time = 1, + SND_SOC_DAILINK_REG(pri_tdm_rx_0), }, { .name = LPASS_BE_PRI_TDM_TX_0, .stream_name = "Primary TDM0 Capture", - .cpu_dai_name = "msm-dai-q6-tdm.36865", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-tx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_PRI_TDM_TX_0, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa8155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(pri_tdm_tx_0), }, { .name = LPASS_BE_SEC_TDM_RX_0, .stream_name = "Secondary TDM0 Playback", - .cpu_dai_name = "msm-dai-q6-tdm.36880", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_SEC_TDM_RX_0, @@ -6281,28 +6057,22 @@ static struct snd_soc_dai_link msm_common_be_dai_links[] = { .ops = &sa8155_tdm_be_ops, .ignore_suspend = 1, .ignore_pmdown_time = 1, + SND_SOC_DAILINK_REG(sec_tdm_rx_0), }, { .name = LPASS_BE_SEC_TDM_TX_0, .stream_name = "Secondary TDM0 Capture", - .cpu_dai_name = "msm-dai-q6-tdm.36881", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-tx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_SEC_TDM_TX_0, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa8155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(sec_tdm_tx_0), }, { .name = LPASS_BE_TERT_TDM_RX_0, .stream_name = "Tertiary TDM0 Playback", - .cpu_dai_name = "msm-dai-q6-tdm.36896", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_TERT_TDM_RX_0, @@ -6310,28 +6080,22 @@ static struct snd_soc_dai_link msm_common_be_dai_links[] = { .ops = &sa8155_tdm_be_ops, .ignore_suspend = 1, .ignore_pmdown_time = 1, + SND_SOC_DAILINK_REG(tert_tdm_rx_0), }, { .name = LPASS_BE_TERT_TDM_TX_0, .stream_name = "Tertiary TDM0 Capture", - .cpu_dai_name = "msm-dai-q6-tdm.36897", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-tx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_TERT_TDM_TX_0, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa8155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(tert_tdm_tx_0), }, { .name = LPASS_BE_QUAT_TDM_RX_0, .stream_name = "Quaternary TDM0 Playback", - .cpu_dai_name = "msm-dai-q6-tdm.36912", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_QUAT_TDM_RX_0, @@ -6339,28 +6103,22 @@ static struct snd_soc_dai_link msm_common_be_dai_links[] = { .ops = &sa8155_tdm_be_ops, .ignore_suspend = 1, .ignore_pmdown_time = 1, + SND_SOC_DAILINK_REG(quat_tdm_rx_0), }, { .name = LPASS_BE_QUAT_TDM_TX_0, .stream_name = "Quaternary TDM0 Capture", - .cpu_dai_name = "msm-dai-q6-tdm.36913", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-tx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_QUAT_TDM_TX_0, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa8155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(quat_tdm_tx_0), }, { .name = LPASS_BE_QUIN_TDM_RX_0, .stream_name = "Quinary TDM0 Playback", - .cpu_dai_name = "msm-dai-q6-tdm.36928", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_QUIN_TDM_RX_0, @@ -6368,20 +6126,18 @@ static struct snd_soc_dai_link msm_common_be_dai_links[] = { .ops = &sa8155_tdm_be_ops, .ignore_suspend = 1, .ignore_pmdown_time = 1, + SND_SOC_DAILINK_REG(quin_tdm_rx_0), }, { .name = LPASS_BE_QUIN_TDM_TX_0, .stream_name = "Quinary TDM0 Capture", - .cpu_dai_name = "msm-dai-q6-tdm.36929", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-tx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_QUIN_TDM_TX_0, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa8155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(quin_tdm_tx_0), }, }; @@ -6390,436 +6146,343 @@ static struct snd_soc_dai_link msm_auto_be_dai_links[] = { { .name = LPASS_BE_PRI_TDM_RX_1, .stream_name = "Primary TDM1 Playback", - .cpu_dai_name = "msm-dai-q6-tdm.36866", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_PRI_TDM_RX_1, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa8155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(pri_tdm_rx_1), }, { .name = LPASS_BE_PRI_TDM_RX_2, .stream_name = "Primary TDM2 Playback", - .cpu_dai_name = "msm-dai-q6-tdm.36868", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_PRI_TDM_RX_2, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa8155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(pri_tdm_rx_2), }, { .name = LPASS_BE_PRI_TDM_RX_3, .stream_name = "Primary TDM3 Playback", - .cpu_dai_name = "msm-dai-q6-tdm.36870", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_PRI_TDM_RX_3, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa8155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(pri_tdm_rx_3), }, { .name = LPASS_BE_PRI_TDM_TX_1, .stream_name = "Primary TDM1 Capture", - .cpu_dai_name = "msm-dai-q6-tdm.36867", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_PRI_TDM_TX_1, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa8155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(pri_tdm_tx_1), }, { .name = LPASS_BE_PRI_TDM_TX_2, .stream_name = "Primary TDM2 Capture", - .cpu_dai_name = "msm-dai-q6-tdm.36869", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_PRI_TDM_TX_2, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa8155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(pri_tdm_tx_2), }, { .name = LPASS_BE_PRI_TDM_TX_3, .stream_name = "Primary TDM3 Capture", - .cpu_dai_name = "msm-dai-q6-tdm.36871", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_PRI_TDM_TX_3, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa8155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(pri_tdm_tx_3), }, { .name = LPASS_BE_SEC_TDM_RX_1, .stream_name = "Secondary TDM1 Playback", - .cpu_dai_name = "msm-dai-q6-tdm.36882", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_SEC_TDM_RX_1, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa8155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(sec_tdm_rx_1), }, { .name = LPASS_BE_SEC_TDM_RX_2, .stream_name = "Secondary TDM2 Playback", - .cpu_dai_name = "msm-dai-q6-tdm.36884", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_SEC_TDM_RX_2, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa8155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(sec_tdm_rx_2), }, { .name = LPASS_BE_SEC_TDM_RX_3, .stream_name = "Secondary TDM3 Playback", - .cpu_dai_name = "msm-dai-q6-tdm.36886", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_SEC_TDM_RX_3, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa8155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(sec_tdm_rx_3), }, { .name = LPASS_BE_SEC_TDM_RX_7, .stream_name = "Secondary TDM7 Playback", - .cpu_dai_name = "msm-dai-q6-tdm.36894", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_SEC_TDM_RX_7, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa8155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(sec_tdm_rx_7), }, { .name = LPASS_BE_SEC_TDM_TX_1, .stream_name = "Secondary TDM1 Capture", - .cpu_dai_name = "msm-dai-q6-tdm.36883", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_SEC_TDM_TX_1, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa8155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(sec_tdm_tx_1), }, { .name = LPASS_BE_SEC_TDM_TX_2, .stream_name = "Secondary TDM2 Capture", - .cpu_dai_name = "msm-dai-q6-tdm.36885", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_SEC_TDM_TX_2, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa8155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(sec_tdm_tx_2), }, { .name = LPASS_BE_SEC_TDM_TX_3, .stream_name = "Secondary TDM3 Capture", - .cpu_dai_name = "msm-dai-q6-tdm.36887", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_SEC_TDM_TX_3, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa8155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(sec_tdm_tx_3), }, { .name = LPASS_BE_TERT_TDM_RX_1, .stream_name = "Tertiary TDM1 Playback", - .cpu_dai_name = "msm-dai-q6-tdm.36898", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_TERT_TDM_RX_1, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa8155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(tert_tdm_rx_1), }, { .name = LPASS_BE_TERT_TDM_RX_2, .stream_name = "Tertiary TDM2 Playback", - .cpu_dai_name = "msm-dai-q6-tdm.36900", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_TERT_TDM_RX_2, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa8155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(tert_tdm_rx_2), }, { .name = LPASS_BE_TERT_TDM_RX_3, .stream_name = "Tertiary TDM3 Playback", - .cpu_dai_name = "msm-dai-q6-tdm.36902", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_TERT_TDM_RX_3, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa8155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(tert_tdm_rx_3), }, { .name = LPASS_BE_TERT_TDM_RX_4, .stream_name = "Tertiary TDM4 Playback", - .cpu_dai_name = "msm-dai-q6-tdm.36904", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_TERT_TDM_RX_4, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa8155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(tert_tdm_rx_4), }, { .name = LPASS_BE_TERT_TDM_TX_1, .stream_name = "Tertiary TDM1 Capture", - .cpu_dai_name = "msm-dai-q6-tdm.36899", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_TERT_TDM_TX_1, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa8155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(tert_tdm_tx_1), }, { .name = LPASS_BE_TERT_TDM_TX_2, .stream_name = "Tertiary TDM2 Capture", - .cpu_dai_name = "msm-dai-q6-tdm.36901", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_TERT_TDM_TX_2, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa8155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(tert_tdm_tx_2), }, { .name = LPASS_BE_TERT_TDM_TX_3, .stream_name = "Tertiary TDM3 Capture", - .cpu_dai_name = "msm-dai-q6-tdm.36903", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_TERT_TDM_TX_3, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa8155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(tert_tdm_tx_3), }, { .name = LPASS_BE_TERT_TDM_TX_7, .stream_name = "Tertiary TDM7 Capture", - .cpu_dai_name = "msm-dai-q6-tdm.36911", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_TERT_TDM_TX_7, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa8155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(tert_tdm_tx_7), }, { .name = LPASS_BE_QUAT_TDM_RX_1, .stream_name = "Quaternary TDM1 Playback", - .cpu_dai_name = "msm-dai-q6-tdm.36914", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_QUAT_TDM_RX_1, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa8155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(quat_tdm_rx_1), }, { .name = LPASS_BE_QUAT_TDM_RX_2, .stream_name = "Quaternary TDM2 Playback", - .cpu_dai_name = "msm-dai-q6-tdm.36916", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_QUAT_TDM_RX_2, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa8155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(quat_tdm_rx_2), }, { .name = LPASS_BE_QUAT_TDM_RX_3, .stream_name = "Quaternary TDM3 Playback", - .cpu_dai_name = "msm-dai-q6-tdm.36918", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_QUAT_TDM_RX_3, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa8155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(quat_tdm_rx_3), }, { .name = LPASS_BE_QUAT_TDM_RX_7, .stream_name = "Quaternary TDM7 Playback", - .cpu_dai_name = "msm-dai-q6-tdm.36926", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_QUAT_TDM_RX_7, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa8155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(quat_tdm_rx_7), }, { .name = LPASS_BE_QUAT_TDM_TX_1, .stream_name = "Quaternary TDM1 Capture", - .cpu_dai_name = "msm-dai-q6-tdm.36915", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_QUAT_TDM_TX_1, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa8155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(quat_tdm_tx_1), }, { .name = LPASS_BE_QUAT_TDM_TX_2, .stream_name = "Quaternary TDM2 Capture", - .cpu_dai_name = "msm-dai-q6-tdm.36917", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_QUAT_TDM_TX_2, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa8155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(quat_tdm_tx_2), }, { .name = LPASS_BE_QUAT_TDM_TX_3, .stream_name = "Quaternary TDM3 Capture", - .cpu_dai_name = "msm-dai-q6-tdm.36919", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_QUAT_TDM_TX_3, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa8155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(quat_tdm_tx_3), }, { .name = LPASS_BE_QUAT_TDM_TX_7, .stream_name = "Quaternary TDM7 Capture", - .cpu_dai_name = "msm-dai-q6-tdm.36927", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_QUAT_TDM_TX_7, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa8155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(quat_tdm_tx_7), }, { .name = LPASS_BE_QUIN_TDM_RX_7, .stream_name = "Quinary TDM7 Playback", - .cpu_dai_name = "msm-dai-q6-tdm.36942", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_QUIN_TDM_RX_7, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa8155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(quin_tdm_rx_7), }, { .name = LPASS_BE_QUIN_TDM_TX_7, .stream_name = "Quinary TDM7 Capture", - .cpu_dai_name = "msm-dai-q6-tdm.36943", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_QUIN_TDM_TX_7, .be_hw_params_fixup = msm_tdm_be_hw_params_fixup, .ops = &sa8155_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(quin_tdm_tx_7), }, }; @@ -6828,16 +6491,13 @@ static struct snd_soc_dai_link ext_disp_be_dai_link[] = { { .name = LPASS_BE_DISPLAY_PORT, .stream_name = "Display Port Playback", - .cpu_dai_name = "msm-dai-q6-dp.24608", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-ext-disp-audio-codec-rx", - .codec_dai_name = "msm_dp_audio_codec_rx_dai", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_DISPLAY_PORT_RX, .be_hw_params_fixup = msm_be_hw_params_fixup, .ignore_pmdown_time = 1, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(ext_display_port), }, }; @@ -6845,10 +6505,6 @@ static struct snd_soc_dai_link msm_mi2s_be_dai_links[] = { { .name = LPASS_BE_PRI_MI2S_RX, .stream_name = "Primary MI2S Playback", - .cpu_dai_name = "msm-dai-q6-mi2s.0", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_PRI_MI2S_RX, @@ -6856,28 +6512,22 @@ static struct snd_soc_dai_link msm_mi2s_be_dai_links[] = { .ops = &msm_mi2s_be_ops, .ignore_suspend = 1, .ignore_pmdown_time = 1, + SND_SOC_DAILINK_REG(pri_mi2s_rx), }, { .name = LPASS_BE_PRI_MI2S_TX, .stream_name = "Primary MI2S Capture", - .cpu_dai_name = "msm-dai-q6-mi2s.0", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-tx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_PRI_MI2S_TX, .be_hw_params_fixup = msm_be_hw_params_fixup, .ops = &msm_mi2s_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(pri_mi2s_tx), }, { .name = LPASS_BE_SEC_MI2S_RX, .stream_name = "Secondary MI2S Playback", - .cpu_dai_name = "msm-dai-q6-mi2s.1", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_SECONDARY_MI2S_RX, @@ -6885,28 +6535,22 @@ static struct snd_soc_dai_link msm_mi2s_be_dai_links[] = { .ops = &msm_mi2s_be_ops, .ignore_suspend = 1, .ignore_pmdown_time = 1, + SND_SOC_DAILINK_REG(sec_mi2s_rx), }, { .name = LPASS_BE_SEC_MI2S_TX, .stream_name = "Secondary MI2S Capture", - .cpu_dai_name = "msm-dai-q6-mi2s.1", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-tx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_SECONDARY_MI2S_TX, .be_hw_params_fixup = msm_be_hw_params_fixup, .ops = &msm_mi2s_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(sec_mi2s_tx), }, { .name = LPASS_BE_TERT_MI2S_RX, .stream_name = "Tertiary MI2S Playback", - .cpu_dai_name = "msm-dai-q6-mi2s.2", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_TERTIARY_MI2S_RX, @@ -6914,28 +6558,22 @@ static struct snd_soc_dai_link msm_mi2s_be_dai_links[] = { .ops = &msm_mi2s_be_ops, .ignore_suspend = 1, .ignore_pmdown_time = 1, + SND_SOC_DAILINK_REG(tert_mi2s_rx), }, { .name = LPASS_BE_TERT_MI2S_TX, .stream_name = "Tertiary MI2S Capture", - .cpu_dai_name = "msm-dai-q6-mi2s.2", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-tx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_TERTIARY_MI2S_TX, .be_hw_params_fixup = msm_be_hw_params_fixup, .ops = &msm_mi2s_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(tert_mi2s_tx), }, { .name = LPASS_BE_QUAT_MI2S_RX, .stream_name = "Quaternary MI2S Playback", - .cpu_dai_name = "msm-dai-q6-mi2s.3", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_QUATERNARY_MI2S_RX, @@ -6943,28 +6581,22 @@ static struct snd_soc_dai_link msm_mi2s_be_dai_links[] = { .ops = &msm_mi2s_be_ops, .ignore_suspend = 1, .ignore_pmdown_time = 1, + SND_SOC_DAILINK_REG(quat_mi2s_rx), }, { .name = LPASS_BE_QUAT_MI2S_TX, .stream_name = "Quaternary MI2S Capture", - .cpu_dai_name = "msm-dai-q6-mi2s.3", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-tx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_QUATERNARY_MI2S_TX, .be_hw_params_fixup = msm_be_hw_params_fixup, .ops = &msm_mi2s_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(quat_mi2s_tx), }, { .name = LPASS_BE_QUIN_MI2S_RX, .stream_name = "Quinary MI2S Playback", - .cpu_dai_name = "msm-dai-q6-mi2s.4", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_QUINARY_MI2S_RX, @@ -6972,20 +6604,18 @@ static struct snd_soc_dai_link msm_mi2s_be_dai_links[] = { .ops = &msm_mi2s_be_ops, .ignore_suspend = 1, .ignore_pmdown_time = 1, + SND_SOC_DAILINK_REG(quin_mi2s_rx), }, { .name = LPASS_BE_QUIN_MI2S_TX, .stream_name = "Quinary MI2S Capture", - .cpu_dai_name = "msm-dai-q6-mi2s.4", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-tx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_QUINARY_MI2S_TX, .be_hw_params_fixup = msm_be_hw_params_fixup, .ops = &msm_mi2s_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(quin_mi2s_tx), }, }; @@ -6994,140 +6624,110 @@ static struct snd_soc_dai_link msm_auxpcm_be_dai_links[] = { { .name = LPASS_BE_AUXPCM_RX, .stream_name = "AUX PCM Playback", - .cpu_dai_name = "msm-dai-q6-auxpcm.1", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_AUXPCM_RX, .be_hw_params_fixup = msm_be_hw_params_fixup, .ignore_pmdown_time = 1, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(auxpcm_rx), }, { .name = LPASS_BE_AUXPCM_TX, .stream_name = "AUX PCM Capture", - .cpu_dai_name = "msm-dai-q6-auxpcm.1", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-tx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_AUXPCM_TX, .be_hw_params_fixup = msm_be_hw_params_fixup, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(auxpcm_tx), }, /* Secondary AUX PCM Backend DAI Links */ { .name = LPASS_BE_SEC_AUXPCM_RX, .stream_name = "Sec AUX PCM Playback", - .cpu_dai_name = "msm-dai-q6-auxpcm.2", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_SEC_AUXPCM_RX, .be_hw_params_fixup = msm_be_hw_params_fixup, .ignore_pmdown_time = 1, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(sec_auxpcm_rx), }, { .name = LPASS_BE_SEC_AUXPCM_TX, .stream_name = "Sec AUX PCM Capture", - .cpu_dai_name = "msm-dai-q6-auxpcm.2", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-tx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_SEC_AUXPCM_TX, .be_hw_params_fixup = msm_be_hw_params_fixup, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(sec_auxpcm_tx), }, /* Tertiary AUX PCM Backend DAI Links */ { .name = LPASS_BE_TERT_AUXPCM_RX, .stream_name = "Tert AUX PCM Playback", - .cpu_dai_name = "msm-dai-q6-auxpcm.3", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_TERT_AUXPCM_RX, .be_hw_params_fixup = msm_be_hw_params_fixup, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(tert_auxpcm_rx), }, { .name = LPASS_BE_TERT_AUXPCM_TX, .stream_name = "Tert AUX PCM Capture", - .cpu_dai_name = "msm-dai-q6-auxpcm.3", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-tx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_TERT_AUXPCM_TX, .be_hw_params_fixup = msm_be_hw_params_fixup, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(tert_auxpcm_tx), }, /* Quaternary AUX PCM Backend DAI Links */ { .name = LPASS_BE_QUAT_AUXPCM_RX, .stream_name = "Quat AUX PCM Playback", - .cpu_dai_name = "msm-dai-q6-auxpcm.4", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_QUAT_AUXPCM_RX, .be_hw_params_fixup = msm_be_hw_params_fixup, .ignore_pmdown_time = 1, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(quat_auxpcm_rx), }, { .name = LPASS_BE_QUAT_AUXPCM_TX, .stream_name = "Quat AUX PCM Capture", - .cpu_dai_name = "msm-dai-q6-auxpcm.4", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-tx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_QUAT_AUXPCM_TX, .be_hw_params_fixup = msm_be_hw_params_fixup, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(quat_auxpcm_tx), }, /* Quinary AUX PCM Backend DAI Links */ { .name = LPASS_BE_QUIN_AUXPCM_RX, .stream_name = "Quin AUX PCM Playback", - .cpu_dai_name = "msm-dai-q6-auxpcm.5", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_QUIN_AUXPCM_RX, .be_hw_params_fixup = msm_be_hw_params_fixup, .ignore_pmdown_time = 1, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(quin_auxpcm_rx), }, { .name = LPASS_BE_QUIN_AUXPCM_TX, .stream_name = "Quin AUX PCM Capture", - .cpu_dai_name = "msm-dai-q6-auxpcm.5", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-stub-codec.1", - .codec_dai_name = "msm-stub-tx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_QUIN_AUXPCM_TX, .be_hw_params_fixup = msm_be_hw_params_fixup, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(quin_auxpcm_tx), }, }; @@ -7160,7 +6760,7 @@ struct snd_soc_card snd_soc_card_auto_custom_msm = { static int msm_populate_dai_link_component_of_node( struct snd_soc_card *card) { - int i, index, ret = 0; + int i, j, index, ret = 0; struct device *cdev = card->dev; struct snd_soc_dai_link *dai_link = card->dai_link; struct device_node *np; @@ -7171,18 +6771,18 @@ static int msm_populate_dai_link_component_of_node( } for (i = 0; i < card->num_links; i++) { - if (dai_link[i].platform_of_node && dai_link[i].cpu_of_node) + if (dai_link[i].platforms->of_node && dai_link[i].cpus->of_node) continue; /* populate platform_of_node for snd card dai links */ - if (dai_link[i].platform_name && - !dai_link[i].platform_of_node) { + 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].platform_name); + dai_link[i].platforms->name); if (index < 0) { pr_err("%s: No match found for platform name: %s\n", - __func__, dai_link[i].platform_name); + __func__, dai_link[i].platforms->name); ret = index; goto err; } @@ -7190,52 +6790,59 @@ static int msm_populate_dai_link_component_of_node( index); if (!np) { pr_err("%s: retrieving phandle for platform %s, index %d failed\n", - __func__, dai_link[i].platform_name, + __func__, dai_link[i].platforms->name, index); ret = -ENODEV; goto err; } - dai_link[i].platform_of_node = np; - dai_link[i].platform_name = NULL; + dai_link[i].platforms->of_node = np; + dai_link[i].platforms->name = NULL; } /* populate cpu_of_node for snd card dai links */ - if (dai_link[i].cpu_dai_name && !dai_link[i].cpu_of_node) { + if (dai_link[i].cpus->dai_name && !dai_link[i].cpus->of_node) { index = of_property_match_string(cdev->of_node, "asoc-cpu-names", - dai_link[i].cpu_dai_name); + dai_link[i].cpus->dai_name); if (index >= 0) { np = of_parse_phandle(cdev->of_node, "asoc-cpu", index); if (!np) { pr_err("%s: retrieving phandle for cpu dai %s failed\n", __func__, - dai_link[i].cpu_dai_name); + dai_link[i].cpus->dai_name); ret = -ENODEV; goto err; } - dai_link[i].cpu_of_node = np; - dai_link[i].cpu_dai_name = NULL; + dai_link[i].cpus->of_node = np; + dai_link[i].cpus->dai_name = NULL; } } /* populate codec_of_node for snd card dai links */ - if (dai_link[i].codec_name && !dai_link[i].codec_of_node) { - index = of_property_match_string(cdev->of_node, - "asoc-codec-names", - dai_link[i].codec_name); - if (index < 0) - continue; - np = of_parse_phandle(cdev->of_node, "asoc-codec", - index); - if (!np) { - pr_err("%s: retrieving phandle for codec %s failed\n", - __func__, dai_link[i].codec_name); - ret = -ENODEV; - goto err; + if (dai_link[i].num_codecs > 0) { + for (j = 0; j < dai_link[i].num_codecs; j++) { + if (dai_link[i].codecs[j].of_node || + !dai_link[i].codecs[j].name) + continue; + + index = of_property_match_string(cdev->of_node, + "asoc-codec-names", + dai_link[i].codecs[j].name); + if (index < 0) + continue; + np = of_parse_phandle(cdev->of_node, + "asoc-codec", + index); + if (!np) { + pr_err("%s: retrieving phandle for codec %s failed\n", + __func__, dai_link[i].codecs[j].name); + ret = -ENODEV; + goto err; + } + dai_link[i].codecs[j].of_node = np; + dai_link[i].codecs[j].name = NULL; } - dai_link[i].codec_of_node = np; - dai_link[i].codec_name = NULL; } } @@ -7473,8 +7080,9 @@ static int sa8155_ssr_enable(struct device *dev, void *data) } dev_info(dev, "%s: setting snd_card to ONLINE\n", __func__); +#if IS_ENABLED(CONFIG_AUDIO_QGKI) snd_soc_card_change_online_state(card, 1); - +#endif /* CONFIG_AUDIO_QGKI */ err: return ret; } @@ -7489,8 +7097,10 @@ static void sa8155_ssr_disable(struct device *dev, void *data) return; } - dev_info(dev, "%s: setting snd_card to OFFLINE\n", __func__); + dev_dbg(dev, "%s: setting snd_card to OFFLINE\n", __func__); +#if IS_ENABLED(CONFIG_AUDIO_QGKI) snd_soc_card_change_online_state(card, 0); +#endif /* CONFIG_AUDIO_QGKI */ } static const struct snd_event_ops sa8155_ssr_ops = { @@ -7511,9 +7121,9 @@ static int msm_audio_ssr_register(struct device *dev) { struct device_node *np = dev->of_node; struct snd_event_clients *ssr_clients = NULL; - struct device_node *node; - int ret; - int i; + struct device_node *node = NULL; + int ret = 0; + int i = 0; for (i = 0; ; i++) { node = of_parse_phandle(np, "qcom,msm_audio_ssr_devs", i); @@ -7540,9 +7150,9 @@ static int msm_asoc_machine_probe(struct platform_device *pdev) static int first_probe = 1; if (first_probe) { - place_marker("M - DRIVER Audio Init"); first_probe = 0; } + pr_debug("M - DRIVER Audio Init\n"); if (!pdev->dev.of_node) { dev_err(&pdev->dev, "No platform supplied from device tree\n"); @@ -7622,7 +7232,7 @@ static int msm_asoc_machine_probe(struct platform_device *pdev) pr_err("%s: Registration with SND event FWK failed ret = %d\n", __func__, ret); - place_marker("M - DRIVER Audio Ready"); + pr_debug("M - DRIVER Audio Ready\n"); return 0; err: msm_release_pinctrl(pdev);