diff --git a/asoc/kona.c b/asoc/kona.c index d4439e4d18..2fccbcbd40 100644 --- a/asoc/kona.c +++ b/asoc/kona.c @@ -1,6 +1,6 @@ // SPDX-License-Identifier: GPL-2.0-only /* - * Copyright (c) 2016-2019, The Linux Foundation. All rights reserved. + * Copyright (c) 2016-2020, The Linux Foundation. All rights reserved. */ #include @@ -36,6 +36,7 @@ #include #include "codecs/bolero/wsa-macro.h" #include "kona-port-config.h" +#include "msm_dailink.h" #define DRV_NAME "kona-asoc-snd" #define __CHIPSET__ "KONA " @@ -5477,43 +5478,35 @@ static struct snd_soc_dai_link msm_common_dai_links[] = { {/* hw:x,0 */ .name = MSM_DAILINK_NAME(Media1), .stream_name = "MultiMedia1", - .cpu_dai_name = "MultiMedia1", - .platform_name = "msm-pcm-dsp.0", .dynamic = 1, .async_ops = ASYNC_DPCM_SND_SOC_PREPARE, .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), }, {/* hw:x,1 */ .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), }, {/* hw:x,2 */ .name = "VoiceMMode1", .stream_name = "VoiceMMode1", - .cpu_dai_name = "VoiceMMode1", - .platform_name = "msm-pcm-voice", .dynamic = 1, .dpcm_playback = 1, .dpcm_capture = 1, @@ -5522,90 +5515,72 @@ 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), }, {/* hw:x,3 */ .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), }, {/* hw:x,4 */ .name = MSM_DAILINK_NAME(ULL), .stream_name = "MultiMedia3", - .cpu_dai_name = "MultiMedia3", - .platform_name = "msm-pcm-dsp.2", .dynamic = 1, .async_ops = ASYNC_DPCM_SND_SOC_PREPARE, .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), }, {/* hw:x,5 */ .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), }, {/* hw:x,6 */ .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), }, {/* hw:x,7 */ .name = MSM_DAILINK_NAME(Compress1), .stream_name = "Compress1", - .cpu_dai_name = "MultiMedia4", - .platform_name = "msm-compress-dsp", .dynamic = 1, .async_ops = ASYNC_DPCM_SND_SOC_HW_PARAMS, .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 */ {/* hw:x,8 */ .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, @@ -5615,20 +5590,15 @@ 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), }, {/* hw:x,9 */ .name = MSM_DAILINK_NAME(LowLatency), .stream_name = "MultiMedia5", - .cpu_dai_name = "MultiMedia5", - .platform_name = "msm-pcm-dsp.1", .dynamic = 1, .async_ops = ASYNC_DPCM_SND_SOC_PREPARE, .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, @@ -5636,80 +5606,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), }, {/* hw:x,10 */ .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 */ {/* hw:x,11 */ .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), }, {/* hw:x,12 */ .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), }, {/* hw:x,13 */ .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 */ {/* hw:x,14 */ .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, @@ -5717,14 +5674,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), }, {/* hw:x,15 */ .name = "VoiceMMode2", .stream_name = "VoiceMMode2", - .cpu_dai_name = "VoiceMMode2", - .platform_name = "msm-pcm-voice", .dynamic = 1, .dpcm_playback = 1, .dpcm_capture = 1, @@ -5733,236 +5687,191 @@ 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 */ {/* hw:x,16 */ .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), }, {/* hw:x,17 */ .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), }, {/* hw:x,18 */ .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), }, {/* hw:x,19 */ .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), }, {/* hw:x,20 */ .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), }, {/* hw:x,21 */ .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), }, {/* hw:x,22 */ .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), }, {/* hw:x,23 */ .name = MSM_DAILINK_NAME(Media9), .stream_name = "MultiMedia9", - .cpu_dai_name = "MultiMedia9", - .platform_name = "msm-pcm-dsp.0", .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_MULTIMEDIA9, + SND_SOC_DAILINK_REG(multimedia9), }, {/* hw:x,24 */ .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), }, {/* hw:x,25 */ .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), }, {/* hw:x,26 */ .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), }, {/* hw:x,27 */ .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), }, {/* hw:x,28 */ .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), }, {/* hw:x,29 */ .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), }, {/* hw:x,30 */ .name = "CDC_DMA Hostless", .stream_name = "CDC_DMA Hostless", - .cpu_dai_name = "CDC_DMA_HOSTLESS", - .platform_name = "msm-pcm-hostless", .dynamic = 1, .dpcm_playback = 1, .dpcm_capture = 1, @@ -5972,28 +5881,22 @@ static struct snd_soc_dai_link msm_common_dai_links[] = { .ignore_suspend = 1, /* this dailink has playback support */ .ignore_pmdown_time = 1, - .codec_dai_name = "snd-soc-dummy-dai", - .codec_name = "snd-soc-dummy", + SND_SOC_DAILINK_REG(cdcdma_hostless), }, {/* hw:x,31 */ .name = "TX3_CDC_DMA Hostless", .stream_name = "TX3_CDC_DMA Hostless", - .cpu_dai_name = "TX3_CDC_DMA_HOSTLESS", - .platform_name = "msm-pcm-hostless", .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", + SND_SOC_DAILINK_REG(tx3_cdcdma_hostless), }, {/* hw:x,32 */ .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, @@ -6001,8 +5904,7 @@ 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(tert_mi2s_tx_hostless), }, }; @@ -6010,15 +5912,12 @@ static struct snd_soc_dai_link msm_bolero_fe_dai_links[] = { {/* hw:x,33 */ .name = LPASS_BE_WSA_CDC_DMA_TX_0, .stream_name = "WSA CDC DMA0 Capture", - .cpu_dai_name = "msm-dai-cdc-dma-dev.45057", - .platform_name = "msm-pcm-hostless", - .codec_name = "bolero_codec", - .codec_dai_name = "wsa_macro_vifeedback", .id = MSM_BACKEND_DAI_WSA_CDC_DMA_TX_0, .be_hw_params_fixup = msm_be_hw_params_fixup, .ignore_suspend = 1, .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ops = &msm_cdc_dma_be_ops, + SND_SOC_DAILINK_REG(wsa_cdcdma0_capture), }, }; @@ -6026,25 +5925,20 @@ static struct snd_soc_dai_link msm_common_misc_fe_dai_links[] = { {/* hw:x,34 */ .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), }, {/* hw:x,35 */ .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, @@ -6053,14 +5947,11 @@ static struct snd_soc_dai_link msm_common_misc_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(usbaudio_hostless), }, {/* hw:x,36 */ .name = "SLIMBUS_7 Hostless", .stream_name = "SLIMBUS_7 Hostless", - .cpu_dai_name = "SLIMBUS7_HOSTLESS", - .platform_name = "msm-pcm-hostless", .dynamic = 1, .dpcm_capture = 1, .dpcm_playback = 1, @@ -6069,29 +5960,23 @@ static struct snd_soc_dai_link msm_common_misc_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(slimbus7_hostless), }, {/* hw:x,37 */ .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), }, {/* hw:x,38 */ .name = "SLIMBUS_8 Hostless", .stream_name = "SLIMBUS_8 Hostless", - .cpu_dai_name = "SLIMBUS8_HOSTLESS", - .platform_name = "msm-pcm-hostless", .dynamic = 1, .dpcm_capture = 1, .dpcm_playback = 1, @@ -6100,21 +5985,17 @@ static struct snd_soc_dai_link msm_common_misc_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(slimbus8_hostless), }, {/* hw:x,39 */ .name = LPASS_BE_TX_CDC_DMA_TX_5, .stream_name = "TX CDC DMA5 Capture", - .cpu_dai_name = "msm-dai-cdc-dma-dev.45115", - .platform_name = "msm-pcm-hostless", - .codec_name = "bolero_codec", - .codec_dai_name = "tx_macro_tx3", .id = MSM_BACKEND_DAI_TX_CDC_DMA_TX_5, .be_hw_params_fixup = msm_be_hw_params_fixup, .ignore_suspend = 1, .no_host_mode = SND_SOC_DAI_LINK_NO_HOST, .ops = &msm_cdc_dma_be_ops, + SND_SOC_DAILINK_REG(tx_cdcdma5_tx), }, }; @@ -6123,10 +6004,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, @@ -6134,85 +6011,67 @@ 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", .dynamic_be = 1, .no_pcm = 1, .dpcm_playback = 1, @@ -6220,27 +6079,21 @@ static struct snd_soc_dai_link msm_common_be_dai_links[] = { .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, @@ -6248,28 +6101,22 @@ static struct snd_soc_dai_link msm_common_be_dai_links[] = { .ops = &kona_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_be_hw_params_fixup, .ops = &kona_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, @@ -6277,28 +6124,22 @@ static struct snd_soc_dai_link msm_common_be_dai_links[] = { .ops = &kona_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_be_hw_params_fixup, .ops = &kona_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, @@ -6306,28 +6147,22 @@ static struct snd_soc_dai_link msm_common_be_dai_links[] = { .ops = &kona_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_be_hw_params_fixup, .ops = &kona_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, @@ -6335,28 +6170,22 @@ static struct snd_soc_dai_link msm_common_be_dai_links[] = { .ops = &kona_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_be_hw_params_fixup, .ops = &kona_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, @@ -6364,28 +6193,22 @@ static struct snd_soc_dai_link msm_common_be_dai_links[] = { .ops = &kona_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_be_hw_params_fixup, .ops = &kona_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(quin_tdm_tx_0), }, { .name = LPASS_BE_SEN_TDM_RX_0, .stream_name = "Senary TDM0 Playback", - .cpu_dai_name = "msm-dai-q6-tdm.36944", - .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_SEN_TDM_RX_0, @@ -6393,20 +6216,18 @@ static struct snd_soc_dai_link msm_common_be_dai_links[] = { .ops = &kona_tdm_be_ops, .ignore_suspend = 1, .ignore_pmdown_time = 1, + SND_SOC_DAILINK_REG(sen_tdm_rx_0), }, { .name = LPASS_BE_SEN_TDM_TX_0, .stream_name = "Senary TDM0 Capture", - .cpu_dai_name = "msm-dai-q6-tdm.36945", - .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_SEN_TDM_TX_0, .be_hw_params_fixup = msm_be_hw_params_fixup, .ops = &kona_tdm_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(sen_tdm_tx_0), }, }; @@ -6414,14 +6235,6 @@ static struct snd_soc_dai_link msm_wcn_be_dai_links[] = { { .name = LPASS_BE_SLIMBUS_7_RX, .stream_name = "Slimbus7 Playback", - .cpu_dai_name = "msm-dai-q6-dev.16398", - .platform_name = "msm-pcm-routing", - .codec_name = "btfmslim_slave", - /* BT codec driver determines capabilities based on - * dai name, bt codecdai name should always contains - * supported usecase information - */ - .codec_dai_name = "btfm_bt_sco_a2dp_slim_rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_SLIMBUS_7_RX, @@ -6431,20 +6244,18 @@ static struct snd_soc_dai_link msm_wcn_be_dai_links[] = { /* dai link has playback support */ .ignore_pmdown_time = 1, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(slimbus_7_rx), }, { .name = LPASS_BE_SLIMBUS_7_TX, .stream_name = "Slimbus7 Capture", - .cpu_dai_name = "msm-dai-q6-dev.16399", - .platform_name = "msm-pcm-routing", - .codec_name = "btfmslim_slave", - .codec_dai_name = "btfm_bt_sco_slim_tx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_SLIMBUS_7_TX, .be_hw_params_fixup = msm_be_hw_params_fixup, .ops = &msm_wcn_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(slimbus_7_tx), }, }; @@ -6452,14 +6263,6 @@ static struct snd_soc_dai_link msm_wcn_btfm_be_dai_links[] = { { .name = LPASS_BE_SLIMBUS_7_RX, .stream_name = "Slimbus7 Playback", - .cpu_dai_name = "msm-dai-q6-dev.16398", - .platform_name = "msm-pcm-routing", - .codec_name = "btfmslim_slave", - /* BT codec driver determines capabilities based on - * dai name, bt codecdai name should always contains - * supported usecase information - */ - .codec_dai_name = "btfm_bt_sco_a2dp_slim_rx", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_SLIMBUS_7_RX, @@ -6469,34 +6272,29 @@ static struct snd_soc_dai_link msm_wcn_btfm_be_dai_links[] = { /* dai link has playback support */ .ignore_pmdown_time = 1, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(slimbus_7_rx), }, { .name = LPASS_BE_SLIMBUS_7_TX, .stream_name = "Slimbus7 Capture", - .cpu_dai_name = "msm-dai-q6-dev.16399", - .platform_name = "msm-pcm-routing", - .codec_name = "btfmslim_slave", - .codec_dai_name = "btfm_bt_sco_slim_tx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_SLIMBUS_7_TX, .be_hw_params_fixup = msm_be_hw_params_fixup, .ops = &msm_wcn_ops_lito, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(slimbus_7_tx), }, { .name = LPASS_BE_SLIMBUS_8_TX, .stream_name = "Slimbus8 Capture", - .cpu_dai_name = "msm-dai-q6-dev.16401", - .platform_name = "msm-pcm-routing", - .codec_name = "btfmslim_slave", - .codec_dai_name = "btfm_fm_slim_tx", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_SLIMBUS_8_TX, .be_hw_params_fixup = msm_be_hw_params_fixup, .ops = &msm_wcn_ops_lito, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(slimbus_8_tx), }, }; @@ -6505,31 +6303,25 @@ 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.0", - .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(display_port), }, /* DISP PORT 1 BACK END DAI Link */ { .name = LPASS_BE_DISPLAY_PORT1, .stream_name = "Display Port1 Playback", - .cpu_dai_name = "msm-dai-q6-dp.1", - .platform_name = "msm-pcm-routing", - .codec_name = "msm-ext-disp-audio-codec-rx", - .codec_dai_name = "msm_dp_audio_codec_rx1_dai", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_DISPLAY_PORT_RX_1, .be_hw_params_fixup = msm_be_hw_params_fixup, .ignore_pmdown_time = 1, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(display_port1), }, }; @@ -6537,10 +6329,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, @@ -6548,28 +6336,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, @@ -6577,28 +6359,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, @@ -6606,28 +6382,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, @@ -6635,28 +6405,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, @@ -6664,28 +6428,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(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), }, { .name = LPASS_BE_SENARY_MI2S_RX, .stream_name = "Senary MI2S Playback", - .cpu_dai_name = "msm-dai-q6-mi2s.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_SENARY_MI2S_RX, @@ -6693,20 +6451,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(sen_mi2s_rx), }, { .name = LPASS_BE_SENARY_MI2S_TX, .stream_name = "Senary MI2S Capture", - .cpu_dai_name = "msm-dai-q6-mi2s.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_SENARY_MI2S_TX, .be_hw_params_fixup = msm_be_hw_params_fixup, .ops = &msm_mi2s_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(sen_mi2s_tx), }, }; @@ -6715,10 +6471,6 @@ 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, @@ -6726,29 +6478,23 @@ static struct snd_soc_dai_link msm_auxpcm_be_dai_links[] = { .ops = &kona_aux_be_ops, .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, .ops = &kona_aux_be_ops, .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, @@ -6756,136 +6502,110 @@ static struct snd_soc_dai_link msm_auxpcm_be_dai_links[] = { .ops = &kona_aux_be_ops, .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, .ops = &kona_aux_be_ops, .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, .ops = &kona_aux_be_ops, .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, .ops = &kona_aux_be_ops, .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, .ops = &kona_aux_be_ops, .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, .ops = &kona_aux_be_ops, .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, .ops = &kona_aux_be_ops, .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, .ops = &kona_aux_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(quin_auxpcm_tx), }, /* Senary AUX PCM Backend DAI Links */ { .name = LPASS_BE_SEN_AUXPCM_RX, .stream_name = "Sen AUX PCM Playback", - .cpu_dai_name = "msm-dai-q6-auxpcm.6", - .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_SEN_AUXPCM_RX, .be_hw_params_fixup = msm_be_hw_params_fixup, .ops = &kona_aux_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(sen_auxpcm_rx), }, { .name = LPASS_BE_SEN_AUXPCM_TX, .stream_name = "Sen AUX PCM Capture", - .cpu_dai_name = "msm-dai-q6-auxpcm.6", - .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_SEN_AUXPCM_TX, .be_hw_params_fixup = msm_be_hw_params_fixup, .ops = &kona_aux_be_ops, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(sen_auxpcm_tx), }, }; @@ -6894,10 +6614,6 @@ static struct snd_soc_dai_link msm_wsa_cdc_dma_be_dai_links[] = { { .name = LPASS_BE_WSA_CDC_DMA_RX_0, .stream_name = "WSA CDC DMA0 Playback", - .cpu_dai_name = "msm-dai-cdc-dma-dev.45056", - .platform_name = "msm-pcm-routing", - .codec_name = "bolero_codec", - .codec_dai_name = "wsa_macro_rx1", .no_pcm = 1, .dpcm_playback = 1, .init = &msm_int_audrx_init, @@ -6906,14 +6622,11 @@ static struct snd_soc_dai_link msm_wsa_cdc_dma_be_dai_links[] = { .ignore_pmdown_time = 1, .ignore_suspend = 1, .ops = &msm_cdc_dma_be_ops, + SND_SOC_DAILINK_REG(wsa_dma_rx0), }, { .name = LPASS_BE_WSA_CDC_DMA_RX_1, .stream_name = "WSA CDC DMA1 Playback", - .cpu_dai_name = "msm-dai-cdc-dma-dev.45058", - .platform_name = "msm-pcm-routing", - .codec_name = "bolero_codec", - .codec_dai_name = "wsa_macro_rx_mix", .no_pcm = 1, .dpcm_playback = 1, .id = MSM_BACKEND_DAI_WSA_CDC_DMA_RX_1, @@ -6921,20 +6634,18 @@ static struct snd_soc_dai_link msm_wsa_cdc_dma_be_dai_links[] = { .ignore_pmdown_time = 1, .ignore_suspend = 1, .ops = &msm_cdc_dma_be_ops, + SND_SOC_DAILINK_REG(wsa_dma_rx1), }, { .name = LPASS_BE_WSA_CDC_DMA_TX_1, .stream_name = "WSA CDC DMA1 Capture", - .cpu_dai_name = "msm-dai-cdc-dma-dev.45059", - .platform_name = "msm-pcm-routing", - .codec_name = "bolero_codec", - .codec_dai_name = "wsa_macro_echo", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_WSA_CDC_DMA_TX_1, .be_hw_params_fixup = msm_be_hw_params_fixup, .ignore_suspend = 1, .ops = &msm_cdc_dma_be_ops, + SND_SOC_DAILINK_REG(wsa_dma_tx1), }, }; @@ -6943,10 +6654,6 @@ static struct snd_soc_dai_link msm_rx_tx_cdc_dma_be_dai_links[] = { { .name = LPASS_BE_RX_CDC_DMA_RX_0, .stream_name = "RX CDC DMA0 Playback", - .cpu_dai_name = "msm-dai-cdc-dma-dev.45104", - .platform_name = "msm-pcm-routing", - .codec_name = "bolero_codec", - .codec_dai_name = "rx_macro_rx1", .dynamic_be = 1, .no_pcm = 1, .dpcm_playback = 1, @@ -6955,14 +6662,11 @@ static struct snd_soc_dai_link msm_rx_tx_cdc_dma_be_dai_links[] = { .ignore_pmdown_time = 1, .ignore_suspend = 1, .ops = &msm_cdc_dma_be_ops, + SND_SOC_DAILINK_REG(rx_dma_rx0), }, { .name = LPASS_BE_RX_CDC_DMA_RX_1, .stream_name = "RX CDC DMA1 Playback", - .cpu_dai_name = "msm-dai-cdc-dma-dev.45106", - .platform_name = "msm-pcm-routing", - .codec_name = "bolero_codec", - .codec_dai_name = "rx_macro_rx2", .dynamic_be = 1, .no_pcm = 1, .dpcm_playback = 1, @@ -6971,14 +6675,11 @@ static struct snd_soc_dai_link msm_rx_tx_cdc_dma_be_dai_links[] = { .ignore_pmdown_time = 1, .ignore_suspend = 1, .ops = &msm_cdc_dma_be_ops, + SND_SOC_DAILINK_REG(rx_dma_rx1), }, { .name = LPASS_BE_RX_CDC_DMA_RX_2, .stream_name = "RX CDC DMA2 Playback", - .cpu_dai_name = "msm-dai-cdc-dma-dev.45108", - .platform_name = "msm-pcm-routing", - .codec_name = "bolero_codec", - .codec_dai_name = "rx_macro_rx3", .dynamic_be = 1, .no_pcm = 1, .dpcm_playback = 1, @@ -6987,14 +6688,11 @@ static struct snd_soc_dai_link msm_rx_tx_cdc_dma_be_dai_links[] = { .ignore_pmdown_time = 1, .ignore_suspend = 1, .ops = &msm_cdc_dma_be_ops, + SND_SOC_DAILINK_REG(rx_dma_rx2), }, { .name = LPASS_BE_RX_CDC_DMA_RX_3, .stream_name = "RX CDC DMA3 Playback", - .cpu_dai_name = "msm-dai-cdc-dma-dev.45110", - .platform_name = "msm-pcm-routing", - .codec_name = "bolero_codec", - .codec_dai_name = "rx_macro_rx4", .dynamic_be = 1, .no_pcm = 1, .dpcm_playback = 1, @@ -7003,35 +6701,30 @@ static struct snd_soc_dai_link msm_rx_tx_cdc_dma_be_dai_links[] = { .ignore_pmdown_time = 1, .ignore_suspend = 1, .ops = &msm_cdc_dma_be_ops, + SND_SOC_DAILINK_REG(rx_dma_rx3), }, /* TX CDC DMA Backend DAI Links */ { .name = LPASS_BE_TX_CDC_DMA_TX_3, .stream_name = "TX CDC DMA3 Capture", - .cpu_dai_name = "msm-dai-cdc-dma-dev.45111", - .platform_name = "msm-pcm-routing", - .codec_name = "bolero_codec", - .codec_dai_name = "tx_macro_tx1", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_TX_CDC_DMA_TX_3, .be_hw_params_fixup = msm_be_hw_params_fixup, .ignore_suspend = 1, .ops = &msm_cdc_dma_be_ops, + SND_SOC_DAILINK_REG(tx_dma_tx3), }, { .name = LPASS_BE_TX_CDC_DMA_TX_4, .stream_name = "TX CDC DMA4 Capture", - .cpu_dai_name = "msm-dai-cdc-dma-dev.45113", - .platform_name = "msm-pcm-routing", - .codec_name = "bolero_codec", - .codec_dai_name = "tx_macro_tx2", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_TX_CDC_DMA_TX_4, .be_hw_params_fixup = msm_be_hw_params_fixup, .ignore_suspend = 1, .ops = &msm_cdc_dma_be_ops, + SND_SOC_DAILINK_REG(tx_dma_tx4), }, }; @@ -7039,44 +6732,35 @@ static struct snd_soc_dai_link msm_va_cdc_dma_be_dai_links[] = { { .name = LPASS_BE_VA_CDC_DMA_TX_0, .stream_name = "VA CDC DMA0 Capture", - .cpu_dai_name = "msm-dai-cdc-dma-dev.45089", - .platform_name = "msm-pcm-routing", - .codec_name = "bolero_codec", - .codec_dai_name = "va_macro_tx1", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_VA_CDC_DMA_TX_0, .be_hw_params_fixup = msm_be_hw_params_fixup, .ignore_suspend = 1, .ops = &msm_cdc_dma_be_ops, + SND_SOC_DAILINK_REG(va_dma_tx0), }, { .name = LPASS_BE_VA_CDC_DMA_TX_1, .stream_name = "VA CDC DMA1 Capture", - .cpu_dai_name = "msm-dai-cdc-dma-dev.45091", - .platform_name = "msm-pcm-routing", - .codec_name = "bolero_codec", - .codec_dai_name = "va_macro_tx2", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_VA_CDC_DMA_TX_1, .be_hw_params_fixup = msm_be_hw_params_fixup, .ignore_suspend = 1, .ops = &msm_cdc_dma_be_ops, + SND_SOC_DAILINK_REG(va_dma_tx1), }, { .name = LPASS_BE_VA_CDC_DMA_TX_2, .stream_name = "VA CDC DMA2 Capture", - .cpu_dai_name = "msm-dai-cdc-dma-dev.45093", - .platform_name = "msm-pcm-routing", - .codec_name = "bolero_codec", - .codec_dai_name = "va_macro_tx3", .no_pcm = 1, .dpcm_capture = 1, .id = MSM_BACKEND_DAI_VA_CDC_DMA_TX_2, .be_hw_params_fixup = msm_be_hw_params_fixup, .ignore_suspend = 1, .ops = &msm_cdc_dma_be_ops, + SND_SOC_DAILINK_REG(va_dma_tx2), }, }; @@ -7084,16 +6768,13 @@ static struct snd_soc_dai_link msm_afe_rxtx_lb_be_dai_link[] = { { .name = LPASS_BE_AFE_LOOPBACK_TX, .stream_name = "AFE Loopback Capture", - .cpu_dai_name = "msm-dai-q6-dev.24577", - .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_LOOPBACK_TX, .be_hw_params_fixup = msm_be_hw_params_fixup, .ignore_pmdown_time = 1, .ignore_suspend = 1, + SND_SOC_DAILINK_REG(afe_loopback_tx), }, }; @@ -7239,20 +6920,17 @@ static struct snd_soc_dai_link msm_stub_fe_dai_links[] = { { .name = "MSMSTUB Media1", .stream_name = "MultiMedia1", - .cpu_dai_name = "MultiMedia1", - .platform_name = "msm-pcm-dsp.0", .dynamic = 1, .async_ops = ASYNC_DPCM_SND_SOC_PREPARE, .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), }, }; @@ -7261,10 +6939,6 @@ static struct snd_soc_dai_link msm_stub_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, @@ -7273,20 +6947,18 @@ static struct snd_soc_dai_link msm_stub_be_dai_links[] = { .ignore_pmdown_time = 1, .ignore_suspend = 1, .ops = &msm_stub_be_ops, + 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, .ops = &msm_stub_be_ops, + SND_SOC_DAILINK_REG(auxpcm_tx), }, }; diff --git a/asoc/msm_dailink.h b/asoc/msm_dailink.h new file mode 100644 index 0000000000..718a24c2a0 --- /dev/null +++ b/asoc/msm_dailink.h @@ -0,0 +1,523 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ +/* + * Copyright (c) 2020, The Linux Foundation. All rights reserved. + */ + +#include + +/* FE dai-links */ +SND_SOC_DAILINK_DEFS(multimedia1, + DAILINK_COMP_ARRAY(COMP_CPU("Multimedia1")), + 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(multimedia2, + DAILINK_COMP_ARRAY(COMP_CPU("Multimedia2")), + 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(voicemmode1, + DAILINK_COMP_ARRAY(COMP_CPU("VoiceMMode1")), + DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-voice"))); + +SND_SOC_DAILINK_DEFS(msmvoip, + DAILINK_COMP_ARRAY(COMP_CPU("VoIP")), + DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-voip-dsp"))); + +SND_SOC_DAILINK_DEFS(multimedia3, + DAILINK_COMP_ARRAY(COMP_CPU("Multimedia3")), + DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-dsp.2"))); + +SND_SOC_DAILINK_DEFS(afepcm_rx, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-dev.241")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-rx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-afe"))); + +SND_SOC_DAILINK_DEFS(afepcm_tx, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-dev.240")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-tx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-afe"))); + +SND_SOC_DAILINK_DEFS(multimedia4, + DAILINK_COMP_ARRAY(COMP_CPU("Multimedia4")), + DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-compress-dsp"))); + +SND_SOC_DAILINK_DEFS(auxpcm_hostless, + DAILINK_COMP_ARRAY(COMP_CPU("AUXPCM_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(multimedia5, + DAILINK_COMP_ARRAY(COMP_CPU("Multimedia5")), + 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(listen1, + DAILINK_COMP_ARRAY(COMP_CPU("LSM1")), + DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-lsm-client"))); + +SND_SOC_DAILINK_DEFS(multimedia7, + DAILINK_COMP_ARRAY(COMP_CPU("Multimedia7")), + DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-compress-dsp"))); + +SND_SOC_DAILINK_DEFS(multimedia10, + DAILINK_COMP_ARRAY(COMP_CPU("Multimedia10")), + 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(multimedia8, + 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-noirq"))); + +SND_SOC_DAILINK_DEFS(hdmi_rx_hostless, + DAILINK_COMP_ARRAY(COMP_CPU("HDMI_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(voicemmode2, + DAILINK_COMP_ARRAY(COMP_CPU("VoiceMMode2")), + DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-voice"))); + +SND_SOC_DAILINK_DEFS(listen2, + DAILINK_COMP_ARRAY(COMP_CPU("LSM2")), + DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-lsm-client"))); + +SND_SOC_DAILINK_DEFS(listen3, + DAILINK_COMP_ARRAY(COMP_CPU("LSM3")), + DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-lsm-client"))); + +SND_SOC_DAILINK_DEFS(listen4, + DAILINK_COMP_ARRAY(COMP_CPU("LSM4")), + DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-lsm-client"))); + +SND_SOC_DAILINK_DEFS(listen5, + DAILINK_COMP_ARRAY(COMP_CPU("LSM5")), + DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-lsm-client"))); + +SND_SOC_DAILINK_DEFS(listen6, + DAILINK_COMP_ARRAY(COMP_CPU("LSM6")), + DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-lsm-client"))); + +SND_SOC_DAILINK_DEFS(listen7, + DAILINK_COMP_ARRAY(COMP_CPU("LSM7")), + DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-lsm-client"))); + +SND_SOC_DAILINK_DEFS(listen8, + DAILINK_COMP_ARRAY(COMP_CPU("lsm8")), + DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-lsm-client"))); + +SND_SOC_DAILINK_DEFS(multimedia9, + 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.0"))); + +SND_SOC_DAILINK_DEFS(multimedia11, + DAILINK_COMP_ARRAY(COMP_CPU("MultiMedia11")), + DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-compress-dsp"))); + +SND_SOC_DAILINK_DEFS(multimedia12, + DAILINK_COMP_ARRAY(COMP_CPU("MultiMedia12")), + DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-compress-dsp"))); + +SND_SOC_DAILINK_DEFS(multimedia13, + DAILINK_COMP_ARRAY(COMP_CPU("MultiMedia13")), + DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-compress-dsp"))); + +SND_SOC_DAILINK_DEFS(multimedia14, + DAILINK_COMP_ARRAY(COMP_CPU("MultiMedia14")), + DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-compress-dsp"))); + +SND_SOC_DAILINK_DEFS(multimedia15, + DAILINK_COMP_ARRAY(COMP_CPU("MultiMedia15")), + DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-compress-dsp"))); + +SND_SOC_DAILINK_DEFS(multimedia16, + DAILINK_COMP_ARRAY(COMP_CPU("MultiMedia16")), + DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-dsp-noirq"))); + +SND_SOC_DAILINK_DEFS(cdcdma_hostless, + DAILINK_COMP_ARRAY(COMP_CPU("CDC_DMA_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(tx3_cdcdma_hostless, + DAILINK_COMP_ARRAY(COMP_CPU("TX3_CDC_DMA_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_mi2s_tx_hostless, + DAILINK_COMP_ARRAY(COMP_CPU("ERT_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(wsa_cdcdma0_capture, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-cdc-dma-dev.45057")), + DAILINK_COMP_ARRAY(COMP_CODEC("bolero_codec", "wsa_macro_vifeedback")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-hostless"))); + +SND_SOC_DAILINK_DEFS(multimedia6, + 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-loopback"))); + +SND_SOC_DAILINK_DEFS(usbaudio_hostless, + DAILINK_COMP_ARRAY(COMP_CPU("USBAUDIO_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(slimbus7_hostless, + DAILINK_COMP_ARRAY(COMP_CPU("SLIMBUS_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(multimedia17, + DAILINK_COMP_ARRAY(COMP_CPU("MultiMedia17")), + DAILINK_COMP_ARRAY(COMP_CODEC("snd-soc-dummy", "snd-soc-dummy-dai")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-compress-dap"))); + +SND_SOC_DAILINK_DEFS(slimbus8_hostless, + DAILINK_COMP_ARRAY(COMP_CPU("SLIMBUS_8_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(tx_cdcdma5_tx, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-cdc-dma-dev.45115")), + DAILINK_COMP_ARRAY(COMP_CODEC("bolero_codec", "tx_macro_tx3")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-hostless"))); + +/* BE dai-links */ +SND_SOC_DAILINK_DEFS(afe_pcm_rx, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-dev.224")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-rx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(afe_pcm_tx, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-dev.225")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-tx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(incall_record_tx, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-dev.32772")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-tx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(incall_record_rx, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-dev.32771")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-tx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(voice_playback_tx, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-dev.32773")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-rx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(voice2_playback_tx, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-dev.32770")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-rx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(usb_audio_rx, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-dev.28672")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-rx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(usb_audio_tx, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-dev.28673")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-tx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(pri_tdm_rx_0, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-tdm.36864")), + 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_0, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-tdm.36865")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-tx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(sec_tdm_rx_0, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-tdm.36880")), + 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_0, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-tdm.36881")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-tx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(tert_tdm_rx_0, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-tdm.36896")), + 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_0, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-tdm.36897")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-tx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(quat_tdm_rx_0, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-tdm.36912")), + 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_0, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-tdm.36913")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-tx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(quin_tdm_rx_0, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-tdm.36928")), + 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_0, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-tdm.36929")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-tx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(sen_tdm_rx_0, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-tdm.36944")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-rx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(sen_tdm_tx_0, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-tdm.36945")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-tx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(slimbus_7_rx, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-dev.16398")), + DAILINK_COMP_ARRAY(COMP_CODEC("btfmslim_slave", + "btfm_bt_sco_a2dp_slim_rx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(slimbus_7_tx, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-dev.16399")), + DAILINK_COMP_ARRAY(COMP_CODEC("btfmslim_slave", + "btfm_bt_sco_a2dp_slim_rx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(slimbus_8_tx, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-dev.16401")), + DAILINK_COMP_ARRAY(COMP_CODEC("btfmslim_slave", + "btfm_bt_sco_a2dp_slim_rx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(display_port, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-dp.0")), + 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"))); + +SND_SOC_DAILINK_DEFS(display_port1, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-dp.1")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-ext-disp-audio-codec-rx", + "msm_dp_audio_codec_rx1_dai")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(pri_mi2s_rx, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-mi2s.0")), + 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_mi2s_tx, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-mi2s.0")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-tx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(sec_mi2s_rx, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-mi2s.1")), + 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_mi2s_tx, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-mi2s.1")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-tx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(tert_mi2s_rx, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-mi2s.2")), + 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_mi2s_tx, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-mi2s.2")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-tx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(quat_mi2s_rx, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-mi2s.3")), + 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_mi2s_tx, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-mi2s.3")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-tx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(quin_mi2s_rx, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-mi2s.4")), + 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_mi2s_tx, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-mi2s.4")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-tx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(sen_mi2s_rx, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-mi2s.5")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-rx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(sen_mi2s_tx, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-mi2s.5")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-tx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(auxpcm_rx, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-auxpcm.1")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-rx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(auxpcm_tx, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-auxpcm.1")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-tx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(sec_auxpcm_rx, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-auxpcm.2")), + 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_auxpcm_tx, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-auxpcm.2")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-tx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(tert_auxpcm_rx, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-auxpcm.3")), + 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_auxpcm_tx, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-auxpcm.3")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-tx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(quat_auxpcm_rx, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-auxpcm.4")), + 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_auxpcm_tx, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-auxpcm.4")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-tx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(quin_auxpcm_rx, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-auxpcm.5")), + 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_auxpcm_tx, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-auxpcm.5")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-tx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(sen_auxpcm_rx, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-auxpcm.6")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-rx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(sen_auxpcm_tx, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-auxpcm.6")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-tx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(wsa_dma_rx0, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-cdc-dma-dev.45056")), + DAILINK_COMP_ARRAY(COMP_CODEC("bolero_codec", "wsa_macro_rx1")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(wsa_dma_rx1, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-cdc-dma-dev.45058")), + DAILINK_COMP_ARRAY(COMP_CODEC("bolero_codec", "wsa_macro_rx_mix")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(wsa_dma_tx1, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-cdc-dma-dev.45059")), + DAILINK_COMP_ARRAY(COMP_CODEC("bolero_codec", "wsa_macro_echo")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(rx_dma_rx0, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-cdc-dma-dev.45104")), + DAILINK_COMP_ARRAY(COMP_CODEC("bolero_codec", "rx_macro_rx1")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(rx_dma_rx1, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-cdc-dma-dev.45106")), + DAILINK_COMP_ARRAY(COMP_CODEC("bolero_codec", "rx_macro_rx2")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(rx_dma_rx2, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-cdc-dma-dev.45108")), + DAILINK_COMP_ARRAY(COMP_CODEC("bolero_codec", "rx_macro_rx3")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(rx_dma_rx3, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-cdc-dma-dev.45110")), + DAILINK_COMP_ARRAY(COMP_CODEC("bolero_codec", "rx_macro_rx4")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(tx_dma_tx3, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-cdc-dma-dev.45111")), + DAILINK_COMP_ARRAY(COMP_CODEC("bolero_codec", "tx_macro_tx1")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(tx_dma_tx4, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-cdc-dma-dev.45113")), + DAILINK_COMP_ARRAY(COMP_CODEC("bolero_codec", "tx_macro_tx2")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(va_dma_tx0, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-cdc-dma-dev.45089")), + DAILINK_COMP_ARRAY(COMP_CODEC("bolero_codec", "va_macro_tx1")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(va_dma_tx1, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-cdc-dma-dev.45091")), + DAILINK_COMP_ARRAY(COMP_CODEC("bolero_codec", "va_macro_tx2")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(va_dma_tx2, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-cdc-dma-dev.45093")), + DAILINK_COMP_ARRAY(COMP_CODEC("bolero_codec", "va_macro_tx3")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing"))); + +SND_SOC_DAILINK_DEFS(afe_loopback_tx, + DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-q6-dev.24577")), + DAILINK_COMP_ARRAY(COMP_CODEC("msm-stub-codec.1", "msm-stub-tx")), + DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing")));