mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-06 11:26:22 -04:00
ASoC: remove dpcm_xxx flags
Merge series from Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>: Now, we don't need to use dpcm_playback/capture flags for DPCM since v6.11, and thus we can use playback/capture_only flags instead too for DPCM, which is same as non-DPCM. Let's remove dpcm_playback/capture flags, and use playback/capture_only flags instead. [Before] [After] dpcm_playback = 1; /* no setting is needed */ dpcm_capture = 1; dpcm_playback = 1; playback_only = 1; dpcm_capture = 0; dpcm_playback = 0; capture_only = 1; dpcm_capture = 1; And then, because no-one uses dpcm_xxx flags, we don't need to have the code for both DPCM and non-DPCM. These can be handled by same code.
This commit is contained in:
@@ -157,15 +157,13 @@ FE DAI links are defined as follows :-
|
||||
.codec_dai_name = "snd-soc-dummy-dai",
|
||||
.dynamic = 1,
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST},
|
||||
.dpcm_playback = 1,
|
||||
},
|
||||
.....< other FE and BE DAI links here >
|
||||
};
|
||||
|
||||
This FE DAI link is pretty similar to a regular DAI link except that we also
|
||||
set the DAI link to a DPCM FE with the ``dynamic = 1``. The supported FE stream
|
||||
directions should also be set with the ``dpcm_playback`` and ``dpcm_capture``
|
||||
flags. There is also an option to specify the ordering of the trigger call for
|
||||
set the DAI link to a DPCM FE with the ``dynamic = 1``.
|
||||
There is also an option to specify the ordering of the trigger call for
|
||||
each FE. This allows the ASoC core to trigger the DSP before or after the other
|
||||
components (as some DSPs have strong requirements for the ordering DAI/DSP
|
||||
start and stop sequences).
|
||||
@@ -189,15 +187,12 @@ The BE DAIs are configured as follows :-
|
||||
.ignore_pmdown_time = 1,
|
||||
.be_hw_params_fixup = hswult_ssp0_fixup,
|
||||
.ops = &haswell_ops,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
},
|
||||
.....< other BE DAI links here >
|
||||
};
|
||||
|
||||
This BE DAI link connects DAI0 to the codec (in this case RT5460 AIF1). It sets
|
||||
the ``no_pcm`` flag to mark it has a BE and sets flags for supported stream
|
||||
directions using ``dpcm_playback`` and ``dpcm_capture`` above.
|
||||
the ``no_pcm`` flag to mark it has a BE.
|
||||
|
||||
The BE has also flags set for ignoring suspend and PM down time. This allows
|
||||
the BE to work in a hostless mode where the host CPU is not transferring data
|
||||
|
||||
@@ -820,11 +820,6 @@ struct snd_soc_dai_link {
|
||||
/* This DAI link can route to other DAI links at runtime (Frontend)*/
|
||||
unsigned int dynamic:1;
|
||||
|
||||
/* REMOVE ME */
|
||||
/* DPCM capture and Playback support */
|
||||
unsigned int dpcm_capture:1;
|
||||
unsigned int dpcm_playback:1;
|
||||
|
||||
/* DPCM used FE & BE merged format */
|
||||
unsigned int dpcm_merged_format:1;
|
||||
/* DPCM used FE & BE merged channel */
|
||||
|
||||
@@ -542,7 +542,7 @@ static struct snd_soc_dai_link cz_dai_7219_98357[] = {
|
||||
.dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF
|
||||
| SND_SOC_DAIFMT_CBP_CFP,
|
||||
.init = cz_da7219_init,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.trigger_stop = SND_SOC_TRIGGER_ORDER_LDC,
|
||||
.ops = &cz_da7219_play_ops,
|
||||
SND_SOC_DAILINK_REG(designware1, dlgs, platform),
|
||||
@@ -552,7 +552,7 @@ static struct snd_soc_dai_link cz_dai_7219_98357[] = {
|
||||
.stream_name = "Capture",
|
||||
.dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF
|
||||
| SND_SOC_DAIFMT_CBP_CFP,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.trigger_stop = SND_SOC_TRIGGER_ORDER_LDC,
|
||||
.ops = &cz_da7219_cap_ops,
|
||||
SND_SOC_DAILINK_REG(designware2, dlgs, platform),
|
||||
@@ -562,7 +562,7 @@ static struct snd_soc_dai_link cz_dai_7219_98357[] = {
|
||||
.stream_name = "HiFi Playback",
|
||||
.dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF
|
||||
| SND_SOC_DAIFMT_CBP_CFP,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.trigger_stop = SND_SOC_TRIGGER_ORDER_LDC,
|
||||
.ops = &cz_max_play_ops,
|
||||
SND_SOC_DAILINK_REG(designware3, mx, platform),
|
||||
@@ -573,7 +573,7 @@ static struct snd_soc_dai_link cz_dai_7219_98357[] = {
|
||||
.stream_name = "DMIC0 Capture",
|
||||
.dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF
|
||||
| SND_SOC_DAIFMT_CBP_CFP,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.trigger_stop = SND_SOC_TRIGGER_ORDER_LDC,
|
||||
.ops = &cz_dmic0_cap_ops,
|
||||
SND_SOC_DAILINK_REG(designware3, adau, platform),
|
||||
@@ -584,7 +584,7 @@ static struct snd_soc_dai_link cz_dai_7219_98357[] = {
|
||||
.stream_name = "DMIC1 Capture",
|
||||
.dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF
|
||||
| SND_SOC_DAIFMT_CBP_CFP,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.trigger_stop = SND_SOC_TRIGGER_ORDER_LDC,
|
||||
.ops = &cz_dmic1_cap_ops,
|
||||
SND_SOC_DAILINK_REG(designware2, adau, platform),
|
||||
@@ -598,7 +598,7 @@ static struct snd_soc_dai_link cz_dai_5682_98357[] = {
|
||||
.dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF
|
||||
| SND_SOC_DAIFMT_CBP_CFP,
|
||||
.init = cz_rt5682_init,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.trigger_stop = SND_SOC_TRIGGER_ORDER_LDC,
|
||||
.ops = &cz_rt5682_play_ops,
|
||||
SND_SOC_DAILINK_REG(designware1, rt5682, platform),
|
||||
@@ -608,7 +608,7 @@ static struct snd_soc_dai_link cz_dai_5682_98357[] = {
|
||||
.stream_name = "Capture",
|
||||
.dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF
|
||||
| SND_SOC_DAIFMT_CBP_CFP,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.trigger_stop = SND_SOC_TRIGGER_ORDER_LDC,
|
||||
.ops = &cz_rt5682_cap_ops,
|
||||
SND_SOC_DAILINK_REG(designware2, rt5682, platform),
|
||||
@@ -618,7 +618,7 @@ static struct snd_soc_dai_link cz_dai_5682_98357[] = {
|
||||
.stream_name = "HiFi Playback",
|
||||
.dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF
|
||||
| SND_SOC_DAIFMT_CBP_CFP,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.trigger_stop = SND_SOC_TRIGGER_ORDER_LDC,
|
||||
.ops = &cz_rt5682_max_play_ops,
|
||||
SND_SOC_DAILINK_REG(designware3, mx, platform),
|
||||
@@ -629,7 +629,7 @@ static struct snd_soc_dai_link cz_dai_5682_98357[] = {
|
||||
.stream_name = "DMIC0 Capture",
|
||||
.dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF
|
||||
| SND_SOC_DAIFMT_CBP_CFP,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.trigger_stop = SND_SOC_TRIGGER_ORDER_LDC,
|
||||
.ops = &cz_rt5682_dmic0_cap_ops,
|
||||
SND_SOC_DAILINK_REG(designware3, adau, platform),
|
||||
@@ -640,7 +640,7 @@ static struct snd_soc_dai_link cz_dai_5682_98357[] = {
|
||||
.stream_name = "DMIC1 Capture",
|
||||
.dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF
|
||||
| SND_SOC_DAIFMT_CBP_CFP,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.trigger_stop = SND_SOC_TRIGGER_ORDER_LDC,
|
||||
.ops = &cz_rt5682_dmic1_cap_ops,
|
||||
SND_SOC_DAILINK_REG(designware2, adau, platform),
|
||||
|
||||
@@ -150,8 +150,6 @@ static struct snd_soc_dai_link st_dai_es8336[] = {
|
||||
.dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF
|
||||
| SND_SOC_DAIFMT_CBP_CFP,
|
||||
.trigger_stop = SND_SOC_TRIGGER_ORDER_LDC,
|
||||
.dpcm_capture = 1,
|
||||
.dpcm_playback = 1,
|
||||
.init = st_es8336_init,
|
||||
.ops = &st_es8336_ops,
|
||||
SND_SOC_DAILINK_REG(designware1, codec, platform),
|
||||
|
||||
@@ -1407,8 +1407,6 @@ int acp_sofdsp_dai_links_create(struct snd_soc_card *card)
|
||||
links[i].num_cpus = ARRAY_SIZE(sof_sp);
|
||||
links[i].platforms = sof_component;
|
||||
links[i].num_platforms = ARRAY_SIZE(sof_component);
|
||||
links[i].dpcm_playback = 1;
|
||||
links[i].dpcm_capture = 1;
|
||||
links[i].nonatomic = true;
|
||||
links[i].no_pcm = 1;
|
||||
if (!drv_data->hs_codec_id) {
|
||||
@@ -1444,8 +1442,6 @@ int acp_sofdsp_dai_links_create(struct snd_soc_card *card)
|
||||
links[i].num_cpus = ARRAY_SIZE(sof_hs);
|
||||
links[i].platforms = sof_component;
|
||||
links[i].num_platforms = ARRAY_SIZE(sof_component);
|
||||
links[i].dpcm_playback = 1;
|
||||
links[i].dpcm_capture = 1;
|
||||
links[i].nonatomic = true;
|
||||
links[i].no_pcm = 1;
|
||||
if (!drv_data->hs_codec_id) {
|
||||
@@ -1480,7 +1476,7 @@ int acp_sofdsp_dai_links_create(struct snd_soc_card *card)
|
||||
}
|
||||
links[i].platforms = sof_component;
|
||||
links[i].num_platforms = ARRAY_SIZE(sof_component);
|
||||
links[i].dpcm_playback = 1;
|
||||
links[i].playback_only = 1;
|
||||
links[i].nonatomic = true;
|
||||
links[i].no_pcm = 1;
|
||||
if (!drv_data->amp_codec_id) {
|
||||
@@ -1512,7 +1508,7 @@ int acp_sofdsp_dai_links_create(struct snd_soc_card *card)
|
||||
links[i].num_cpus = ARRAY_SIZE(sof_hs_virtual);
|
||||
links[i].platforms = sof_component;
|
||||
links[i].num_platforms = ARRAY_SIZE(sof_component);
|
||||
links[i].dpcm_playback = 1;
|
||||
links[i].playback_only = 1;
|
||||
links[i].nonatomic = true;
|
||||
links[i].no_pcm = 1;
|
||||
if (!drv_data->amp_codec_id) {
|
||||
@@ -1527,7 +1523,7 @@ int acp_sofdsp_dai_links_create(struct snd_soc_card *card)
|
||||
links[i].init = acp_card_maxim_init;
|
||||
}
|
||||
if (drv_data->amp_codec_id == MAX98388) {
|
||||
links[i].dpcm_capture = 1;
|
||||
links[i].playback_only = 0;
|
||||
links[i].codecs = max98388;
|
||||
links[i].num_codecs = ARRAY_SIZE(max98388);
|
||||
links[i].ops = &acp_max98388_ops;
|
||||
@@ -1553,8 +1549,6 @@ int acp_sofdsp_dai_links_create(struct snd_soc_card *card)
|
||||
links[i].num_cpus = ARRAY_SIZE(sof_bt);
|
||||
links[i].platforms = sof_component;
|
||||
links[i].num_platforms = ARRAY_SIZE(sof_component);
|
||||
links[i].dpcm_playback = 1;
|
||||
links[i].dpcm_capture = 1;
|
||||
links[i].nonatomic = true;
|
||||
links[i].no_pcm = 1;
|
||||
if (!drv_data->bt_codec_id) {
|
||||
@@ -1575,7 +1569,7 @@ int acp_sofdsp_dai_links_create(struct snd_soc_card *card)
|
||||
links[i].num_cpus = ARRAY_SIZE(sof_dmic);
|
||||
links[i].platforms = sof_component;
|
||||
links[i].num_platforms = ARRAY_SIZE(sof_component);
|
||||
links[i].dpcm_capture = 1;
|
||||
links[i].capture_only = 1;
|
||||
links[i].nonatomic = true;
|
||||
links[i].no_pcm = 1;
|
||||
}
|
||||
@@ -1614,8 +1608,6 @@ int acp_legacy_dai_links_create(struct snd_soc_card *card)
|
||||
links[i].num_cpus = ARRAY_SIZE(i2s_sp);
|
||||
links[i].platforms = platform_component;
|
||||
links[i].num_platforms = ARRAY_SIZE(platform_component);
|
||||
links[i].dpcm_playback = 1;
|
||||
links[i].dpcm_capture = 1;
|
||||
if (!drv_data->hs_codec_id) {
|
||||
/* Use dummy codec if codec id not specified */
|
||||
links[i].codecs = &snd_soc_dummy_dlc;
|
||||
@@ -1663,8 +1655,6 @@ int acp_legacy_dai_links_create(struct snd_soc_card *card)
|
||||
break;
|
||||
}
|
||||
|
||||
links[i].dpcm_playback = 1;
|
||||
links[i].dpcm_capture = 1;
|
||||
if (!drv_data->hs_codec_id) {
|
||||
/* Use dummy codec if codec id not specified */
|
||||
links[i].codecs = &snd_soc_dummy_dlc;
|
||||
@@ -1692,7 +1682,7 @@ int acp_legacy_dai_links_create(struct snd_soc_card *card)
|
||||
links[i].num_cpus = ARRAY_SIZE(i2s_sp);
|
||||
links[i].platforms = platform_component;
|
||||
links[i].num_platforms = ARRAY_SIZE(platform_component);
|
||||
links[i].dpcm_playback = 1;
|
||||
links[i].playback_only = 1;
|
||||
if (!drv_data->amp_codec_id) {
|
||||
/* Use dummy codec if codec id not specified */
|
||||
links[i].codecs = &snd_soc_dummy_dlc;
|
||||
@@ -1735,7 +1725,7 @@ int acp_legacy_dai_links_create(struct snd_soc_card *card)
|
||||
break;
|
||||
}
|
||||
|
||||
links[i].dpcm_playback = 1;
|
||||
links[i].playback_only = 1;
|
||||
if (!drv_data->amp_codec_id) {
|
||||
/* Use dummy codec if codec id not specified */
|
||||
links[i].codecs = &snd_soc_dummy_dlc;
|
||||
@@ -1792,7 +1782,7 @@ int acp_legacy_dai_links_create(struct snd_soc_card *card)
|
||||
break;
|
||||
}
|
||||
links[i].ops = &acp_card_dmic_ops;
|
||||
links[i].dpcm_capture = 1;
|
||||
links[i].capture_only = 1;
|
||||
}
|
||||
|
||||
card->dai_link = links;
|
||||
|
||||
@@ -317,8 +317,6 @@ static struct snd_soc_dai_link acp3x_dai[] = {
|
||||
.dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF
|
||||
| SND_SOC_DAIFMT_CBP_CFP,
|
||||
.init = acp3x_5682_init,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.ops = &acp3x_5682_ops,
|
||||
SND_SOC_DAILINK_REG(acp3x_i2s, rt5682, platform),
|
||||
},
|
||||
@@ -327,7 +325,7 @@ static struct snd_soc_dai_link acp3x_dai[] = {
|
||||
.stream_name = "HiFi Playback",
|
||||
.dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF
|
||||
| SND_SOC_DAIFMT_CBC_CFC,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.ops = &acp3x_max_play_ops,
|
||||
.cpus = acp3x_bt,
|
||||
.num_cpus = ARRAY_SIZE(acp3x_bt),
|
||||
@@ -339,7 +337,7 @@ static struct snd_soc_dai_link acp3x_dai[] = {
|
||||
.stream_name = "Capture DMIC0",
|
||||
.dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF
|
||||
| SND_SOC_DAIFMT_CBC_CFC,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.ops = &acp3x_ec_cap0_ops,
|
||||
SND_SOC_DAILINK_REG(acp3x_bt, cros_ec, platform),
|
||||
},
|
||||
|
||||
@@ -276,8 +276,6 @@ static struct snd_soc_dai_link acp5x_8821_35l41_dai[] = {
|
||||
.dai_fmt = SND_SOC_DAIFMT_I2S |
|
||||
SND_SOC_DAIFMT_NB_NF |
|
||||
SND_SOC_DAIFMT_CBC_CFC,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.ops = &acp5x_8821_ops,
|
||||
.init = acp5x_8821_init,
|
||||
SND_SOC_DAILINK_REG(acp5x_i2s, nau8821, platform),
|
||||
@@ -288,7 +286,6 @@ static struct snd_soc_dai_link acp5x_8821_35l41_dai[] = {
|
||||
.dai_fmt = SND_SOC_DAIFMT_I2S |
|
||||
SND_SOC_DAIFMT_NB_NF |
|
||||
SND_SOC_DAIFMT_CBC_CFC,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.ops = &acp5x_cs35l41_play_ops,
|
||||
SND_SOC_DAILINK_REG(acp5x_bt, cs35l41, platform),
|
||||
@@ -375,8 +372,6 @@ static struct snd_soc_dai_link acp5x_8821_98388_dai[] = {
|
||||
.dai_fmt = SND_SOC_DAIFMT_I2S |
|
||||
SND_SOC_DAIFMT_NB_NF |
|
||||
SND_SOC_DAIFMT_CBC_CFC,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.ops = &acp5x_8821_ops,
|
||||
.init = acp5x_8821_init,
|
||||
SND_SOC_DAILINK_REG(acp5x_i2s, nau8821, platform),
|
||||
@@ -387,7 +382,6 @@ static struct snd_soc_dai_link acp5x_8821_98388_dai[] = {
|
||||
.dai_fmt = SND_SOC_DAIFMT_I2S |
|
||||
SND_SOC_DAIFMT_NB_NF |
|
||||
SND_SOC_DAIFMT_CBC_CFC,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.ops = &acp5x_max98388_play_ops,
|
||||
SND_SOC_DAILINK_REG(acp5x_bt, max98388, platform),
|
||||
|
||||
@@ -317,8 +317,6 @@ static const struct snd_soc_dai_link fsl_asoc_card_dai[] = {
|
||||
{
|
||||
.name = "HiFi-ASRC-FE",
|
||||
.stream_name = "HiFi-ASRC-FE",
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.dynamic = 1,
|
||||
},
|
||||
{
|
||||
@@ -326,8 +324,6 @@ static const struct snd_soc_dai_link fsl_asoc_card_dai[] = {
|
||||
.stream_name = "HiFi-ASRC-BE",
|
||||
.be_hw_params_fixup = be_hw_params_fixup,
|
||||
.ops = &fsl_asoc_card_ops,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.no_pcm = 1,
|
||||
},
|
||||
};
|
||||
@@ -504,13 +500,13 @@ static int fsl_asoc_card_spdif_init(struct device_node *codec_np[],
|
||||
}
|
||||
|
||||
if (priv->dai_link[0].playback_only) {
|
||||
priv->dai_link[1].dpcm_capture = false;
|
||||
priv->dai_link[2].dpcm_capture = false;
|
||||
priv->dai_link[1].playback_only = true;
|
||||
priv->dai_link[2].playback_only = true;
|
||||
priv->card.dapm_routes = audio_map_tx;
|
||||
priv->card.num_dapm_routes = ARRAY_SIZE(audio_map_tx);
|
||||
} else if (priv->dai_link[0].capture_only) {
|
||||
priv->dai_link[1].dpcm_playback = false;
|
||||
priv->dai_link[2].dpcm_playback = false;
|
||||
priv->dai_link[1].capture_only = true;
|
||||
priv->dai_link[2].capture_only = true;
|
||||
priv->card.dapm_routes = audio_map_rx;
|
||||
priv->card.num_dapm_routes = ARRAY_SIZE(audio_map_rx);
|
||||
}
|
||||
@@ -764,8 +760,8 @@ static int fsl_asoc_card_probe(struct platform_device *pdev)
|
||||
} else if (of_device_is_compatible(np, "fsl,imx-audio-tlv320aic31xx")) {
|
||||
codec_dai_name[0] = "tlv320dac31xx-hifi";
|
||||
priv->dai_fmt |= SND_SOC_DAIFMT_CBS_CFS;
|
||||
priv->dai_link[1].dpcm_capture = 0;
|
||||
priv->dai_link[2].dpcm_capture = 0;
|
||||
priv->dai_link[1].playback_only = 1;
|
||||
priv->dai_link[2].playback_only = 1;
|
||||
priv->cpu_priv.sysclk_dir[TX] = SND_SOC_CLOCK_OUT;
|
||||
priv->cpu_priv.sysclk_dir[RX] = SND_SOC_CLOCK_OUT;
|
||||
priv->card.dapm_routes = audio_map_tx;
|
||||
@@ -791,15 +787,15 @@ static int fsl_asoc_card_probe(struct platform_device *pdev)
|
||||
priv->dai_fmt = SND_SOC_DAIFMT_LEFT_J |
|
||||
SND_SOC_DAIFMT_CBC_CFC |
|
||||
SND_SOC_DAIFMT_NB_NF;
|
||||
priv->dai_link[1].dpcm_capture = 0;
|
||||
priv->dai_link[2].dpcm_capture = 0;
|
||||
priv->dai_link[1].playback_only = 1;
|
||||
priv->dai_link[2].playback_only = 1;
|
||||
priv->card.dapm_routes = audio_map_tx;
|
||||
priv->card.num_dapm_routes = ARRAY_SIZE(audio_map_tx);
|
||||
} else if (of_device_is_compatible(np, "fsl,imx-audio-wm8524")) {
|
||||
codec_dai_name[0] = "wm8524-hifi";
|
||||
priv->dai_fmt |= SND_SOC_DAIFMT_CBC_CFC;
|
||||
priv->dai_link[1].dpcm_capture = 0;
|
||||
priv->dai_link[2].dpcm_capture = 0;
|
||||
priv->dai_link[1].playback_only = 1;
|
||||
priv->dai_link[2].playback_only = 1;
|
||||
priv->cpu_priv.slot_width = 32;
|
||||
priv->card.dapm_routes = audio_map_tx;
|
||||
priv->card.num_dapm_routes = ARRAY_SIZE(audio_map_tx);
|
||||
|
||||
@@ -264,11 +264,10 @@ static int imx_audmix_probe(struct platform_device *pdev)
|
||||
priv->dai[i].cpus->dai_name = name[1][i];
|
||||
|
||||
priv->dai[i].dynamic = 1;
|
||||
priv->dai[i].dpcm_playback = 1;
|
||||
if (i == num_dai - 1) {
|
||||
priv->dai[i].dpcm_capture = 1;
|
||||
priv->dai[i].dpcm_playback = 0;
|
||||
}
|
||||
if (i == num_dai - 1)
|
||||
priv->dai[i].capture_only = 1;
|
||||
else
|
||||
priv->dai[i].playback_only = 1;
|
||||
priv->dai[i].ignore_pmdown_time = 1;
|
||||
priv->dai[i].ops = &imx_audmix_fe_ops;
|
||||
|
||||
@@ -285,11 +284,10 @@ static int imx_audmix_probe(struct platform_device *pdev)
|
||||
priv->dai[num_dai + i].cpus->of_node = audmix_np;
|
||||
priv->dai[num_dai + i].cpus->dai_name = be_name;
|
||||
priv->dai[num_dai + i].no_pcm = 1;
|
||||
priv->dai[num_dai + i].dpcm_playback = 1;
|
||||
if (i == num_dai - 1) {
|
||||
priv->dai[num_dai + i].dpcm_capture = 1;
|
||||
priv->dai[num_dai + i].dpcm_playback = 0;
|
||||
}
|
||||
if (i == num_dai - 1)
|
||||
priv->dai[num_dai + i].capture_only = 1;
|
||||
else
|
||||
priv->dai[num_dai + i].playback_only = 1;
|
||||
priv->dai[num_dai + i].ignore_pmdown_time = 1;
|
||||
priv->dai[num_dai + i].ops = &imx_audmix_be_ops;
|
||||
|
||||
|
||||
@@ -860,8 +860,8 @@ static int imx_card_probe(struct platform_device *pdev)
|
||||
}
|
||||
for_each_card_prelinks(&data->card, i, link) {
|
||||
if (link->dynamic == 1 && link_be) {
|
||||
link->dpcm_playback = link_be->dpcm_playback;
|
||||
link->dpcm_capture = link_be->dpcm_capture;
|
||||
link->playback_only = link_be->playback_only;
|
||||
link->capture_only = link_be->capture_only;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -203,8 +203,6 @@ static int avs_create_dai_link(struct device *dev, const char *platform_name, in
|
||||
dl->exit = avs_da7219_codec_exit;
|
||||
dl->nonatomic = 1;
|
||||
dl->no_pcm = 1;
|
||||
dl->dpcm_capture = 1;
|
||||
dl->dpcm_playback = 1;
|
||||
|
||||
*dai_link = dl;
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ static struct snd_soc_dai_link card_dai_links[] = {
|
||||
{
|
||||
.name = "DMIC",
|
||||
.id = 0,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.nonatomic = 1,
|
||||
.no_pcm = 1,
|
||||
SND_SOC_DAILINK_REG(dmic_pin, dmic_codec, platform),
|
||||
@@ -30,7 +30,7 @@ static struct snd_soc_dai_link card_dai_links[] = {
|
||||
{
|
||||
.name = "DMIC WoV",
|
||||
.id = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.nonatomic = 1,
|
||||
.no_pcm = 1,
|
||||
.ignore_suspend = 1,
|
||||
|
||||
@@ -233,8 +233,6 @@ static int avs_create_dai_link(struct device *dev, const char *platform_name, in
|
||||
dl->ops = &avs_es8336_ops;
|
||||
dl->nonatomic = 1;
|
||||
dl->no_pcm = 1;
|
||||
dl->dpcm_capture = 1;
|
||||
dl->dpcm_playback = 1;
|
||||
|
||||
*dai_link = dl;
|
||||
|
||||
|
||||
@@ -39,8 +39,6 @@ static int avs_create_dai_links(struct device *dev, struct hda_codec *codec, int
|
||||
dl[i].id = i;
|
||||
dl[i].nonatomic = 1;
|
||||
dl[i].no_pcm = 1;
|
||||
dl[i].dpcm_playback = 1;
|
||||
dl[i].dpcm_capture = 1;
|
||||
dl[i].platforms = platform;
|
||||
dl[i].num_platforms = 1;
|
||||
dl[i].ignore_pmdown_time = 1;
|
||||
@@ -160,8 +158,6 @@ static const struct snd_soc_dai_link probing_link = {
|
||||
.id = -1,
|
||||
.nonatomic = 1,
|
||||
.no_pcm = 1,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.cpus = &snd_soc_dummy_dlc,
|
||||
.num_cpus = 1,
|
||||
.init = avs_probing_link_init,
|
||||
|
||||
@@ -46,8 +46,6 @@ static int avs_create_dai_link(struct device *dev, const char *platform_name, in
|
||||
dl->id = 0;
|
||||
dl->nonatomic = 1;
|
||||
dl->no_pcm = 1;
|
||||
dl->dpcm_capture = 1;
|
||||
dl->dpcm_playback = 1;
|
||||
|
||||
*dai_link = dl;
|
||||
|
||||
|
||||
@@ -82,7 +82,7 @@ static int avs_create_dai_link(struct device *dev, const char *platform_name, in
|
||||
dl->be_hw_params_fixup = avs_max98357a_be_fixup;
|
||||
dl->nonatomic = 1;
|
||||
dl->no_pcm = 1;
|
||||
dl->dpcm_playback = 1;
|
||||
dl->playback_only = 1;
|
||||
|
||||
*dai_link = dl;
|
||||
|
||||
|
||||
@@ -134,8 +134,6 @@ static int avs_create_dai_link(struct device *dev, const char *platform_name, in
|
||||
dl->be_hw_params_fixup = avs_max98373_be_fixup;
|
||||
dl->nonatomic = 1;
|
||||
dl->no_pcm = 1;
|
||||
dl->dpcm_capture = 1;
|
||||
dl->dpcm_playback = 1;
|
||||
dl->ignore_pmdown_time = 1;
|
||||
dl->ops = &avs_max98373_ops;
|
||||
|
||||
|
||||
@@ -131,8 +131,6 @@ static int avs_create_dai_link(struct device *dev, const char *platform_name, in
|
||||
dl->be_hw_params_fixup = avs_max98927_be_fixup;
|
||||
dl->nonatomic = 1;
|
||||
dl->no_pcm = 1;
|
||||
dl->dpcm_capture = 1;
|
||||
dl->dpcm_playback = 1;
|
||||
dl->ignore_pmdown_time = 1;
|
||||
dl->ops = &avs_max98927_ops;
|
||||
|
||||
|
||||
@@ -210,8 +210,6 @@ static int avs_create_dai_link(struct device *dev, const char *platform_name, in
|
||||
dl->ops = &avs_nau8825_ops;
|
||||
dl->nonatomic = 1;
|
||||
dl->no_pcm = 1;
|
||||
dl->dpcm_capture = 1;
|
||||
dl->dpcm_playback = 1;
|
||||
|
||||
*dai_link = dl;
|
||||
|
||||
|
||||
@@ -184,8 +184,6 @@ static int avs_create_dai_link(struct device *dev, const char *platform_name, in
|
||||
dl->be_hw_params_fixup = avs_rt274_be_fixup;
|
||||
dl->nonatomic = 1;
|
||||
dl->no_pcm = 1;
|
||||
dl->dpcm_capture = 1;
|
||||
dl->dpcm_playback = 1;
|
||||
|
||||
*dai_link = dl;
|
||||
|
||||
|
||||
@@ -153,8 +153,6 @@ static int avs_create_dai_link(struct device *dev, const char *platform_name, in
|
||||
dl->ops = &avs_rt286_ops;
|
||||
dl->nonatomic = 1;
|
||||
dl->no_pcm = 1;
|
||||
dl->dpcm_capture = 1;
|
||||
dl->dpcm_playback = 1;
|
||||
|
||||
*dai_link = dl;
|
||||
|
||||
|
||||
@@ -173,8 +173,6 @@ static int avs_create_dai_link(struct device *dev, const char *platform_name, in
|
||||
dl->ops = &avs_rt298_ops;
|
||||
dl->nonatomic = 1;
|
||||
dl->no_pcm = 1;
|
||||
dl->dpcm_capture = 1;
|
||||
dl->dpcm_playback = 1;
|
||||
|
||||
*dai_link = dl;
|
||||
|
||||
|
||||
@@ -121,7 +121,7 @@ static int avs_create_dai_link(struct device *dev, const char *platform_name, in
|
||||
dl->be_hw_params_fixup = avs_rt5514_be_fixup;
|
||||
dl->nonatomic = 1;
|
||||
dl->no_pcm = 1;
|
||||
dl->dpcm_capture = 1;
|
||||
dl->capture_only = 1;
|
||||
dl->ops = &avs_rt5514_ops;
|
||||
|
||||
*dai_link = dl;
|
||||
|
||||
@@ -171,8 +171,6 @@ static int avs_create_dai_link(struct device *dev, const char *platform_name, in
|
||||
dl->be_hw_params_fixup = avs_rt5663_be_fixup;
|
||||
dl->nonatomic = 1;
|
||||
dl->no_pcm = 1;
|
||||
dl->dpcm_capture = 1;
|
||||
dl->dpcm_playback = 1;
|
||||
dl->ops = &avs_rt5663_ops;
|
||||
|
||||
*dai_link = dl;
|
||||
|
||||
@@ -242,8 +242,6 @@ static int avs_create_dai_link(struct device *dev, const char *platform_name, in
|
||||
dl->ops = &avs_rt5682_ops;
|
||||
dl->nonatomic = 1;
|
||||
dl->no_pcm = 1;
|
||||
dl->dpcm_capture = 1;
|
||||
dl->dpcm_playback = 1;
|
||||
|
||||
*dai_link = dl;
|
||||
|
||||
|
||||
@@ -121,8 +121,6 @@ static int avs_create_dai_link(struct device *dev, const char *platform_name, in
|
||||
dl->be_hw_params_fixup = avs_ssm4567_be_fixup;
|
||||
dl->nonatomic = 1;
|
||||
dl->no_pcm = 1;
|
||||
dl->dpcm_capture = 1;
|
||||
dl->dpcm_playback = 1;
|
||||
dl->ignore_pmdown_time = 1;
|
||||
|
||||
*dai_link = dl;
|
||||
|
||||
@@ -239,8 +239,6 @@ static struct snd_soc_dai_link bdw_rt5650_dais[] = {
|
||||
SND_SOC_DPCM_TRIGGER_POST,
|
||||
SND_SOC_DPCM_TRIGGER_POST
|
||||
},
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
SND_SOC_DAILINK_REG(fe, dummy, platform),
|
||||
},
|
||||
|
||||
@@ -256,8 +254,6 @@ static struct snd_soc_dai_link bdw_rt5650_dais[] = {
|
||||
.ignore_pmdown_time = 1,
|
||||
.be_hw_params_fixup = broadwell_ssp0_fixup,
|
||||
.ops = &bdw_rt5650_ops,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.init = bdw_rt5650_init,
|
||||
SND_SOC_DAILINK_REG(ssp0_port, be, platform),
|
||||
},
|
||||
|
||||
@@ -329,8 +329,6 @@ static struct snd_soc_dai_link bdw_rt5677_dais[] = {
|
||||
SND_SOC_DPCM_TRIGGER_POST,
|
||||
SND_SOC_DPCM_TRIGGER_POST
|
||||
},
|
||||
.dpcm_capture = 1,
|
||||
.dpcm_playback = 1,
|
||||
.ops = &bdw_rt5677_fe_ops,
|
||||
SND_SOC_DAILINK_REG(fe, dummy, platform),
|
||||
},
|
||||
@@ -356,8 +354,6 @@ static struct snd_soc_dai_link bdw_rt5677_dais[] = {
|
||||
.ignore_pmdown_time = 1,
|
||||
.be_hw_params_fixup = broadwell_ssp0_fixup,
|
||||
.ops = &bdw_rt5677_ops,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.init = bdw_rt5677_init,
|
||||
.exit = bdw_rt5677_exit,
|
||||
SND_SOC_DAILINK_REG(ssp0_port, be, platform),
|
||||
|
||||
@@ -133,8 +133,6 @@ static struct snd_soc_dai_link card_dai_links[] = {
|
||||
.nonatomic = 1,
|
||||
.dynamic = 1,
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST},
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
SND_SOC_DAILINK_REG(system, dummy, platform),
|
||||
},
|
||||
{
|
||||
@@ -143,7 +141,7 @@ static struct snd_soc_dai_link card_dai_links[] = {
|
||||
.nonatomic = 1,
|
||||
.dynamic = 1,
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST},
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
SND_SOC_DAILINK_REG(offload0, dummy, platform),
|
||||
},
|
||||
{
|
||||
@@ -152,7 +150,7 @@ static struct snd_soc_dai_link card_dai_links[] = {
|
||||
.nonatomic = 1,
|
||||
.dynamic = 1,
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST},
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
SND_SOC_DAILINK_REG(offload1, dummy, platform),
|
||||
},
|
||||
{
|
||||
@@ -161,7 +159,7 @@ static struct snd_soc_dai_link card_dai_links[] = {
|
||||
.nonatomic = 1,
|
||||
.dynamic = 1,
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST},
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
SND_SOC_DAILINK_REG(loopback, dummy, platform),
|
||||
},
|
||||
/* Back End DAI links */
|
||||
@@ -177,8 +175,6 @@ static struct snd_soc_dai_link card_dai_links[] = {
|
||||
.ignore_pmdown_time = 1,
|
||||
.be_hw_params_fixup = codec_link_hw_params_fixup,
|
||||
.ops = &codec_link_ops,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
SND_SOC_DAILINK_REG(ssp0_port, codec, platform),
|
||||
},
|
||||
};
|
||||
|
||||
@@ -175,8 +175,6 @@ static struct snd_soc_dai_link byt_cht_cx2072x_dais[] = {
|
||||
.stream_name = "Audio",
|
||||
.nonatomic = true,
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.ops = &byt_cht_cx2072x_aif1_ops,
|
||||
SND_SOC_DAILINK_REG(media, dummy, platform),
|
||||
},
|
||||
@@ -185,7 +183,7 @@ static struct snd_soc_dai_link byt_cht_cx2072x_dais[] = {
|
||||
.stream_name = "Deep-Buffer Audio",
|
||||
.nonatomic = true,
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.ops = &byt_cht_cx2072x_aif1_ops,
|
||||
SND_SOC_DAILINK_REG(deepbuffer, dummy, platform),
|
||||
},
|
||||
@@ -198,8 +196,6 @@ static struct snd_soc_dai_link byt_cht_cx2072x_dais[] = {
|
||||
| SND_SOC_DAIFMT_CBC_CFC,
|
||||
.init = byt_cht_cx2072x_init,
|
||||
.be_hw_params_fixup = byt_cht_cx2072x_fixup,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
SND_SOC_DAILINK_REG(ssp2, cx2072x, platform),
|
||||
},
|
||||
};
|
||||
|
||||
@@ -174,8 +174,6 @@ static struct snd_soc_dai_link dailink[] = {
|
||||
.stream_name = "Audio",
|
||||
.nonatomic = true,
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.ops = &aif1_ops,
|
||||
SND_SOC_DAILINK_REG(media, dummy, platform),
|
||||
},
|
||||
@@ -184,7 +182,7 @@ static struct snd_soc_dai_link dailink[] = {
|
||||
.stream_name = "Deep-Buffer Audio",
|
||||
.nonatomic = true,
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.ops = &aif1_ops,
|
||||
SND_SOC_DAILINK_REG(deepbuffer, dummy, platform),
|
||||
},
|
||||
@@ -197,8 +195,6 @@ static struct snd_soc_dai_link dailink[] = {
|
||||
.dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF
|
||||
| SND_SOC_DAIFMT_CBC_CFC,
|
||||
.be_hw_params_fixup = codec_fixup,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.ops = &ssp2_ops,
|
||||
SND_SOC_DAILINK_REG(ssp2_port, ssp2_codec, platform),
|
||||
},
|
||||
|
||||
@@ -315,8 +315,6 @@ static struct snd_soc_dai_link byt_cht_es8316_dais[] = {
|
||||
.stream_name = "Audio",
|
||||
.nonatomic = true,
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.ops = &byt_cht_es8316_aif1_ops,
|
||||
SND_SOC_DAILINK_REG(media, dummy, platform),
|
||||
},
|
||||
@@ -326,7 +324,7 @@ static struct snd_soc_dai_link byt_cht_es8316_dais[] = {
|
||||
.stream_name = "Deep-Buffer Audio",
|
||||
.nonatomic = true,
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.ops = &byt_cht_es8316_aif1_ops,
|
||||
SND_SOC_DAILINK_REG(deepbuffer, dummy, platform),
|
||||
},
|
||||
@@ -339,8 +337,6 @@ static struct snd_soc_dai_link byt_cht_es8316_dais[] = {
|
||||
.dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF
|
||||
| SND_SOC_DAIFMT_CBC_CFC,
|
||||
.be_hw_params_fixup = byt_cht_es8316_codec_fixup,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.init = byt_cht_es8316_init,
|
||||
SND_SOC_DAILINK_REG(ssp2_port, ssp2_codec, platform),
|
||||
},
|
||||
|
||||
@@ -119,8 +119,6 @@ static struct snd_soc_dai_link dais[] = {
|
||||
.ignore_suspend = 1,
|
||||
.nonatomic = true,
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.ops = &aif1_ops,
|
||||
SND_SOC_DAILINK_REG(media, dummy, platform),
|
||||
},
|
||||
@@ -130,7 +128,7 @@ static struct snd_soc_dai_link dais[] = {
|
||||
.ignore_suspend = 1,
|
||||
.nonatomic = true,
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.ops = &aif1_ops,
|
||||
SND_SOC_DAILINK_REG(deepbuffer, dummy, platform),
|
||||
},
|
||||
@@ -144,8 +142,6 @@ static struct snd_soc_dai_link dais[] = {
|
||||
| SND_SOC_DAIFMT_CBC_CFC,
|
||||
.be_hw_params_fixup = codec_fixup,
|
||||
.ignore_suspend = 1,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
SND_SOC_DAILINK_REG(ssp2_port, dummy, platform),
|
||||
},
|
||||
};
|
||||
|
||||
@@ -1546,8 +1546,6 @@ static struct snd_soc_dai_link byt_rt5640_dais[] = {
|
||||
.stream_name = "Baytrail Audio",
|
||||
.nonatomic = true,
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.ops = &byt_rt5640_aif1_ops,
|
||||
SND_SOC_DAILINK_REG(media, dummy, platform),
|
||||
},
|
||||
@@ -1556,7 +1554,7 @@ static struct snd_soc_dai_link byt_rt5640_dais[] = {
|
||||
.stream_name = "Deep-Buffer Audio",
|
||||
.nonatomic = true,
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.ops = &byt_rt5640_aif1_ops,
|
||||
SND_SOC_DAILINK_REG(deepbuffer, dummy, platform),
|
||||
},
|
||||
@@ -1568,8 +1566,6 @@ static struct snd_soc_dai_link byt_rt5640_dais[] = {
|
||||
.dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF
|
||||
| SND_SOC_DAIFMT_CBC_CFC,
|
||||
.be_hw_params_fixup = byt_rt5640_codec_fixup,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.init = byt_rt5640_init,
|
||||
.exit = byt_rt5640_exit,
|
||||
.ops = &byt_rt5640_be_ssp2_ops,
|
||||
|
||||
@@ -770,8 +770,6 @@ static struct snd_soc_dai_link byt_rt5651_dais[] = {
|
||||
.stream_name = "Audio",
|
||||
.nonatomic = true,
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.ops = &byt_rt5651_aif1_ops,
|
||||
SND_SOC_DAILINK_REG(media, dummy, platform),
|
||||
},
|
||||
@@ -780,7 +778,7 @@ static struct snd_soc_dai_link byt_rt5651_dais[] = {
|
||||
.stream_name = "Deep-Buffer Audio",
|
||||
.nonatomic = true,
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.ops = &byt_rt5651_aif1_ops,
|
||||
SND_SOC_DAILINK_REG(deepbuffer, dummy, platform),
|
||||
},
|
||||
@@ -793,8 +791,6 @@ static struct snd_soc_dai_link byt_rt5651_dais[] = {
|
||||
.dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF
|
||||
| SND_SOC_DAIFMT_CBC_CFC,
|
||||
.be_hw_params_fixup = byt_rt5651_codec_fixup,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.init = byt_rt5651_init,
|
||||
.ops = &byt_rt5651_be_ssp2_ops,
|
||||
SND_SOC_DAILINK_REG(ssp2_port, ssp2_codec, platform),
|
||||
|
||||
@@ -462,8 +462,6 @@ static struct snd_soc_dai_link byt_wm5102_dais[] = {
|
||||
.stream_name = "Baytrail Audio",
|
||||
.nonatomic = true,
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.ops = &byt_wm5102_aif1_ops,
|
||||
SND_SOC_DAILINK_REG(media, dummy, platform),
|
||||
|
||||
@@ -473,7 +471,7 @@ static struct snd_soc_dai_link byt_wm5102_dais[] = {
|
||||
.stream_name = "Deep-Buffer Audio",
|
||||
.nonatomic = true,
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.ops = &byt_wm5102_aif1_ops,
|
||||
SND_SOC_DAILINK_REG(deepbuffer, dummy, platform),
|
||||
},
|
||||
@@ -490,8 +488,6 @@ static struct snd_soc_dai_link byt_wm5102_dais[] = {
|
||||
.dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF
|
||||
| SND_SOC_DAIFMT_CBC_CFC,
|
||||
.be_hw_params_fixup = byt_wm5102_codec_fixup,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.init = byt_wm5102_init,
|
||||
SND_SOC_DAILINK_REG(ssp0_port, ssp0_codec, platform),
|
||||
},
|
||||
|
||||
@@ -351,8 +351,6 @@ static struct snd_soc_dai_link cht_dailink[] = {
|
||||
.stream_name = "Audio",
|
||||
.nonatomic = true,
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.ops = &cht_aif1_ops,
|
||||
SND_SOC_DAILINK_REG(media, dummy, platform),
|
||||
},
|
||||
@@ -361,7 +359,7 @@ static struct snd_soc_dai_link cht_dailink[] = {
|
||||
.stream_name = "Deep-Buffer Audio",
|
||||
.nonatomic = true,
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.ops = &cht_aif1_ops,
|
||||
SND_SOC_DAILINK_REG(deepbuffer, dummy, platform),
|
||||
},
|
||||
@@ -374,8 +372,6 @@ static struct snd_soc_dai_link cht_dailink[] = {
|
||||
| SND_SOC_DAIFMT_CBC_CFC,
|
||||
.init = cht_codec_init,
|
||||
.be_hw_params_fixup = cht_codec_fixup,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.ops = &cht_be_ssp2_ops,
|
||||
SND_SOC_DAILINK_REG(ssp2_port, ssp2_codec, platform),
|
||||
},
|
||||
|
||||
@@ -193,8 +193,6 @@ static struct snd_soc_dai_link cht_dailink[] = {
|
||||
.stream_name = "Audio",
|
||||
.nonatomic = true,
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.ops = &cht_aif1_ops,
|
||||
SND_SOC_DAILINK_REG(media, dummy, platform),
|
||||
},
|
||||
@@ -203,7 +201,7 @@ static struct snd_soc_dai_link cht_dailink[] = {
|
||||
.stream_name = "Deep-Buffer Audio",
|
||||
.nonatomic = true,
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.ops = &cht_aif1_ops,
|
||||
SND_SOC_DAILINK_REG(deepbuffer, dummy, platform),
|
||||
},
|
||||
@@ -217,8 +215,6 @@ static struct snd_soc_dai_link cht_dailink[] = {
|
||||
| SND_SOC_DAIFMT_CBC_CFC,
|
||||
.init = cht_codec_init,
|
||||
.be_hw_params_fixup = cht_codec_fixup,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.ops = &cht_be_ssp2_ops,
|
||||
SND_SOC_DAILINK_REG(ssp2_port, ssp2_codec, platform),
|
||||
},
|
||||
|
||||
@@ -448,8 +448,6 @@ static struct snd_soc_dai_link cht_dailink[] = {
|
||||
.stream_name = "Audio",
|
||||
.nonatomic = true,
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.ops = &cht_aif1_ops,
|
||||
SND_SOC_DAILINK_REG(media, dummy, platform),
|
||||
},
|
||||
@@ -458,7 +456,7 @@ static struct snd_soc_dai_link cht_dailink[] = {
|
||||
.stream_name = "Deep-Buffer Audio",
|
||||
.nonatomic = true,
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.ops = &cht_aif1_ops,
|
||||
SND_SOC_DAILINK_REG(deepbuffer, dummy, platform),
|
||||
},
|
||||
@@ -470,8 +468,6 @@ static struct snd_soc_dai_link cht_dailink[] = {
|
||||
.no_pcm = 1,
|
||||
.init = cht_codec_init,
|
||||
.be_hw_params_fixup = cht_codec_fixup,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.ops = &cht_be_ssp2_ops,
|
||||
SND_SOC_DAILINK_REG(ssp2_port, ssp2_codec, platform),
|
||||
},
|
||||
|
||||
@@ -358,8 +358,6 @@ static struct snd_soc_dai_link cht_dailink[] = {
|
||||
.stream_name = "Audio",
|
||||
.nonatomic = true,
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.ops = &cht_aif1_ops,
|
||||
SND_SOC_DAILINK_REG(media, dummy, platform),
|
||||
},
|
||||
@@ -368,7 +366,7 @@ static struct snd_soc_dai_link cht_dailink[] = {
|
||||
.stream_name = "Deep-Buffer Audio",
|
||||
.nonatomic = true,
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.ops = &cht_aif1_ops,
|
||||
SND_SOC_DAILINK_REG(deepbuffer, dummy, platform),
|
||||
},
|
||||
@@ -381,8 +379,6 @@ static struct snd_soc_dai_link cht_dailink[] = {
|
||||
.no_pcm = 1,
|
||||
.init = cht_codec_init,
|
||||
.be_hw_params_fixup = cht_codec_fixup,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.ops = &cht_be_ssp2_ops,
|
||||
SND_SOC_DAILINK_REG(ssp2_port, ssp2_codec, platform),
|
||||
},
|
||||
|
||||
@@ -178,8 +178,6 @@ static struct snd_soc_dai_link ehl_rt5660_dailink[] = {
|
||||
.name = "SSP0-Codec",
|
||||
.id = 0,
|
||||
.no_pcm = 1,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.ops = &rt5660_ops,
|
||||
SND_SOC_DAILINK_REG(ssp0_pin, rt5660_codec, platform),
|
||||
},
|
||||
@@ -187,7 +185,7 @@ static struct snd_soc_dai_link ehl_rt5660_dailink[] = {
|
||||
.name = "dmic48k",
|
||||
.id = 1,
|
||||
.ignore_suspend = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.no_pcm = 1,
|
||||
SND_SOC_DAILINK_REG(dmic_pin, dmic_codec, platform),
|
||||
},
|
||||
@@ -195,7 +193,7 @@ static struct snd_soc_dai_link ehl_rt5660_dailink[] = {
|
||||
.name = "dmic16k",
|
||||
.id = 2,
|
||||
.ignore_suspend = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.no_pcm = 1,
|
||||
SND_SOC_DAILINK_REG(dmic16k, dmic_codec, platform),
|
||||
},
|
||||
@@ -203,7 +201,7 @@ static struct snd_soc_dai_link ehl_rt5660_dailink[] = {
|
||||
.name = "iDisp1",
|
||||
.id = 5,
|
||||
.init = hdmi_init,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.no_pcm = 1,
|
||||
SND_SOC_DAILINK_REG(idisp1_pin, idisp1_codec, platform),
|
||||
},
|
||||
@@ -211,7 +209,7 @@ static struct snd_soc_dai_link ehl_rt5660_dailink[] = {
|
||||
.name = "iDisp2",
|
||||
.id = 6,
|
||||
.init = hdmi_init,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.no_pcm = 1,
|
||||
SND_SOC_DAILINK_REG(idisp2_pin, idisp2_codec, platform),
|
||||
},
|
||||
@@ -219,7 +217,7 @@ static struct snd_soc_dai_link ehl_rt5660_dailink[] = {
|
||||
.name = "iDisp3",
|
||||
.id = 7,
|
||||
.init = hdmi_init,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.no_pcm = 1,
|
||||
SND_SOC_DAILINK_REG(idisp3_pin, idisp3_codec, platform),
|
||||
},
|
||||
@@ -227,7 +225,7 @@ static struct snd_soc_dai_link ehl_rt5660_dailink[] = {
|
||||
.name = "iDisp4",
|
||||
.id = 8,
|
||||
.init = hdmi_init,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.no_pcm = 1,
|
||||
SND_SOC_DAILINK_REG(idisp4_pin, idisp4_codec, platform),
|
||||
},
|
||||
|
||||
@@ -85,8 +85,6 @@ static struct snd_soc_dai_link card_dai_links[] = {
|
||||
.nonatomic = 1,
|
||||
.dynamic = 1,
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST},
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
SND_SOC_DAILINK_REG(system, dummy, platform),
|
||||
},
|
||||
{
|
||||
@@ -95,7 +93,7 @@ static struct snd_soc_dai_link card_dai_links[] = {
|
||||
.nonatomic = 1,
|
||||
.dynamic = 1,
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST},
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
SND_SOC_DAILINK_REG(offload0, dummy, platform),
|
||||
},
|
||||
{
|
||||
@@ -104,7 +102,7 @@ static struct snd_soc_dai_link card_dai_links[] = {
|
||||
.nonatomic = 1,
|
||||
.dynamic = 1,
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST},
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
SND_SOC_DAILINK_REG(offload1, dummy, platform),
|
||||
},
|
||||
{
|
||||
@@ -113,7 +111,7 @@ static struct snd_soc_dai_link card_dai_links[] = {
|
||||
.nonatomic = 1,
|
||||
.dynamic = 1,
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST},
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
SND_SOC_DAILINK_REG(loopback, dummy, platform),
|
||||
},
|
||||
/* Back End DAI links */
|
||||
@@ -127,8 +125,6 @@ static struct snd_soc_dai_link card_dai_links[] = {
|
||||
.ignore_pmdown_time = 1,
|
||||
.be_hw_params_fixup = codec_link_hw_params_fixup,
|
||||
.ops = &codec_link_ops,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
SND_SOC_DAILINK_REG(ssp0_port, codec, platform),
|
||||
},
|
||||
};
|
||||
|
||||
@@ -217,8 +217,6 @@ static int set_ssp_codec_link(struct device *dev, struct snd_soc_dai_link *link,
|
||||
|
||||
link->id = be_id;
|
||||
link->no_pcm = 1;
|
||||
link->dpcm_capture = 1;
|
||||
link->dpcm_playback = 1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -268,7 +266,7 @@ static int set_dmic_link(struct device *dev, struct snd_soc_dai_link *link,
|
||||
link->init = dmic_init;
|
||||
link->ignore_suspend = 1;
|
||||
link->no_pcm = 1;
|
||||
link->dpcm_capture = 1;
|
||||
link->capture_only = 1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -326,7 +324,7 @@ static int set_idisp_hdmi_link(struct device *dev, struct snd_soc_dai_link *link
|
||||
link->id = be_id;
|
||||
link->init = (hdmi_id == 1) ? hdmi_init : NULL;
|
||||
link->no_pcm = 1;
|
||||
link->dpcm_playback = 1;
|
||||
link->playback_only = 1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -361,13 +359,12 @@ static int set_ssp_amp_link(struct device *dev, struct snd_soc_dai_link *link,
|
||||
/* codecs - caller to handle */
|
||||
|
||||
/* platforms */
|
||||
/* feedback stream or firmware-generated echo reference */
|
||||
link->platforms = platform_component;
|
||||
link->num_platforms = ARRAY_SIZE(platform_component);
|
||||
|
||||
link->id = be_id;
|
||||
link->no_pcm = 1;
|
||||
link->dpcm_capture = 1; /* feedback stream or firmware-generated echo reference */
|
||||
link->dpcm_playback = 1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -407,8 +404,6 @@ static int set_bt_offload_link(struct device *dev, struct snd_soc_dai_link *link
|
||||
|
||||
link->id = be_id;
|
||||
link->no_pcm = 1;
|
||||
link->dpcm_capture = 1;
|
||||
link->dpcm_playback = 1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -448,7 +443,7 @@ static int set_hdmi_in_link(struct device *dev, struct snd_soc_dai_link *link,
|
||||
|
||||
link->id = be_id;
|
||||
link->no_pcm = 1;
|
||||
link->dpcm_capture = 1;
|
||||
link->capture_only = 1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -496,8 +491,6 @@ static int set_hda_codec_link(struct device *dev, struct snd_soc_dai_link *link,
|
||||
if (be_type == SOF_HDA_ANALOG)
|
||||
link->init = hda_init;
|
||||
link->no_pcm = 1;
|
||||
link->dpcm_capture = 1;
|
||||
link->dpcm_playback = 1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -455,8 +455,6 @@ static struct snd_soc_dai_link *sof_card_dai_links_create(struct device *dev,
|
||||
links[id].exit = sof_es8316_exit;
|
||||
links[id].ops = &sof_es8336_ops;
|
||||
links[id].nonatomic = true;
|
||||
links[id].dpcm_playback = 1;
|
||||
links[id].dpcm_capture = 1;
|
||||
links[id].no_pcm = 1;
|
||||
links[id].cpus = &cpus[id];
|
||||
links[id].num_cpus = 1;
|
||||
@@ -496,7 +494,7 @@ static struct snd_soc_dai_link *sof_card_dai_links_create(struct device *dev,
|
||||
links[id].platforms = platform_component;
|
||||
links[id].num_platforms = ARRAY_SIZE(platform_component);
|
||||
links[id].ignore_suspend = 1;
|
||||
links[id].dpcm_capture = 1;
|
||||
links[id].capture_only = 1;
|
||||
links[id].no_pcm = 1;
|
||||
|
||||
id++;
|
||||
@@ -539,7 +537,7 @@ static struct snd_soc_dai_link *sof_card_dai_links_create(struct device *dev,
|
||||
links[id].platforms = platform_component;
|
||||
links[id].num_platforms = ARRAY_SIZE(platform_component);
|
||||
links[id].init = sof_hdmi_init;
|
||||
links[id].dpcm_playback = 1;
|
||||
links[id].playback_only = 1;
|
||||
links[id].no_pcm = 1;
|
||||
|
||||
id++;
|
||||
@@ -569,7 +567,7 @@ static struct snd_soc_dai_link *sof_card_dai_links_create(struct device *dev,
|
||||
links[id].num_codecs = 1;
|
||||
links[id].platforms = platform_component;
|
||||
links[id].num_platforms = ARRAY_SIZE(platform_component);
|
||||
links[id].dpcm_capture = 1;
|
||||
links[id].capture_only = 1;
|
||||
links[id].no_pcm = 1;
|
||||
links[id].num_cpus = 1;
|
||||
id++;
|
||||
|
||||
@@ -246,12 +246,11 @@ static struct snd_soc_dai_link *sof_card_dai_links_create(struct device *dev,
|
||||
links[id].num_platforms = ARRAY_SIZE(platform_component);
|
||||
links[id].init = sof_pcm512x_codec_init;
|
||||
links[id].ops = &sof_pcm512x_ops;
|
||||
links[id].dpcm_playback = 1;
|
||||
/*
|
||||
* capture only supported with specific versions of the Hifiberry DAC+
|
||||
*/
|
||||
if (sof_pcm512x_quirk & SOF_PCM512X_ENABLE_SSP_CAPTURE)
|
||||
links[id].dpcm_capture = 1;
|
||||
if (!(sof_pcm512x_quirk & SOF_PCM512X_ENABLE_SSP_CAPTURE))
|
||||
links[id].playback_only = 1;
|
||||
links[id].no_pcm = 1;
|
||||
links[id].cpus = &cpus[id];
|
||||
links[id].num_cpus = 1;
|
||||
@@ -294,7 +293,7 @@ static struct snd_soc_dai_link *sof_card_dai_links_create(struct device *dev,
|
||||
links[id].platforms = platform_component;
|
||||
links[id].num_platforms = ARRAY_SIZE(platform_component);
|
||||
links[id].ignore_suspend = 1;
|
||||
links[id].dpcm_capture = 1;
|
||||
links[id].capture_only = 1;
|
||||
links[id].no_pcm = 1;
|
||||
id++;
|
||||
}
|
||||
@@ -341,7 +340,7 @@ static struct snd_soc_dai_link *sof_card_dai_links_create(struct device *dev,
|
||||
links[id].platforms = platform_component;
|
||||
links[id].num_platforms = ARRAY_SIZE(platform_component);
|
||||
links[id].init = sof_hdmi_init;
|
||||
links[id].dpcm_playback = 1;
|
||||
links[id].playback_only = 1;
|
||||
links[id].no_pcm = 1;
|
||||
id++;
|
||||
}
|
||||
|
||||
@@ -167,8 +167,6 @@ static struct snd_soc_dai_link dailink[] = {
|
||||
.name = "SSP5-Codec",
|
||||
.id = 0,
|
||||
.no_pcm = 1,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.ops = &sof_wm8804_ops,
|
||||
SND_SOC_DAILINK_REG(ssp5_pin, ssp5_codec, platform),
|
||||
},
|
||||
|
||||
@@ -221,7 +221,7 @@ static struct snd_soc_dai_link mt2701_cs42448_dai_links[] = {
|
||||
SND_SOC_DPCM_TRIGGER_POST},
|
||||
.ops = &mt2701_cs42448_48k_fe_ops,
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
SND_SOC_DAILINK_REG(fe_multi_ch_out),
|
||||
},
|
||||
[DAI_LINK_FE_PCM0_IN] = {
|
||||
@@ -231,7 +231,7 @@ static struct snd_soc_dai_link mt2701_cs42448_dai_links[] = {
|
||||
SND_SOC_DPCM_TRIGGER_POST},
|
||||
.ops = &mt2701_cs42448_48k_fe_ops,
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
SND_SOC_DAILINK_REG(fe_pcm0_in),
|
||||
},
|
||||
[DAI_LINK_FE_PCM1_IN] = {
|
||||
@@ -241,7 +241,7 @@ static struct snd_soc_dai_link mt2701_cs42448_dai_links[] = {
|
||||
SND_SOC_DPCM_TRIGGER_POST},
|
||||
.ops = &mt2701_cs42448_48k_fe_ops,
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
SND_SOC_DAILINK_REG(fe_pcm1_in),
|
||||
},
|
||||
[DAI_LINK_FE_BT_OUT] = {
|
||||
@@ -250,7 +250,7 @@ static struct snd_soc_dai_link mt2701_cs42448_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_POST,
|
||||
SND_SOC_DPCM_TRIGGER_POST},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
SND_SOC_DAILINK_REG(fe_bt_out),
|
||||
},
|
||||
[DAI_LINK_FE_BT_IN] = {
|
||||
@@ -259,7 +259,7 @@ static struct snd_soc_dai_link mt2701_cs42448_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_POST,
|
||||
SND_SOC_DPCM_TRIGGER_POST},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
SND_SOC_DAILINK_REG(fe_bt_in),
|
||||
},
|
||||
/* BE */
|
||||
@@ -269,8 +269,6 @@ static struct snd_soc_dai_link mt2701_cs42448_dai_links[] = {
|
||||
.dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_CBS_CFS
|
||||
| SND_SOC_DAIFMT_GATED,
|
||||
.ops = &mt2701_cs42448_be_ops,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
SND_SOC_DAILINK_REG(be_i2s0),
|
||||
},
|
||||
[DAI_LINK_BE_I2S1] = {
|
||||
@@ -279,8 +277,6 @@ static struct snd_soc_dai_link mt2701_cs42448_dai_links[] = {
|
||||
.dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_CBS_CFS
|
||||
| SND_SOC_DAIFMT_GATED,
|
||||
.ops = &mt2701_cs42448_be_ops,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
SND_SOC_DAILINK_REG(be_i2s1),
|
||||
},
|
||||
[DAI_LINK_BE_I2S2] = {
|
||||
@@ -289,8 +285,6 @@ static struct snd_soc_dai_link mt2701_cs42448_dai_links[] = {
|
||||
.dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_CBS_CFS
|
||||
| SND_SOC_DAIFMT_GATED,
|
||||
.ops = &mt2701_cs42448_be_ops,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
SND_SOC_DAILINK_REG(be_i2s2),
|
||||
},
|
||||
[DAI_LINK_BE_I2S3] = {
|
||||
@@ -299,15 +293,11 @@ static struct snd_soc_dai_link mt2701_cs42448_dai_links[] = {
|
||||
.dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_CBS_CFS
|
||||
| SND_SOC_DAIFMT_GATED,
|
||||
.ops = &mt2701_cs42448_be_ops,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
SND_SOC_DAILINK_REG(be_i2s3),
|
||||
},
|
||||
[DAI_LINK_BE_MRG_BT] = {
|
||||
.name = "mt2701-cs42448-MRG-BT",
|
||||
.no_pcm = 1,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
SND_SOC_DAILINK_REG(be_mrg_bt),
|
||||
},
|
||||
};
|
||||
|
||||
@@ -67,7 +67,7 @@ static struct snd_soc_dai_link mt2701_wm8960_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_POST,
|
||||
SND_SOC_DPCM_TRIGGER_POST},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
SND_SOC_DAILINK_REG(playback),
|
||||
},
|
||||
{
|
||||
@@ -76,7 +76,7 @@ static struct snd_soc_dai_link mt2701_wm8960_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_POST,
|
||||
SND_SOC_DPCM_TRIGGER_POST},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
SND_SOC_DAILINK_REG(capture),
|
||||
},
|
||||
/* BE */
|
||||
@@ -86,8 +86,6 @@ static struct snd_soc_dai_link mt2701_wm8960_dai_links[] = {
|
||||
.dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_CBS_CFS
|
||||
| SND_SOC_DAIFMT_GATED,
|
||||
.ops = &mt2701_wm8960_be_ops,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
SND_SOC_DAILINK_REG(codec),
|
||||
},
|
||||
};
|
||||
|
||||
@@ -78,7 +78,7 @@ static struct snd_soc_dai_link mt6797_mt6351_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
SND_SOC_DAILINK_REG(playback_1),
|
||||
},
|
||||
{
|
||||
@@ -87,7 +87,7 @@ static struct snd_soc_dai_link mt6797_mt6351_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
SND_SOC_DAILINK_REG(playback_2),
|
||||
},
|
||||
{
|
||||
@@ -96,7 +96,7 @@ static struct snd_soc_dai_link mt6797_mt6351_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
SND_SOC_DAILINK_REG(playback_3),
|
||||
},
|
||||
{
|
||||
@@ -105,7 +105,7 @@ static struct snd_soc_dai_link mt6797_mt6351_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
SND_SOC_DAILINK_REG(capture_1),
|
||||
},
|
||||
{
|
||||
@@ -114,7 +114,7 @@ static struct snd_soc_dai_link mt6797_mt6351_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
SND_SOC_DAILINK_REG(capture_2),
|
||||
},
|
||||
{
|
||||
@@ -123,7 +123,7 @@ static struct snd_soc_dai_link mt6797_mt6351_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
SND_SOC_DAILINK_REG(capture_3),
|
||||
},
|
||||
{
|
||||
@@ -132,7 +132,7 @@ static struct snd_soc_dai_link mt6797_mt6351_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
SND_SOC_DAILINK_REG(capture_mono_1),
|
||||
},
|
||||
{
|
||||
@@ -141,8 +141,6 @@ static struct snd_soc_dai_link mt6797_mt6351_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.ignore_suspend = 1,
|
||||
SND_SOC_DAILINK_REG(hostless_lpbk),
|
||||
},
|
||||
@@ -152,8 +150,6 @@ static struct snd_soc_dai_link mt6797_mt6351_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.ignore_suspend = 1,
|
||||
SND_SOC_DAILINK_REG(hostless_speech),
|
||||
},
|
||||
@@ -161,24 +157,18 @@ static struct snd_soc_dai_link mt6797_mt6351_dai_links[] = {
|
||||
{
|
||||
.name = "Primary Codec",
|
||||
.no_pcm = 1,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.ignore_suspend = 1,
|
||||
SND_SOC_DAILINK_REG(primary_codec),
|
||||
},
|
||||
{
|
||||
.name = "PCM 1",
|
||||
.no_pcm = 1,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.ignore_suspend = 1,
|
||||
SND_SOC_DAILINK_REG(pcm1),
|
||||
},
|
||||
{
|
||||
.name = "PCM 2",
|
||||
.no_pcm = 1,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.ignore_suspend = 1,
|
||||
SND_SOC_DAILINK_REG(pcm2),
|
||||
},
|
||||
|
||||
@@ -45,7 +45,7 @@ static struct snd_soc_dai_link mt7986_wm8960_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_POST,
|
||||
SND_SOC_DPCM_TRIGGER_POST},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
SND_SOC_DAILINK_REG(playback),
|
||||
},
|
||||
{
|
||||
@@ -54,7 +54,7 @@ static struct snd_soc_dai_link mt7986_wm8960_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_POST,
|
||||
SND_SOC_DPCM_TRIGGER_POST},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
SND_SOC_DAILINK_REG(capture),
|
||||
},
|
||||
/* BE */
|
||||
@@ -65,8 +65,6 @@ static struct snd_soc_dai_link mt7986_wm8960_dai_links[] = {
|
||||
SND_SOC_DAIFMT_NB_NF |
|
||||
SND_SOC_DAIFMT_CBS_CFS |
|
||||
SND_SOC_DAIFMT_GATED,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
SND_SOC_DAILINK_REG(codec),
|
||||
},
|
||||
};
|
||||
|
||||
@@ -104,7 +104,7 @@ static struct snd_soc_dai_link mt8173_max98090_dais[] = {
|
||||
.stream_name = "MAX98090 Playback",
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
SND_SOC_DAILINK_REG(playback),
|
||||
},
|
||||
{
|
||||
@@ -112,7 +112,7 @@ static struct snd_soc_dai_link mt8173_max98090_dais[] = {
|
||||
.stream_name = "MAX98090 Capture",
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
SND_SOC_DAILINK_REG(capture),
|
||||
},
|
||||
/* Back End DAI links */
|
||||
@@ -123,8 +123,6 @@ static struct snd_soc_dai_link mt8173_max98090_dais[] = {
|
||||
.ops = &mt8173_max98090_ops,
|
||||
.dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF |
|
||||
SND_SOC_DAIFMT_CBS_CFS,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
SND_SOC_DAILINK_REG(hifi),
|
||||
},
|
||||
};
|
||||
|
||||
@@ -139,7 +139,7 @@ static struct snd_soc_dai_link mt8173_rt5650_rt5514_dais[] = {
|
||||
.stream_name = "rt5650_rt5514 Playback",
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
SND_SOC_DAILINK_REG(playback),
|
||||
},
|
||||
[DAI_LINK_CAPTURE] = {
|
||||
@@ -147,7 +147,7 @@ static struct snd_soc_dai_link mt8173_rt5650_rt5514_dais[] = {
|
||||
.stream_name = "rt5650_rt5514 Capture",
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
SND_SOC_DAILINK_REG(capture),
|
||||
},
|
||||
/* Back End DAI links */
|
||||
@@ -159,8 +159,6 @@ static struct snd_soc_dai_link mt8173_rt5650_rt5514_dais[] = {
|
||||
SND_SOC_DAIFMT_CBS_CFS,
|
||||
.ops = &mt8173_rt5650_rt5514_ops,
|
||||
.ignore_pmdown_time = 1,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
SND_SOC_DAILINK_REG(codec),
|
||||
},
|
||||
};
|
||||
|
||||
@@ -171,7 +171,7 @@ static struct snd_soc_dai_link mt8173_rt5650_rt5676_dais[] = {
|
||||
.stream_name = "rt5650_rt5676 Playback",
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
SND_SOC_DAILINK_REG(playback),
|
||||
},
|
||||
[DAI_LINK_CAPTURE] = {
|
||||
@@ -179,7 +179,7 @@ static struct snd_soc_dai_link mt8173_rt5650_rt5676_dais[] = {
|
||||
.stream_name = "rt5650_rt5676 Capture",
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
SND_SOC_DAILINK_REG(capture),
|
||||
},
|
||||
[DAI_LINK_HDMI] = {
|
||||
@@ -187,7 +187,7 @@ static struct snd_soc_dai_link mt8173_rt5650_rt5676_dais[] = {
|
||||
.stream_name = "HDMI PCM",
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
SND_SOC_DAILINK_REG(hdmi_pcm),
|
||||
},
|
||||
|
||||
@@ -200,14 +200,12 @@ static struct snd_soc_dai_link mt8173_rt5650_rt5676_dais[] = {
|
||||
SND_SOC_DAIFMT_CBS_CFS,
|
||||
.ops = &mt8173_rt5650_rt5676_ops,
|
||||
.ignore_pmdown_time = 1,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
SND_SOC_DAILINK_REG(codec),
|
||||
},
|
||||
[DAI_LINK_HDMI_I2S] = {
|
||||
.name = "HDMI BE",
|
||||
.no_pcm = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
SND_SOC_DAILINK_REG(hdmi_be),
|
||||
},
|
||||
/* rt5676 <-> rt5650 intercodec link: Sets rt5676 I2S2 as master */
|
||||
|
||||
@@ -210,7 +210,7 @@ static struct snd_soc_dai_link mt8173_rt5650_dais[] = {
|
||||
.stream_name = "rt5650 Playback",
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
SND_SOC_DAILINK_REG(playback),
|
||||
},
|
||||
[DAI_LINK_CAPTURE] = {
|
||||
@@ -218,7 +218,7 @@ static struct snd_soc_dai_link mt8173_rt5650_dais[] = {
|
||||
.stream_name = "rt5650 Capture",
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
SND_SOC_DAILINK_REG(capture),
|
||||
},
|
||||
[DAI_LINK_HDMI] = {
|
||||
@@ -226,7 +226,7 @@ static struct snd_soc_dai_link mt8173_rt5650_dais[] = {
|
||||
.stream_name = "HDMI PCM",
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
SND_SOC_DAILINK_REG(hdmi_pcm),
|
||||
},
|
||||
/* Back End DAI links */
|
||||
@@ -238,14 +238,12 @@ static struct snd_soc_dai_link mt8173_rt5650_dais[] = {
|
||||
SND_SOC_DAIFMT_CBS_CFS,
|
||||
.ops = &mt8173_rt5650_ops,
|
||||
.ignore_pmdown_time = 1,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
SND_SOC_DAILINK_REG(codec),
|
||||
},
|
||||
[DAI_LINK_HDMI_I2S] = {
|
||||
.name = "HDMI BE",
|
||||
.no_pcm = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.init = mt8173_rt5650_hdmi_init,
|
||||
SND_SOC_DAILINK_REG(hdmi_be),
|
||||
},
|
||||
|
||||
@@ -425,7 +425,7 @@ static struct snd_soc_dai_link mt8183_da7219_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.ops = &mt8183_da7219_max98357_ops,
|
||||
SND_SOC_DAILINK_REG(playback1),
|
||||
},
|
||||
@@ -435,7 +435,7 @@ static struct snd_soc_dai_link mt8183_da7219_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.ops = &mt8183_da7219_max98357_bt_sco_ops,
|
||||
SND_SOC_DAILINK_REG(playback2),
|
||||
},
|
||||
@@ -445,7 +445,7 @@ static struct snd_soc_dai_link mt8183_da7219_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
SND_SOC_DAILINK_REG(playback3),
|
||||
},
|
||||
{
|
||||
@@ -454,7 +454,7 @@ static struct snd_soc_dai_link mt8183_da7219_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.ops = &mt8183_da7219_max98357_bt_sco_ops,
|
||||
SND_SOC_DAILINK_REG(capture1),
|
||||
},
|
||||
@@ -464,7 +464,7 @@ static struct snd_soc_dai_link mt8183_da7219_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
SND_SOC_DAILINK_REG(capture2),
|
||||
},
|
||||
{
|
||||
@@ -473,7 +473,7 @@ static struct snd_soc_dai_link mt8183_da7219_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.ops = &mt8183_da7219_max98357_ops,
|
||||
SND_SOC_DAILINK_REG(capture3),
|
||||
},
|
||||
@@ -483,7 +483,7 @@ static struct snd_soc_dai_link mt8183_da7219_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
SND_SOC_DAILINK_REG(capture_mono),
|
||||
},
|
||||
{
|
||||
@@ -492,38 +492,32 @@ static struct snd_soc_dai_link mt8183_da7219_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
SND_SOC_DAILINK_REG(playback_hdmi),
|
||||
},
|
||||
/* BE */
|
||||
{
|
||||
.name = "Primary Codec",
|
||||
.no_pcm = 1,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.ignore_suspend = 1,
|
||||
SND_SOC_DAILINK_REG(primary_codec),
|
||||
},
|
||||
{
|
||||
.name = "PCM 1",
|
||||
.no_pcm = 1,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.ignore_suspend = 1,
|
||||
SND_SOC_DAILINK_REG(pcm1),
|
||||
},
|
||||
{
|
||||
.name = "PCM 2",
|
||||
.no_pcm = 1,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.ignore_suspend = 1,
|
||||
SND_SOC_DAILINK_REG(pcm2),
|
||||
},
|
||||
{
|
||||
.name = "I2S0",
|
||||
.no_pcm = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.ignore_suspend = 1,
|
||||
.be_hw_params_fixup = mt8183_i2s_hw_params_fixup,
|
||||
.ops = &mt8183_mt6358_i2s_ops,
|
||||
@@ -532,7 +526,7 @@ static struct snd_soc_dai_link mt8183_da7219_dai_links[] = {
|
||||
{
|
||||
.name = "I2S1",
|
||||
.no_pcm = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.ignore_suspend = 1,
|
||||
.be_hw_params_fixup = mt8183_i2s_hw_params_fixup,
|
||||
.ops = &mt8183_mt6358_i2s_ops,
|
||||
@@ -541,7 +535,7 @@ static struct snd_soc_dai_link mt8183_da7219_dai_links[] = {
|
||||
{
|
||||
.name = "I2S2",
|
||||
.no_pcm = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.ignore_suspend = 1,
|
||||
.be_hw_params_fixup = mt8183_i2s_hw_params_fixup,
|
||||
.ops = &mt8183_da7219_i2s_ops,
|
||||
@@ -551,13 +545,13 @@ static struct snd_soc_dai_link mt8183_da7219_dai_links[] = {
|
||||
{
|
||||
.name = "I2S3",
|
||||
.no_pcm = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.ignore_suspend = 1,
|
||||
},
|
||||
{
|
||||
.name = "I2S5",
|
||||
.no_pcm = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.ignore_suspend = 1,
|
||||
.be_hw_params_fixup = mt8183_i2s_hw_params_fixup,
|
||||
.ops = &mt8183_mt6358_i2s_ops,
|
||||
@@ -570,7 +564,7 @@ static struct snd_soc_dai_link mt8183_da7219_dai_links[] = {
|
||||
.dai_fmt = SND_SOC_DAIFMT_I2S |
|
||||
SND_SOC_DAIFMT_IB_IF |
|
||||
SND_SOC_DAIFMT_CBM_CFM,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.ignore_suspend = 1,
|
||||
.be_hw_params_fixup = mt8183_i2s_hw_params_fixup,
|
||||
.ignore = 1,
|
||||
|
||||
@@ -430,7 +430,7 @@ static struct snd_soc_dai_link mt8183_mt6358_ts3a227_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.ops = &mt8183_mt6358_ops,
|
||||
SND_SOC_DAILINK_REG(playback1),
|
||||
},
|
||||
@@ -440,7 +440,7 @@ static struct snd_soc_dai_link mt8183_mt6358_ts3a227_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.ops = &mt8183_mt6358_ts3a227_max98357_bt_sco_ops,
|
||||
SND_SOC_DAILINK_REG(playback2),
|
||||
},
|
||||
@@ -450,7 +450,7 @@ static struct snd_soc_dai_link mt8183_mt6358_ts3a227_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
SND_SOC_DAILINK_REG(playback3),
|
||||
},
|
||||
{
|
||||
@@ -459,7 +459,7 @@ static struct snd_soc_dai_link mt8183_mt6358_ts3a227_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.ops = &mt8183_mt6358_ts3a227_max98357_bt_sco_ops,
|
||||
SND_SOC_DAILINK_REG(capture1),
|
||||
},
|
||||
@@ -469,7 +469,7 @@ static struct snd_soc_dai_link mt8183_mt6358_ts3a227_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
SND_SOC_DAILINK_REG(capture2),
|
||||
},
|
||||
{
|
||||
@@ -478,7 +478,7 @@ static struct snd_soc_dai_link mt8183_mt6358_ts3a227_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.ops = &mt8183_mt6358_ops,
|
||||
SND_SOC_DAILINK_REG(capture3),
|
||||
},
|
||||
@@ -488,7 +488,7 @@ static struct snd_soc_dai_link mt8183_mt6358_ts3a227_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
SND_SOC_DAILINK_REG(capture_mono),
|
||||
},
|
||||
{
|
||||
@@ -497,7 +497,7 @@ static struct snd_soc_dai_link mt8183_mt6358_ts3a227_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
SND_SOC_DAILINK_REG(playback_hdmi),
|
||||
},
|
||||
{
|
||||
@@ -513,31 +513,25 @@ static struct snd_soc_dai_link mt8183_mt6358_ts3a227_dai_links[] = {
|
||||
{
|
||||
.name = "Primary Codec",
|
||||
.no_pcm = 1,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.ignore_suspend = 1,
|
||||
SND_SOC_DAILINK_REG(primary_codec),
|
||||
},
|
||||
{
|
||||
.name = "PCM 1",
|
||||
.no_pcm = 1,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.ignore_suspend = 1,
|
||||
SND_SOC_DAILINK_REG(pcm1),
|
||||
},
|
||||
{
|
||||
.name = "PCM 2",
|
||||
.no_pcm = 1,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.ignore_suspend = 1,
|
||||
SND_SOC_DAILINK_REG(pcm2),
|
||||
},
|
||||
{
|
||||
.name = "I2S0",
|
||||
.no_pcm = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.ignore_suspend = 1,
|
||||
.ops = &mt8183_mt6358_i2s_ops,
|
||||
SND_SOC_DAILINK_REG(i2s0),
|
||||
@@ -545,7 +539,7 @@ static struct snd_soc_dai_link mt8183_mt6358_ts3a227_dai_links[] = {
|
||||
{
|
||||
.name = "I2S1",
|
||||
.no_pcm = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.ignore_suspend = 1,
|
||||
.be_hw_params_fixup = mt8183_i2s_hw_params_fixup,
|
||||
.ops = &mt8183_mt6358_i2s_ops,
|
||||
@@ -554,7 +548,7 @@ static struct snd_soc_dai_link mt8183_mt6358_ts3a227_dai_links[] = {
|
||||
{
|
||||
.name = "I2S2",
|
||||
.no_pcm = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.ignore_suspend = 1,
|
||||
.be_hw_params_fixup = mt8183_i2s_hw_params_fixup,
|
||||
.ops = &mt8183_mt6358_i2s_ops,
|
||||
@@ -564,13 +558,13 @@ static struct snd_soc_dai_link mt8183_mt6358_ts3a227_dai_links[] = {
|
||||
{
|
||||
.name = "I2S3",
|
||||
.no_pcm = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.ignore_suspend = 1,
|
||||
},
|
||||
{
|
||||
.name = "I2S5",
|
||||
.no_pcm = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.ignore_suspend = 1,
|
||||
.ops = &mt8183_mt6358_i2s_ops,
|
||||
.init = &mt8183_bt_init,
|
||||
@@ -582,7 +576,7 @@ static struct snd_soc_dai_link mt8183_mt6358_ts3a227_dai_links[] = {
|
||||
.dai_fmt = SND_SOC_DAIFMT_I2S |
|
||||
SND_SOC_DAIFMT_IB_IF |
|
||||
SND_SOC_DAIFMT_CBM_CFM,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.ignore_suspend = 1,
|
||||
.be_hw_params_fixup = mt8183_i2s_hw_params_fixup,
|
||||
.ops = &mt8183_mt6358_tdm_ops,
|
||||
|
||||
@@ -647,7 +647,7 @@ static struct snd_soc_dai_link mt8186_mt6366_rt1019_rt5682s_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.dpcm_merged_format = 1,
|
||||
.dpcm_merged_chan = 1,
|
||||
.dpcm_merged_rate = 1,
|
||||
@@ -660,7 +660,7 @@ static struct snd_soc_dai_link mt8186_mt6366_rt1019_rt5682s_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
SND_SOC_DAILINK_REG(playback12),
|
||||
},
|
||||
{
|
||||
@@ -669,7 +669,7 @@ static struct snd_soc_dai_link mt8186_mt6366_rt1019_rt5682s_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.dpcm_merged_format = 1,
|
||||
.dpcm_merged_chan = 1,
|
||||
.dpcm_merged_rate = 1,
|
||||
@@ -681,7 +681,7 @@ static struct snd_soc_dai_link mt8186_mt6366_rt1019_rt5682s_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.dpcm_merged_format = 1,
|
||||
.dpcm_merged_chan = 1,
|
||||
.dpcm_merged_rate = 1,
|
||||
@@ -694,7 +694,7 @@ static struct snd_soc_dai_link mt8186_mt6366_rt1019_rt5682s_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
SND_SOC_DAILINK_REG(playback4),
|
||||
},
|
||||
{
|
||||
@@ -703,7 +703,7 @@ static struct snd_soc_dai_link mt8186_mt6366_rt1019_rt5682s_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
SND_SOC_DAILINK_REG(playback5),
|
||||
},
|
||||
{
|
||||
@@ -712,7 +712,7 @@ static struct snd_soc_dai_link mt8186_mt6366_rt1019_rt5682s_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
SND_SOC_DAILINK_REG(playback6),
|
||||
},
|
||||
{
|
||||
@@ -721,7 +721,7 @@ static struct snd_soc_dai_link mt8186_mt6366_rt1019_rt5682s_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
SND_SOC_DAILINK_REG(playback7),
|
||||
},
|
||||
{
|
||||
@@ -730,7 +730,7 @@ static struct snd_soc_dai_link mt8186_mt6366_rt1019_rt5682s_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
SND_SOC_DAILINK_REG(playback8),
|
||||
},
|
||||
{
|
||||
@@ -739,7 +739,7 @@ static struct snd_soc_dai_link mt8186_mt6366_rt1019_rt5682s_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
SND_SOC_DAILINK_REG(capture1),
|
||||
},
|
||||
{
|
||||
@@ -748,7 +748,7 @@ static struct snd_soc_dai_link mt8186_mt6366_rt1019_rt5682s_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.dpcm_merged_format = 1,
|
||||
.dpcm_merged_chan = 1,
|
||||
.dpcm_merged_rate = 1,
|
||||
@@ -761,7 +761,7 @@ static struct snd_soc_dai_link mt8186_mt6366_rt1019_rt5682s_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
SND_SOC_DAILINK_REG(capture3),
|
||||
},
|
||||
{
|
||||
@@ -770,7 +770,7 @@ static struct snd_soc_dai_link mt8186_mt6366_rt1019_rt5682s_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.dpcm_merged_format = 1,
|
||||
.dpcm_merged_chan = 1,
|
||||
.dpcm_merged_rate = 1,
|
||||
@@ -783,7 +783,7 @@ static struct snd_soc_dai_link mt8186_mt6366_rt1019_rt5682s_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
SND_SOC_DAILINK_REG(capture5),
|
||||
},
|
||||
{
|
||||
@@ -792,7 +792,7 @@ static struct snd_soc_dai_link mt8186_mt6366_rt1019_rt5682s_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.dpcm_merged_format = 1,
|
||||
.dpcm_merged_chan = 1,
|
||||
.dpcm_merged_rate = 1,
|
||||
@@ -804,7 +804,7 @@ static struct snd_soc_dai_link mt8186_mt6366_rt1019_rt5682s_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
SND_SOC_DAILINK_REG(capture7),
|
||||
},
|
||||
{
|
||||
@@ -813,8 +813,6 @@ static struct snd_soc_dai_link mt8186_mt6366_rt1019_rt5682s_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.ignore_suspend = 1,
|
||||
SND_SOC_DAILINK_REG(hostless_lpbk),
|
||||
},
|
||||
@@ -824,8 +822,6 @@ static struct snd_soc_dai_link mt8186_mt6366_rt1019_rt5682s_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.ignore_suspend = 1,
|
||||
SND_SOC_DAILINK_REG(hostless_fm),
|
||||
},
|
||||
@@ -835,8 +831,6 @@ static struct snd_soc_dai_link mt8186_mt6366_rt1019_rt5682s_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.ignore_suspend = 1,
|
||||
SND_SOC_DAILINK_REG(hostless_src1),
|
||||
},
|
||||
@@ -846,8 +840,6 @@ static struct snd_soc_dai_link mt8186_mt6366_rt1019_rt5682s_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.ignore_suspend = 1,
|
||||
SND_SOC_DAILINK_REG(hostless_src_bargein),
|
||||
},
|
||||
@@ -857,7 +849,7 @@ static struct snd_soc_dai_link mt8186_mt6366_rt1019_rt5682s_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.ignore_suspend = 1,
|
||||
SND_SOC_DAILINK_REG(hostless_hw_gain_aaudio),
|
||||
},
|
||||
@@ -867,8 +859,6 @@ static struct snd_soc_dai_link mt8186_mt6366_rt1019_rt5682s_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.ignore_suspend = 1,
|
||||
SND_SOC_DAILINK_REG(hostless_src_aaudio),
|
||||
},
|
||||
@@ -876,8 +866,6 @@ static struct snd_soc_dai_link mt8186_mt6366_rt1019_rt5682s_dai_links[] = {
|
||||
{
|
||||
.name = "Primary Codec",
|
||||
.no_pcm = 1,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.ignore_suspend = 1,
|
||||
.init = primary_codec_init,
|
||||
SND_SOC_DAILINK_REG(adda),
|
||||
@@ -888,7 +876,7 @@ static struct snd_soc_dai_link mt8186_mt6366_rt1019_rt5682s_dai_links[] = {
|
||||
.dai_fmt = SND_SOC_DAIFMT_I2S |
|
||||
SND_SOC_DAIFMT_IB_IF |
|
||||
SND_SOC_DAIFMT_CBM_CFM,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.ignore_suspend = 1,
|
||||
.init = mt8186_mt6366_rt1019_rt5682s_hdmi_init,
|
||||
SND_SOC_DAILINK_REG(i2s3),
|
||||
@@ -896,7 +884,7 @@ static struct snd_soc_dai_link mt8186_mt6366_rt1019_rt5682s_dai_links[] = {
|
||||
{
|
||||
.name = "I2S0",
|
||||
.no_pcm = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.ignore_suspend = 1,
|
||||
.ops = &mt8186_rt5682s_i2s_ops,
|
||||
SND_SOC_DAILINK_REG(i2s0),
|
||||
@@ -904,7 +892,7 @@ static struct snd_soc_dai_link mt8186_mt6366_rt1019_rt5682s_dai_links[] = {
|
||||
{
|
||||
.name = "I2S1",
|
||||
.no_pcm = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.ignore_suspend = 1,
|
||||
.init = mt8186_headset_codec_init,
|
||||
SND_SOC_DAILINK_REG(i2s1),
|
||||
@@ -912,46 +900,38 @@ static struct snd_soc_dai_link mt8186_mt6366_rt1019_rt5682s_dai_links[] = {
|
||||
{
|
||||
.name = "I2S2",
|
||||
.no_pcm = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.ignore_suspend = 1,
|
||||
SND_SOC_DAILINK_REG(i2s2),
|
||||
},
|
||||
{
|
||||
.name = "HW Gain 1",
|
||||
.no_pcm = 1,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.ignore_suspend = 1,
|
||||
SND_SOC_DAILINK_REG(hw_gain1),
|
||||
},
|
||||
{
|
||||
.name = "HW Gain 2",
|
||||
.no_pcm = 1,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.ignore_suspend = 1,
|
||||
SND_SOC_DAILINK_REG(hw_gain2),
|
||||
},
|
||||
{
|
||||
.name = "HW_SRC_1",
|
||||
.no_pcm = 1,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.ignore_suspend = 1,
|
||||
SND_SOC_DAILINK_REG(hw_src1),
|
||||
},
|
||||
{
|
||||
.name = "HW_SRC_2",
|
||||
.no_pcm = 1,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.ignore_suspend = 1,
|
||||
SND_SOC_DAILINK_REG(hw_src2),
|
||||
},
|
||||
{
|
||||
.name = "CONNSYS_I2S",
|
||||
.no_pcm = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.ignore_suspend = 1,
|
||||
SND_SOC_DAILINK_REG(connsys_i2s),
|
||||
},
|
||||
@@ -960,15 +940,13 @@ static struct snd_soc_dai_link mt8186_mt6366_rt1019_rt5682s_dai_links[] = {
|
||||
.dai_fmt = SND_SOC_DAIFMT_I2S |
|
||||
SND_SOC_DAIFMT_NB_IF,
|
||||
.no_pcm = 1,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.ignore_suspend = 1,
|
||||
SND_SOC_DAILINK_REG(pcm1),
|
||||
},
|
||||
{
|
||||
.name = "TDM IN",
|
||||
.no_pcm = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.ignore_suspend = 1,
|
||||
SND_SOC_DAILINK_REG(tdm_in),
|
||||
},
|
||||
@@ -976,35 +954,35 @@ static struct snd_soc_dai_link mt8186_mt6366_rt1019_rt5682s_dai_links[] = {
|
||||
{
|
||||
.name = "Hostless_UL1",
|
||||
.no_pcm = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.ignore_suspend = 1,
|
||||
SND_SOC_DAILINK_REG(hostless_ul1),
|
||||
},
|
||||
{
|
||||
.name = "Hostless_UL2",
|
||||
.no_pcm = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.ignore_suspend = 1,
|
||||
SND_SOC_DAILINK_REG(hostless_ul2),
|
||||
},
|
||||
{
|
||||
.name = "Hostless_UL3",
|
||||
.no_pcm = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.ignore_suspend = 1,
|
||||
SND_SOC_DAILINK_REG(hostless_ul3),
|
||||
},
|
||||
{
|
||||
.name = "Hostless_UL5",
|
||||
.no_pcm = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.ignore_suspend = 1,
|
||||
SND_SOC_DAILINK_REG(hostless_ul5),
|
||||
},
|
||||
{
|
||||
.name = "Hostless_UL6",
|
||||
.no_pcm = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.ignore_suspend = 1,
|
||||
SND_SOC_DAILINK_REG(hostless_ul6),
|
||||
},
|
||||
@@ -1012,25 +990,25 @@ static struct snd_soc_dai_link mt8186_mt6366_rt1019_rt5682s_dai_links[] = {
|
||||
{
|
||||
.name = "AFE_SOF_DL1",
|
||||
.no_pcm = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
SND_SOC_DAILINK_REG(AFE_SOF_DL1),
|
||||
},
|
||||
{
|
||||
.name = "AFE_SOF_DL2",
|
||||
.no_pcm = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
SND_SOC_DAILINK_REG(AFE_SOF_DL2),
|
||||
},
|
||||
{
|
||||
.name = "AFE_SOF_UL1",
|
||||
.no_pcm = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
SND_SOC_DAILINK_REG(AFE_SOF_UL1),
|
||||
},
|
||||
{
|
||||
.name = "AFE_SOF_UL2",
|
||||
.no_pcm = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
SND_SOC_DAILINK_REG(AFE_SOF_UL2),
|
||||
},
|
||||
};
|
||||
|
||||
@@ -932,7 +932,7 @@ static struct snd_soc_dai_link mt8188_mt6359_dai_links[] = {
|
||||
SND_SOC_DPCM_TRIGGER_POST,
|
||||
},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.dpcm_merged_chan = 1,
|
||||
.dpcm_merged_rate = 1,
|
||||
.dpcm_merged_format = 1,
|
||||
@@ -946,7 +946,7 @@ static struct snd_soc_dai_link mt8188_mt6359_dai_links[] = {
|
||||
SND_SOC_DPCM_TRIGGER_POST,
|
||||
},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.dpcm_merged_chan = 1,
|
||||
.dpcm_merged_rate = 1,
|
||||
.dpcm_merged_format = 1,
|
||||
@@ -960,7 +960,7 @@ static struct snd_soc_dai_link mt8188_mt6359_dai_links[] = {
|
||||
SND_SOC_DPCM_TRIGGER_POST,
|
||||
},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.dpcm_merged_chan = 1,
|
||||
.dpcm_merged_rate = 1,
|
||||
.dpcm_merged_format = 1,
|
||||
@@ -974,7 +974,7 @@ static struct snd_soc_dai_link mt8188_mt6359_dai_links[] = {
|
||||
SND_SOC_DPCM_TRIGGER_PRE,
|
||||
},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
SND_SOC_DAILINK_REG(playback7),
|
||||
},
|
||||
[DAI_LINK_DL8_FE] = {
|
||||
@@ -985,7 +985,7 @@ static struct snd_soc_dai_link mt8188_mt6359_dai_links[] = {
|
||||
SND_SOC_DPCM_TRIGGER_POST,
|
||||
},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
SND_SOC_DAILINK_REG(playback8),
|
||||
},
|
||||
[DAI_LINK_DL10_FE] = {
|
||||
@@ -996,7 +996,7 @@ static struct snd_soc_dai_link mt8188_mt6359_dai_links[] = {
|
||||
SND_SOC_DPCM_TRIGGER_POST,
|
||||
},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
SND_SOC_DAILINK_REG(playback10),
|
||||
},
|
||||
[DAI_LINK_DL11_FE] = {
|
||||
@@ -1007,7 +1007,7 @@ static struct snd_soc_dai_link mt8188_mt6359_dai_links[] = {
|
||||
SND_SOC_DPCM_TRIGGER_POST,
|
||||
},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
SND_SOC_DAILINK_REG(playback11),
|
||||
},
|
||||
[DAI_LINK_UL1_FE] = {
|
||||
@@ -1018,7 +1018,7 @@ static struct snd_soc_dai_link mt8188_mt6359_dai_links[] = {
|
||||
SND_SOC_DPCM_TRIGGER_PRE,
|
||||
},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
SND_SOC_DAILINK_REG(capture1),
|
||||
},
|
||||
[DAI_LINK_UL2_FE] = {
|
||||
@@ -1029,7 +1029,7 @@ static struct snd_soc_dai_link mt8188_mt6359_dai_links[] = {
|
||||
SND_SOC_DPCM_TRIGGER_POST,
|
||||
},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
SND_SOC_DAILINK_REG(capture2),
|
||||
},
|
||||
[DAI_LINK_UL3_FE] = {
|
||||
@@ -1040,7 +1040,7 @@ static struct snd_soc_dai_link mt8188_mt6359_dai_links[] = {
|
||||
SND_SOC_DPCM_TRIGGER_POST,
|
||||
},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
SND_SOC_DAILINK_REG(capture3),
|
||||
},
|
||||
[DAI_LINK_UL4_FE] = {
|
||||
@@ -1051,7 +1051,7 @@ static struct snd_soc_dai_link mt8188_mt6359_dai_links[] = {
|
||||
SND_SOC_DPCM_TRIGGER_POST,
|
||||
},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.dpcm_merged_chan = 1,
|
||||
.dpcm_merged_rate = 1,
|
||||
.dpcm_merged_format = 1,
|
||||
@@ -1065,7 +1065,7 @@ static struct snd_soc_dai_link mt8188_mt6359_dai_links[] = {
|
||||
SND_SOC_DPCM_TRIGGER_POST,
|
||||
},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.dpcm_merged_chan = 1,
|
||||
.dpcm_merged_rate = 1,
|
||||
.dpcm_merged_format = 1,
|
||||
@@ -1079,7 +1079,7 @@ static struct snd_soc_dai_link mt8188_mt6359_dai_links[] = {
|
||||
SND_SOC_DPCM_TRIGGER_PRE,
|
||||
},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
SND_SOC_DAILINK_REG(capture6),
|
||||
},
|
||||
[DAI_LINK_UL8_FE] = {
|
||||
@@ -1090,7 +1090,7 @@ static struct snd_soc_dai_link mt8188_mt6359_dai_links[] = {
|
||||
SND_SOC_DPCM_TRIGGER_POST,
|
||||
},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
SND_SOC_DAILINK_REG(capture8),
|
||||
},
|
||||
[DAI_LINK_UL9_FE] = {
|
||||
@@ -1101,7 +1101,7 @@ static struct snd_soc_dai_link mt8188_mt6359_dai_links[] = {
|
||||
SND_SOC_DPCM_TRIGGER_POST,
|
||||
},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
SND_SOC_DAILINK_REG(capture9),
|
||||
},
|
||||
[DAI_LINK_UL10_FE] = {
|
||||
@@ -1112,14 +1112,14 @@ static struct snd_soc_dai_link mt8188_mt6359_dai_links[] = {
|
||||
SND_SOC_DPCM_TRIGGER_POST,
|
||||
},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
SND_SOC_DAILINK_REG(capture10),
|
||||
},
|
||||
/* BE */
|
||||
[DAI_LINK_DL_SRC_BE] = {
|
||||
.name = "DL_SRC_BE",
|
||||
.no_pcm = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
SND_SOC_DAILINK_REG(dl_src),
|
||||
},
|
||||
[DAI_LINK_DPTX_BE] = {
|
||||
@@ -1127,7 +1127,7 @@ static struct snd_soc_dai_link mt8188_mt6359_dai_links[] = {
|
||||
.ops = &mt8188_dptx_ops,
|
||||
.be_hw_params_fixup = mt8188_dptx_hw_params_fixup,
|
||||
.no_pcm = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
SND_SOC_DAILINK_REG(dptx),
|
||||
},
|
||||
[DAI_LINK_ETDM1_IN_BE] = {
|
||||
@@ -1136,7 +1136,7 @@ static struct snd_soc_dai_link mt8188_mt6359_dai_links[] = {
|
||||
.dai_fmt = SND_SOC_DAIFMT_I2S |
|
||||
SND_SOC_DAIFMT_NB_NF |
|
||||
SND_SOC_DAIFMT_CBP_CFP,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.ignore_suspend = 1,
|
||||
SND_SOC_DAILINK_REG(etdm1_in),
|
||||
},
|
||||
@@ -1146,7 +1146,7 @@ static struct snd_soc_dai_link mt8188_mt6359_dai_links[] = {
|
||||
.dai_fmt = SND_SOC_DAIFMT_I2S |
|
||||
SND_SOC_DAIFMT_NB_NF |
|
||||
SND_SOC_DAIFMT_CBP_CFP,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
SND_SOC_DAILINK_REG(etdm2_in),
|
||||
},
|
||||
[DAI_LINK_ETDM1_OUT_BE] = {
|
||||
@@ -1155,7 +1155,7 @@ static struct snd_soc_dai_link mt8188_mt6359_dai_links[] = {
|
||||
.dai_fmt = SND_SOC_DAIFMT_I2S |
|
||||
SND_SOC_DAIFMT_NB_NF |
|
||||
SND_SOC_DAIFMT_CBC_CFC,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
SND_SOC_DAILINK_REG(etdm1_out),
|
||||
},
|
||||
[DAI_LINK_ETDM2_OUT_BE] = {
|
||||
@@ -1164,7 +1164,7 @@ static struct snd_soc_dai_link mt8188_mt6359_dai_links[] = {
|
||||
.dai_fmt = SND_SOC_DAIFMT_I2S |
|
||||
SND_SOC_DAIFMT_NB_NF |
|
||||
SND_SOC_DAIFMT_CBC_CFC,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
SND_SOC_DAILINK_REG(etdm2_out),
|
||||
},
|
||||
[DAI_LINK_ETDM3_OUT_BE] = {
|
||||
@@ -1173,7 +1173,7 @@ static struct snd_soc_dai_link mt8188_mt6359_dai_links[] = {
|
||||
.dai_fmt = SND_SOC_DAIFMT_I2S |
|
||||
SND_SOC_DAIFMT_NB_NF |
|
||||
SND_SOC_DAIFMT_CBC_CFC,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
SND_SOC_DAILINK_REG(etdm3_out),
|
||||
},
|
||||
[DAI_LINK_PCM1_BE] = {
|
||||
@@ -1182,14 +1182,12 @@ static struct snd_soc_dai_link mt8188_mt6359_dai_links[] = {
|
||||
.dai_fmt = SND_SOC_DAIFMT_I2S |
|
||||
SND_SOC_DAIFMT_NB_NF |
|
||||
SND_SOC_DAIFMT_CBC_CFC,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
SND_SOC_DAILINK_REG(pcm1),
|
||||
},
|
||||
[DAI_LINK_UL_SRC_BE] = {
|
||||
.name = "UL_SRC_BE",
|
||||
.no_pcm = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
SND_SOC_DAILINK_REG(ul_src),
|
||||
},
|
||||
|
||||
@@ -1197,28 +1195,28 @@ static struct snd_soc_dai_link mt8188_mt6359_dai_links[] = {
|
||||
[DAI_LINK_SOF_DL2_BE] = {
|
||||
.name = "AFE_SOF_DL2",
|
||||
.no_pcm = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.ops = &mt8188_sof_be_ops,
|
||||
SND_SOC_DAILINK_REG(AFE_SOF_DL2),
|
||||
},
|
||||
[DAI_LINK_SOF_DL3_BE] = {
|
||||
.name = "AFE_SOF_DL3",
|
||||
.no_pcm = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.ops = &mt8188_sof_be_ops,
|
||||
SND_SOC_DAILINK_REG(AFE_SOF_DL3),
|
||||
},
|
||||
[DAI_LINK_SOF_UL4_BE] = {
|
||||
.name = "AFE_SOF_UL4",
|
||||
.no_pcm = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.ops = &mt8188_sof_be_ops,
|
||||
SND_SOC_DAILINK_REG(AFE_SOF_UL4),
|
||||
},
|
||||
[DAI_LINK_SOF_UL5_BE] = {
|
||||
.name = "AFE_SOF_UL5",
|
||||
.no_pcm = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.ops = &mt8188_sof_be_ops,
|
||||
SND_SOC_DAILINK_REG(AFE_SOF_UL5),
|
||||
},
|
||||
|
||||
@@ -598,7 +598,7 @@ static struct snd_soc_dai_link mt8192_mt6359_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
SND_SOC_DAILINK_REG(playback1),
|
||||
},
|
||||
{
|
||||
@@ -607,7 +607,7 @@ static struct snd_soc_dai_link mt8192_mt6359_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
SND_SOC_DAILINK_REG(playback12),
|
||||
},
|
||||
{
|
||||
@@ -616,7 +616,7 @@ static struct snd_soc_dai_link mt8192_mt6359_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
SND_SOC_DAILINK_REG(playback2),
|
||||
},
|
||||
{
|
||||
@@ -625,7 +625,7 @@ static struct snd_soc_dai_link mt8192_mt6359_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.ops = &mtk_soundcard_common_playback_ops,
|
||||
SND_SOC_DAILINK_REG(playback3),
|
||||
},
|
||||
@@ -635,7 +635,7 @@ static struct snd_soc_dai_link mt8192_mt6359_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
SND_SOC_DAILINK_REG(playback4),
|
||||
},
|
||||
{
|
||||
@@ -644,7 +644,7 @@ static struct snd_soc_dai_link mt8192_mt6359_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
SND_SOC_DAILINK_REG(playback5),
|
||||
},
|
||||
{
|
||||
@@ -653,7 +653,7 @@ static struct snd_soc_dai_link mt8192_mt6359_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
SND_SOC_DAILINK_REG(playback6),
|
||||
},
|
||||
{
|
||||
@@ -662,7 +662,7 @@ static struct snd_soc_dai_link mt8192_mt6359_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
SND_SOC_DAILINK_REG(playback7),
|
||||
},
|
||||
{
|
||||
@@ -671,7 +671,7 @@ static struct snd_soc_dai_link mt8192_mt6359_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
SND_SOC_DAILINK_REG(playback8),
|
||||
},
|
||||
{
|
||||
@@ -680,7 +680,7 @@ static struct snd_soc_dai_link mt8192_mt6359_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
SND_SOC_DAILINK_REG(playback9),
|
||||
},
|
||||
{
|
||||
@@ -689,7 +689,7 @@ static struct snd_soc_dai_link mt8192_mt6359_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.ops = &mtk_soundcard_common_capture_ops,
|
||||
SND_SOC_DAILINK_REG(capture1),
|
||||
},
|
||||
@@ -699,7 +699,7 @@ static struct snd_soc_dai_link mt8192_mt6359_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.ops = &mtk_soundcard_common_playback_ops,
|
||||
SND_SOC_DAILINK_REG(capture2),
|
||||
},
|
||||
@@ -709,7 +709,7 @@ static struct snd_soc_dai_link mt8192_mt6359_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
SND_SOC_DAILINK_REG(capture3),
|
||||
},
|
||||
{
|
||||
@@ -718,7 +718,7 @@ static struct snd_soc_dai_link mt8192_mt6359_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
SND_SOC_DAILINK_REG(capture4),
|
||||
},
|
||||
{
|
||||
@@ -727,7 +727,7 @@ static struct snd_soc_dai_link mt8192_mt6359_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
SND_SOC_DAILINK_REG(capture5),
|
||||
},
|
||||
{
|
||||
@@ -736,7 +736,7 @@ static struct snd_soc_dai_link mt8192_mt6359_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
SND_SOC_DAILINK_REG(capture6),
|
||||
},
|
||||
{
|
||||
@@ -745,7 +745,7 @@ static struct snd_soc_dai_link mt8192_mt6359_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
SND_SOC_DAILINK_REG(capture7),
|
||||
},
|
||||
{
|
||||
@@ -754,7 +754,7 @@ static struct snd_soc_dai_link mt8192_mt6359_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
SND_SOC_DAILINK_REG(capture8),
|
||||
},
|
||||
{
|
||||
@@ -763,7 +763,7 @@ static struct snd_soc_dai_link mt8192_mt6359_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
SND_SOC_DAILINK_REG(capture_mono1),
|
||||
},
|
||||
{
|
||||
@@ -772,7 +772,7 @@ static struct snd_soc_dai_link mt8192_mt6359_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
SND_SOC_DAILINK_REG(capture_mono2),
|
||||
},
|
||||
{
|
||||
@@ -781,7 +781,7 @@ static struct snd_soc_dai_link mt8192_mt6359_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
SND_SOC_DAILINK_REG(capture_mono3),
|
||||
},
|
||||
{
|
||||
@@ -790,15 +790,13 @@ static struct snd_soc_dai_link mt8192_mt6359_dai_links[] = {
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_PRE,
|
||||
SND_SOC_DPCM_TRIGGER_PRE},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
SND_SOC_DAILINK_REG(playback_hdmi),
|
||||
},
|
||||
/* Back End DAI links */
|
||||
{
|
||||
.name = "Primary Codec",
|
||||
.no_pcm = 1,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.ignore_suspend = 1,
|
||||
.init = mt8192_mt6359_init,
|
||||
SND_SOC_DAILINK_REG(primary_codec),
|
||||
@@ -806,29 +804,27 @@ static struct snd_soc_dai_link mt8192_mt6359_dai_links[] = {
|
||||
{
|
||||
.name = "Primary Codec CH34",
|
||||
.no_pcm = 1,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.ignore_suspend = 1,
|
||||
SND_SOC_DAILINK_REG(primary_codec_ch34),
|
||||
},
|
||||
{
|
||||
.name = "AP_DMIC",
|
||||
.no_pcm = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.ignore_suspend = 1,
|
||||
SND_SOC_DAILINK_REG(ap_dmic),
|
||||
},
|
||||
{
|
||||
.name = "AP_DMIC_CH34",
|
||||
.no_pcm = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.ignore_suspend = 1,
|
||||
SND_SOC_DAILINK_REG(ap_dmic_ch34),
|
||||
},
|
||||
{
|
||||
.name = "I2S0",
|
||||
.no_pcm = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.ignore_suspend = 1,
|
||||
.be_hw_params_fixup = mt8192_i2s_hw_params_fixup,
|
||||
SND_SOC_DAILINK_REG(i2s0),
|
||||
@@ -836,7 +832,7 @@ static struct snd_soc_dai_link mt8192_mt6359_dai_links[] = {
|
||||
{
|
||||
.name = "I2S1",
|
||||
.no_pcm = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.ignore_suspend = 1,
|
||||
.be_hw_params_fixup = mt8192_i2s_hw_params_fixup,
|
||||
SND_SOC_DAILINK_REG(i2s1),
|
||||
@@ -844,7 +840,7 @@ static struct snd_soc_dai_link mt8192_mt6359_dai_links[] = {
|
||||
{
|
||||
.name = "I2S2",
|
||||
.no_pcm = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.ignore_suspend = 1,
|
||||
.be_hw_params_fixup = mt8192_i2s_hw_params_fixup,
|
||||
SND_SOC_DAILINK_REG(i2s2),
|
||||
@@ -852,7 +848,7 @@ static struct snd_soc_dai_link mt8192_mt6359_dai_links[] = {
|
||||
{
|
||||
.name = "I2S3",
|
||||
.no_pcm = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.ignore_suspend = 1,
|
||||
.be_hw_params_fixup = mt8192_i2s_hw_params_fixup,
|
||||
SND_SOC_DAILINK_REG(i2s3),
|
||||
@@ -860,7 +856,7 @@ static struct snd_soc_dai_link mt8192_mt6359_dai_links[] = {
|
||||
{
|
||||
.name = "I2S5",
|
||||
.no_pcm = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.ignore_suspend = 1,
|
||||
.be_hw_params_fixup = mt8192_i2s_hw_params_fixup,
|
||||
SND_SOC_DAILINK_REG(i2s5),
|
||||
@@ -868,7 +864,7 @@ static struct snd_soc_dai_link mt8192_mt6359_dai_links[] = {
|
||||
{
|
||||
.name = "I2S6",
|
||||
.no_pcm = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.ignore_suspend = 1,
|
||||
.be_hw_params_fixup = mt8192_i2s_hw_params_fixup,
|
||||
SND_SOC_DAILINK_REG(i2s6),
|
||||
@@ -876,7 +872,7 @@ static struct snd_soc_dai_link mt8192_mt6359_dai_links[] = {
|
||||
{
|
||||
.name = "I2S7",
|
||||
.no_pcm = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.ignore_suspend = 1,
|
||||
.be_hw_params_fixup = mt8192_i2s_hw_params_fixup,
|
||||
SND_SOC_DAILINK_REG(i2s7),
|
||||
@@ -884,7 +880,7 @@ static struct snd_soc_dai_link mt8192_mt6359_dai_links[] = {
|
||||
{
|
||||
.name = "I2S8",
|
||||
.no_pcm = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.ignore_suspend = 1,
|
||||
.init = mt8192_rt5682_init,
|
||||
.be_hw_params_fixup = mt8192_i2s_hw_params_fixup,
|
||||
@@ -894,7 +890,7 @@ static struct snd_soc_dai_link mt8192_mt6359_dai_links[] = {
|
||||
{
|
||||
.name = "I2S9",
|
||||
.no_pcm = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.ignore_suspend = 1,
|
||||
.be_hw_params_fixup = mt8192_i2s_hw_params_fixup,
|
||||
SND_SOC_DAILINK_REG(i2s9),
|
||||
@@ -903,23 +899,19 @@ static struct snd_soc_dai_link mt8192_mt6359_dai_links[] = {
|
||||
{
|
||||
.name = "CONNSYS_I2S",
|
||||
.no_pcm = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.ignore_suspend = 1,
|
||||
SND_SOC_DAILINK_REG(connsys_i2s),
|
||||
},
|
||||
{
|
||||
.name = "PCM 1",
|
||||
.no_pcm = 1,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.ignore_suspend = 1,
|
||||
SND_SOC_DAILINK_REG(pcm1),
|
||||
},
|
||||
{
|
||||
.name = "PCM 2",
|
||||
.no_pcm = 1,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.ignore_suspend = 1,
|
||||
SND_SOC_DAILINK_REG(pcm2),
|
||||
},
|
||||
@@ -929,7 +921,7 @@ static struct snd_soc_dai_link mt8192_mt6359_dai_links[] = {
|
||||
.dai_fmt = SND_SOC_DAIFMT_DSP_A |
|
||||
SND_SOC_DAIFMT_IB_NF |
|
||||
SND_SOC_DAIFMT_CBM_CFM,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.ignore_suspend = 1,
|
||||
.be_hw_params_fixup = mt8192_i2s_hw_params_fixup,
|
||||
.ignore = 1,
|
||||
|
||||
@@ -913,7 +913,7 @@ static struct snd_soc_dai_link mt8195_mt6359_dai_links[] = {
|
||||
SND_SOC_DPCM_TRIGGER_POST,
|
||||
},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.ops = &mtk_soundcard_common_playback_ops,
|
||||
SND_SOC_DAILINK_REG(DL2_FE),
|
||||
},
|
||||
@@ -925,7 +925,7 @@ static struct snd_soc_dai_link mt8195_mt6359_dai_links[] = {
|
||||
SND_SOC_DPCM_TRIGGER_POST,
|
||||
},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.ops = &mtk_soundcard_common_playback_ops,
|
||||
SND_SOC_DAILINK_REG(DL3_FE),
|
||||
},
|
||||
@@ -937,7 +937,7 @@ static struct snd_soc_dai_link mt8195_mt6359_dai_links[] = {
|
||||
SND_SOC_DPCM_TRIGGER_POST,
|
||||
},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.ops = &mtk_soundcard_common_playback_ops,
|
||||
SND_SOC_DAILINK_REG(DL6_FE),
|
||||
},
|
||||
@@ -949,7 +949,7 @@ static struct snd_soc_dai_link mt8195_mt6359_dai_links[] = {
|
||||
SND_SOC_DPCM_TRIGGER_PRE,
|
||||
},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
SND_SOC_DAILINK_REG(DL7_FE),
|
||||
},
|
||||
[DAI_LINK_DL8_FE] = {
|
||||
@@ -960,7 +960,7 @@ static struct snd_soc_dai_link mt8195_mt6359_dai_links[] = {
|
||||
SND_SOC_DPCM_TRIGGER_POST,
|
||||
},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.ops = &mtk_soundcard_common_playback_ops,
|
||||
SND_SOC_DAILINK_REG(DL8_FE),
|
||||
},
|
||||
@@ -972,7 +972,7 @@ static struct snd_soc_dai_link mt8195_mt6359_dai_links[] = {
|
||||
SND_SOC_DPCM_TRIGGER_POST,
|
||||
},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.ops = &mt8195_hdmitx_dptx_playback_ops,
|
||||
SND_SOC_DAILINK_REG(DL10_FE),
|
||||
},
|
||||
@@ -984,7 +984,7 @@ static struct snd_soc_dai_link mt8195_mt6359_dai_links[] = {
|
||||
SND_SOC_DPCM_TRIGGER_POST,
|
||||
},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.ops = &mtk_soundcard_common_playback_ops,
|
||||
SND_SOC_DAILINK_REG(DL11_FE),
|
||||
},
|
||||
@@ -996,7 +996,7 @@ static struct snd_soc_dai_link mt8195_mt6359_dai_links[] = {
|
||||
SND_SOC_DPCM_TRIGGER_PRE,
|
||||
},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
SND_SOC_DAILINK_REG(UL1_FE),
|
||||
},
|
||||
[DAI_LINK_UL2_FE] = {
|
||||
@@ -1007,7 +1007,7 @@ static struct snd_soc_dai_link mt8195_mt6359_dai_links[] = {
|
||||
SND_SOC_DPCM_TRIGGER_POST,
|
||||
},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.ops = &mtk_soundcard_common_capture_ops,
|
||||
SND_SOC_DAILINK_REG(UL2_FE),
|
||||
},
|
||||
@@ -1019,7 +1019,7 @@ static struct snd_soc_dai_link mt8195_mt6359_dai_links[] = {
|
||||
SND_SOC_DPCM_TRIGGER_POST,
|
||||
},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.ops = &mtk_soundcard_common_capture_ops,
|
||||
SND_SOC_DAILINK_REG(UL3_FE),
|
||||
},
|
||||
@@ -1031,7 +1031,7 @@ static struct snd_soc_dai_link mt8195_mt6359_dai_links[] = {
|
||||
SND_SOC_DPCM_TRIGGER_POST,
|
||||
},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.ops = &mtk_soundcard_common_capture_ops,
|
||||
SND_SOC_DAILINK_REG(UL4_FE),
|
||||
},
|
||||
@@ -1043,7 +1043,7 @@ static struct snd_soc_dai_link mt8195_mt6359_dai_links[] = {
|
||||
SND_SOC_DPCM_TRIGGER_POST,
|
||||
},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.ops = &mtk_soundcard_common_capture_ops,
|
||||
SND_SOC_DAILINK_REG(UL5_FE),
|
||||
},
|
||||
@@ -1055,7 +1055,7 @@ static struct snd_soc_dai_link mt8195_mt6359_dai_links[] = {
|
||||
SND_SOC_DPCM_TRIGGER_PRE,
|
||||
},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
SND_SOC_DAILINK_REG(UL6_FE),
|
||||
},
|
||||
[DAI_LINK_UL8_FE] = {
|
||||
@@ -1066,7 +1066,7 @@ static struct snd_soc_dai_link mt8195_mt6359_dai_links[] = {
|
||||
SND_SOC_DPCM_TRIGGER_POST,
|
||||
},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.ops = &mtk_soundcard_common_capture_ops,
|
||||
SND_SOC_DAILINK_REG(UL8_FE),
|
||||
},
|
||||
@@ -1078,7 +1078,7 @@ static struct snd_soc_dai_link mt8195_mt6359_dai_links[] = {
|
||||
SND_SOC_DPCM_TRIGGER_POST,
|
||||
},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.ops = &mtk_soundcard_common_capture_ops,
|
||||
SND_SOC_DAILINK_REG(UL9_FE),
|
||||
},
|
||||
@@ -1090,7 +1090,7 @@ static struct snd_soc_dai_link mt8195_mt6359_dai_links[] = {
|
||||
SND_SOC_DPCM_TRIGGER_POST,
|
||||
},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.ops = &mtk_soundcard_common_capture_ops,
|
||||
SND_SOC_DAILINK_REG(UL10_FE),
|
||||
},
|
||||
@@ -1098,13 +1098,13 @@ static struct snd_soc_dai_link mt8195_mt6359_dai_links[] = {
|
||||
[DAI_LINK_DL_SRC_BE] = {
|
||||
.name = "DL_SRC_BE",
|
||||
.no_pcm = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
SND_SOC_DAILINK_REG(DL_SRC_BE),
|
||||
},
|
||||
[DAI_LINK_DPTX_BE] = {
|
||||
.name = "DPTX_BE",
|
||||
.no_pcm = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.ops = &mt8195_dptx_ops,
|
||||
.be_hw_params_fixup = mt8195_dptx_hw_params_fixup,
|
||||
SND_SOC_DAILINK_REG(DPTX_BE),
|
||||
@@ -1115,7 +1115,7 @@ static struct snd_soc_dai_link mt8195_mt6359_dai_links[] = {
|
||||
.dai_fmt = SND_SOC_DAIFMT_I2S |
|
||||
SND_SOC_DAIFMT_NB_NF |
|
||||
SND_SOC_DAIFMT_CBS_CFS,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
SND_SOC_DAILINK_REG(ETDM1_IN_BE),
|
||||
},
|
||||
[DAI_LINK_ETDM2_IN_BE] = {
|
||||
@@ -1124,7 +1124,7 @@ static struct snd_soc_dai_link mt8195_mt6359_dai_links[] = {
|
||||
.dai_fmt = SND_SOC_DAIFMT_I2S |
|
||||
SND_SOC_DAIFMT_NB_NF |
|
||||
SND_SOC_DAIFMT_CBS_CFS,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.be_hw_params_fixup = mt8195_etdm_hw_params_fixup,
|
||||
SND_SOC_DAILINK_REG(ETDM2_IN_BE),
|
||||
},
|
||||
@@ -1134,7 +1134,7 @@ static struct snd_soc_dai_link mt8195_mt6359_dai_links[] = {
|
||||
.dai_fmt = SND_SOC_DAIFMT_I2S |
|
||||
SND_SOC_DAIFMT_NB_NF |
|
||||
SND_SOC_DAIFMT_CBS_CFS,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.be_hw_params_fixup = mt8195_etdm_hw_params_fixup,
|
||||
SND_SOC_DAILINK_REG(ETDM1_OUT_BE),
|
||||
},
|
||||
@@ -1144,7 +1144,7 @@ static struct snd_soc_dai_link mt8195_mt6359_dai_links[] = {
|
||||
.dai_fmt = SND_SOC_DAIFMT_I2S |
|
||||
SND_SOC_DAIFMT_NB_NF |
|
||||
SND_SOC_DAIFMT_CBS_CFS,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
SND_SOC_DAILINK_REG(ETDM2_OUT_BE),
|
||||
},
|
||||
[DAI_LINK_ETDM3_OUT_BE] = {
|
||||
@@ -1153,7 +1153,7 @@ static struct snd_soc_dai_link mt8195_mt6359_dai_links[] = {
|
||||
.dai_fmt = SND_SOC_DAIFMT_I2S |
|
||||
SND_SOC_DAIFMT_NB_NF |
|
||||
SND_SOC_DAIFMT_CBS_CFS,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
SND_SOC_DAILINK_REG(ETDM3_OUT_BE),
|
||||
},
|
||||
[DAI_LINK_PCM1_BE] = {
|
||||
@@ -1162,48 +1162,46 @@ static struct snd_soc_dai_link mt8195_mt6359_dai_links[] = {
|
||||
.dai_fmt = SND_SOC_DAIFMT_I2S |
|
||||
SND_SOC_DAIFMT_NB_NF |
|
||||
SND_SOC_DAIFMT_CBS_CFS,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
SND_SOC_DAILINK_REG(PCM1_BE),
|
||||
},
|
||||
[DAI_LINK_UL_SRC1_BE] = {
|
||||
.name = "UL_SRC1_BE",
|
||||
.no_pcm = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
SND_SOC_DAILINK_REG(UL_SRC1_BE),
|
||||
},
|
||||
[DAI_LINK_UL_SRC2_BE] = {
|
||||
.name = "UL_SRC2_BE",
|
||||
.no_pcm = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
SND_SOC_DAILINK_REG(UL_SRC2_BE),
|
||||
},
|
||||
/* SOF BE */
|
||||
[DAI_LINK_SOF_DL2_BE] = {
|
||||
.name = "AFE_SOF_DL2",
|
||||
.no_pcm = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.ops = &mt8195_sof_be_ops,
|
||||
SND_SOC_DAILINK_REG(AFE_SOF_DL2),
|
||||
},
|
||||
[DAI_LINK_SOF_DL3_BE] = {
|
||||
.name = "AFE_SOF_DL3",
|
||||
.no_pcm = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.ops = &mt8195_sof_be_ops,
|
||||
SND_SOC_DAILINK_REG(AFE_SOF_DL3),
|
||||
},
|
||||
[DAI_LINK_SOF_UL4_BE] = {
|
||||
.name = "AFE_SOF_UL4",
|
||||
.no_pcm = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.ops = &mt8195_sof_be_ops,
|
||||
SND_SOC_DAILINK_REG(AFE_SOF_UL4),
|
||||
},
|
||||
[DAI_LINK_SOF_UL5_BE] = {
|
||||
.name = "AFE_SOF_UL5",
|
||||
.no_pcm = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.ops = &mt8195_sof_be_ops,
|
||||
SND_SOC_DAILINK_REG(AFE_SOF_UL5),
|
||||
},
|
||||
|
||||
@@ -168,7 +168,7 @@ static struct snd_soc_dai_link mt8365_mt6357_dais[] = {
|
||||
SND_SOC_DPCM_TRIGGER_POST
|
||||
},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.dpcm_merged_rate = 1,
|
||||
SND_SOC_DAILINK_REG(playback1),
|
||||
},
|
||||
@@ -181,7 +181,7 @@ static struct snd_soc_dai_link mt8365_mt6357_dais[] = {
|
||||
SND_SOC_DPCM_TRIGGER_POST
|
||||
},
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.dpcm_merged_rate = 1,
|
||||
SND_SOC_DAILINK_REG(playback2),
|
||||
},
|
||||
@@ -194,7 +194,7 @@ static struct snd_soc_dai_link mt8365_mt6357_dais[] = {
|
||||
SND_SOC_DPCM_TRIGGER_POST
|
||||
},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.dpcm_merged_rate = 1,
|
||||
SND_SOC_DAILINK_REG(awb_capture),
|
||||
},
|
||||
@@ -207,7 +207,7 @@ static struct snd_soc_dai_link mt8365_mt6357_dais[] = {
|
||||
SND_SOC_DPCM_TRIGGER_POST
|
||||
},
|
||||
.dynamic = 1,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
.dpcm_merged_rate = 1,
|
||||
SND_SOC_DAILINK_REG(vul),
|
||||
},
|
||||
@@ -219,23 +219,19 @@ static struct snd_soc_dai_link mt8365_mt6357_dais[] = {
|
||||
.dai_fmt = SND_SOC_DAIFMT_I2S |
|
||||
SND_SOC_DAIFMT_NB_NF |
|
||||
SND_SOC_DAIFMT_CBS_CFS,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
SND_SOC_DAILINK_REG(i2s3),
|
||||
},
|
||||
[DAI_LINK_DMIC] = {
|
||||
.name = "DMIC_BE",
|
||||
.no_pcm = 1,
|
||||
.id = DAI_LINK_DMIC,
|
||||
.dpcm_capture = 1,
|
||||
.capture_only = 1,
|
||||
SND_SOC_DAILINK_REG(dmic),
|
||||
},
|
||||
[DAI_LINK_INT_ADDA] = {
|
||||
.name = "MTK_Codec",
|
||||
.no_pcm = 1,
|
||||
.id = DAI_LINK_INT_ADDA,
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
.ops = &mt8365_mt6357_int_adda_ops,
|
||||
SND_SOC_DAILINK_REG(primary_codec),
|
||||
},
|
||||
|
||||
@@ -171,25 +171,24 @@ static struct snd_soc_dai_link odroid_card_dais[] = {
|
||||
.name = "Primary",
|
||||
.stream_name = "Primary",
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
SND_SOC_DAILINK_REG(primary),
|
||||
}, {
|
||||
/* BE <-> CODECs link */
|
||||
.name = "I2S Mixer",
|
||||
.ops = &odroid_card_be_ops,
|
||||
.no_pcm = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
.dai_fmt = SND_SOC_DAIFMT_I2S | SND_SOC_DAIFMT_NB_NF |
|
||||
SND_SOC_DAIFMT_CBS_CFS,
|
||||
SND_SOC_DAILINK_REG(mixer),
|
||||
}, {
|
||||
/* Secondary FE <-> BE link */
|
||||
.playback_only = 1,
|
||||
.ops = &odroid_card_fe_ops,
|
||||
.name = "Secondary",
|
||||
.stream_name = "Secondary",
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 1,
|
||||
.playback_only = 1,
|
||||
SND_SOC_DAILINK_REG(secondary),
|
||||
}
|
||||
};
|
||||
@@ -278,8 +277,8 @@ static int odroid_audio_probe(struct platform_device *pdev)
|
||||
|
||||
/* Set capture capability only for boards with the MAX98090 CODEC */
|
||||
if (codec_link->num_codecs > 1) {
|
||||
card->dai_link[0].dpcm_capture = 1;
|
||||
card->dai_link[1].dpcm_capture = 1;
|
||||
card->dai_link[0].playback_only = 0;
|
||||
card->dai_link[1].playback_only = 0;
|
||||
}
|
||||
|
||||
priv->sclk_i2s = of_clk_get_by_name(cpu_dai, "i2s_opclk1");
|
||||
|
||||
@@ -606,12 +606,19 @@ int snd_soc_new_compress(struct snd_soc_pcm_runtime *rtd, int num)
|
||||
return -ENOMEM;
|
||||
|
||||
if (rtd->dai_link->dynamic) {
|
||||
int playback = 1;
|
||||
int capture = 1;
|
||||
|
||||
if (rtd->dai_link->capture_only)
|
||||
playback = 0;
|
||||
if (rtd->dai_link->playback_only)
|
||||
capture = 0;
|
||||
|
||||
snprintf(new_name, sizeof(new_name), "(%s)",
|
||||
rtd->dai_link->stream_name);
|
||||
|
||||
ret = snd_pcm_new_internal(rtd->card->snd_card, new_name, num,
|
||||
rtd->dai_link->dpcm_playback,
|
||||
rtd->dai_link->dpcm_capture, &be_pcm);
|
||||
playback, capture, &be_pcm);
|
||||
if (ret < 0) {
|
||||
dev_err(rtd->card->dev,
|
||||
"Compress ASoC: can't create compressed for %s: %d\n",
|
||||
@@ -624,9 +631,9 @@ int snd_soc_new_compress(struct snd_soc_pcm_runtime *rtd, int num)
|
||||
|
||||
rtd->pcm = be_pcm;
|
||||
rtd->fe_compr = 1;
|
||||
if (rtd->dai_link->dpcm_playback)
|
||||
if (playback)
|
||||
be_pcm->streams[SNDRV_PCM_STREAM_PLAYBACK].substream->private_data = rtd;
|
||||
if (rtd->dai_link->dpcm_capture)
|
||||
if (capture)
|
||||
be_pcm->streams[SNDRV_PCM_STREAM_CAPTURE].substream->private_data = rtd;
|
||||
memcpy(compr->ops, &soc_compr_dyn_ops, sizeof(soc_compr_dyn_ops));
|
||||
} else {
|
||||
|
||||
@@ -1999,25 +1999,7 @@ static void soc_check_tplg_fes(struct snd_soc_card *card)
|
||||
dai_link->platforms->name = component->name;
|
||||
|
||||
/* convert non BE into BE */
|
||||
if (!dai_link->no_pcm) {
|
||||
dai_link->no_pcm = 1;
|
||||
|
||||
if (dai_link->dpcm_playback)
|
||||
dev_warn(card->dev,
|
||||
"invalid configuration, dailink %s has flags no_pcm=0 and dpcm_playback=1\n",
|
||||
dai_link->name);
|
||||
if (dai_link->dpcm_capture)
|
||||
dev_warn(card->dev,
|
||||
"invalid configuration, dailink %s has flags no_pcm=0 and dpcm_capture=1\n",
|
||||
dai_link->name);
|
||||
|
||||
/* convert normal link into DPCM one */
|
||||
if (!(dai_link->dpcm_playback ||
|
||||
dai_link->dpcm_capture)) {
|
||||
dai_link->dpcm_playback = !dai_link->capture_only;
|
||||
dai_link->dpcm_capture = !dai_link->playback_only;
|
||||
}
|
||||
}
|
||||
dai_link->no_pcm = 1;
|
||||
|
||||
/*
|
||||
* override any BE fixups
|
||||
|
||||
@@ -2822,7 +2822,11 @@ static int soc_get_playback_capture(struct snd_soc_pcm_runtime *rtd,
|
||||
{
|
||||
struct snd_soc_dai_link *dai_link = rtd->dai_link;
|
||||
struct snd_soc_dai *cpu_dai;
|
||||
struct snd_soc_dai *codec_dai;
|
||||
struct snd_soc_dai_link_ch_map *ch_maps;
|
||||
struct snd_soc_dai *dummy_dai = snd_soc_find_dai(&snd_soc_dummy_dlc);
|
||||
int cpu_capture;
|
||||
int cpu_playback;
|
||||
int has_playback = 0;
|
||||
int has_capture = 0;
|
||||
int i;
|
||||
@@ -2832,73 +2836,38 @@ static int soc_get_playback_capture(struct snd_soc_pcm_runtime *rtd,
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (dai_link->dynamic || dai_link->no_pcm) {
|
||||
/* Adapt stream for codec2codec links */
|
||||
cpu_capture = snd_soc_get_stream_cpu(dai_link, SNDRV_PCM_STREAM_CAPTURE);
|
||||
cpu_playback = snd_soc_get_stream_cpu(dai_link, SNDRV_PCM_STREAM_PLAYBACK);
|
||||
|
||||
for_each_rtd_ch_maps(rtd, i, ch_maps) {
|
||||
cpu_dai = snd_soc_rtd_to_cpu(rtd, ch_maps->cpu);
|
||||
|
||||
if (snd_soc_dai_stream_valid(cpu_dai, SNDRV_PCM_STREAM_PLAYBACK))
|
||||
has_playback = 1;
|
||||
|
||||
if (snd_soc_dai_stream_valid(cpu_dai, SNDRV_PCM_STREAM_CAPTURE))
|
||||
has_capture = 1;
|
||||
}
|
||||
/*
|
||||
* see
|
||||
* soc.h :: [dai_link->ch_maps Image sample]
|
||||
*/
|
||||
for_each_rtd_ch_maps(rtd, i, ch_maps) {
|
||||
cpu_dai = snd_soc_rtd_to_cpu(rtd, ch_maps->cpu);
|
||||
codec_dai = snd_soc_rtd_to_codec(rtd, ch_maps->codec);
|
||||
|
||||
/*
|
||||
* REMOVE ME
|
||||
* FIXME
|
||||
*
|
||||
* dpcm_xxx flag will be removed soon, Indicates warning if dpcm_xxx flag was used
|
||||
* as availability limitation
|
||||
* DPCM Codec has been no checked before.
|
||||
* It should be checked, but it breaks compatibility.
|
||||
*
|
||||
* For example there is a case that CPU have loopback capabilities which is used
|
||||
* for tests on boards where the Codec has no capture capabilities. In this case,
|
||||
* Codec capture validation check will be fail, but system should allow capture
|
||||
* capabilities. We have no solution for it today.
|
||||
*/
|
||||
if (has_playback && has_capture) {
|
||||
if ( dai_link->dpcm_playback &&
|
||||
!dai_link->dpcm_capture &&
|
||||
!dai_link->playback_only) {
|
||||
dev_warn(rtd->card->dev,
|
||||
"both playback/capture are available,"
|
||||
" but not using playback_only flag (%s)\n",
|
||||
dai_link->stream_name);
|
||||
dev_warn(rtd->card->dev,
|
||||
"dpcm_playback/capture are no longer needed,"
|
||||
" please use playback/capture_only instead\n");
|
||||
has_capture = 0;
|
||||
}
|
||||
if (dai_link->dynamic || dai_link->no_pcm)
|
||||
codec_dai = dummy_dai;
|
||||
|
||||
if (!dai_link->dpcm_playback &&
|
||||
dai_link->dpcm_capture &&
|
||||
!dai_link->capture_only) {
|
||||
dev_warn(rtd->card->dev,
|
||||
"both playback/capture are available,"
|
||||
" but not using capture_only flag (%s)\n",
|
||||
dai_link->stream_name);
|
||||
dev_warn(rtd->card->dev,
|
||||
"dpcm_playback/capture are no longer needed,"
|
||||
" please use playback/capture_only instead\n");
|
||||
has_playback = 0;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
struct snd_soc_dai *codec_dai;
|
||||
|
||||
/* Adapt stream for codec2codec links */
|
||||
int cpu_capture = snd_soc_get_stream_cpu(dai_link, SNDRV_PCM_STREAM_CAPTURE);
|
||||
int cpu_playback = snd_soc_get_stream_cpu(dai_link, SNDRV_PCM_STREAM_PLAYBACK);
|
||||
|
||||
/*
|
||||
* see
|
||||
* soc.h :: [dai_link->ch_maps Image sample]
|
||||
*/
|
||||
for_each_rtd_ch_maps(rtd, i, ch_maps) {
|
||||
cpu_dai = snd_soc_rtd_to_cpu(rtd, ch_maps->cpu);
|
||||
codec_dai = snd_soc_rtd_to_codec(rtd, ch_maps->codec);
|
||||
|
||||
if (snd_soc_dai_stream_valid(codec_dai, SNDRV_PCM_STREAM_PLAYBACK) &&
|
||||
snd_soc_dai_stream_valid(cpu_dai, cpu_playback))
|
||||
has_playback = 1;
|
||||
if (snd_soc_dai_stream_valid(codec_dai, SNDRV_PCM_STREAM_CAPTURE) &&
|
||||
snd_soc_dai_stream_valid(cpu_dai, cpu_capture))
|
||||
has_capture = 1;
|
||||
}
|
||||
if (snd_soc_dai_stream_valid(codec_dai, SNDRV_PCM_STREAM_PLAYBACK) &&
|
||||
snd_soc_dai_stream_valid(cpu_dai, cpu_playback))
|
||||
has_playback = 1;
|
||||
if (snd_soc_dai_stream_valid(codec_dai, SNDRV_PCM_STREAM_CAPTURE) &&
|
||||
snd_soc_dai_stream_valid(cpu_dai, cpu_capture))
|
||||
has_capture = 1;
|
||||
}
|
||||
|
||||
if (dai_link->playback_only)
|
||||
|
||||
@@ -88,8 +88,6 @@ static struct snd_soc_dai_link kunit_dai_links[] = {
|
||||
.nonatomic = 1,
|
||||
.dynamic = 1,
|
||||
.trigger = {SND_SOC_DPCM_TRIGGER_POST, SND_SOC_DPCM_TRIGGER_POST},
|
||||
.dpcm_playback = 1,
|
||||
.dpcm_capture = 1,
|
||||
SND_SOC_DAILINK_REG(dummy, dummy, platform),
|
||||
},
|
||||
};
|
||||
|
||||
@@ -1544,8 +1544,8 @@ static int soc_tplg_fe_link_create(struct soc_tplg *tplg,
|
||||
/* enable DPCM */
|
||||
link->dynamic = 1;
|
||||
link->ignore_pmdown_time = 1;
|
||||
link->dpcm_playback = le32_to_cpu(pcm->playback);
|
||||
link->dpcm_capture = le32_to_cpu(pcm->capture);
|
||||
link->playback_only = le32_to_cpu(pcm->playback) && !le32_to_cpu(pcm->capture);
|
||||
link->capture_only = !le32_to_cpu(pcm->playback) && le32_to_cpu(pcm->capture);
|
||||
if (pcm->flag_mask)
|
||||
set_link_flags(link,
|
||||
le32_to_cpu(pcm->flag_mask),
|
||||
|
||||
@@ -55,10 +55,9 @@ static int sof_nocodec_bes_setup(struct device *dev,
|
||||
links[i].no_pcm = 1;
|
||||
links[i].cpus->dai_name = drv[i].name;
|
||||
links[i].platforms->name = dev_name(dev->parent);
|
||||
if (drv[i].playback.channels_min)
|
||||
links[i].dpcm_playback = 1;
|
||||
if (drv[i].capture.channels_min)
|
||||
links[i].dpcm_capture = 1;
|
||||
|
||||
links[i].playback_only = drv[i].playback.channels_min && !drv[i].capture.channels_min;
|
||||
links[i].capture_only = !drv[i].playback.channels_min && drv[i].capture.channels_min;
|
||||
|
||||
links[i].be_hw_params_fixup = sof_pcm_dai_link_fixup;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user