Merge "ASoC: lahaina: add be dai link for DSD"
This commit is contained in:

committed by
Gerrit - the friendly Code Review server

commit
1ef7ff5ddb
@@ -387,6 +387,7 @@ enum {
|
|||||||
RX_MACRO_AIF3_PB,
|
RX_MACRO_AIF3_PB,
|
||||||
RX_MACRO_AIF4_PB,
|
RX_MACRO_AIF4_PB,
|
||||||
RX_MACRO_AIF_ECHO,
|
RX_MACRO_AIF_ECHO,
|
||||||
|
RX_MACRO_AIF5_PB,
|
||||||
RX_MACRO_AIF6_PB,
|
RX_MACRO_AIF6_PB,
|
||||||
RX_MACRO_MAX_DAIS,
|
RX_MACRO_MAX_DAIS,
|
||||||
};
|
};
|
||||||
@@ -719,6 +720,20 @@ static struct snd_soc_dai_driver rx_macro_dai[] = {
|
|||||||
},
|
},
|
||||||
.ops = &rx_macro_dai_ops,
|
.ops = &rx_macro_dai_ops,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
.name = "rx_macro_rx5",
|
||||||
|
.id = RX_MACRO_AIF5_PB,
|
||||||
|
.playback = {
|
||||||
|
.stream_name = "RX_MACRO_AIF5 Playback",
|
||||||
|
.rates = RX_MACRO_RATES | RX_MACRO_FRAC_RATES,
|
||||||
|
.formats = RX_MACRO_FORMATS,
|
||||||
|
.rate_max = 384000,
|
||||||
|
.rate_min = 8000,
|
||||||
|
.channels_min = 1,
|
||||||
|
.channels_max = 4,
|
||||||
|
},
|
||||||
|
.ops = &rx_macro_dai_ops,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
.name = "rx_macro_rx6",
|
.name = "rx_macro_rx6",
|
||||||
.id = RX_MACRO_AIF6_PB,
|
.id = RX_MACRO_AIF6_PB,
|
||||||
@@ -1138,6 +1153,13 @@ static int rx_macro_get_channel_map(struct snd_soc_dai *dai,
|
|||||||
"%s: dai->id:%d, ch_mask:0x%x, active_ch_cnt:%d active_mask: 0x%x\n",
|
"%s: dai->id:%d, ch_mask:0x%x, active_ch_cnt:%d active_mask: 0x%x\n",
|
||||||
__func__, dai->id, *rx_slot, *rx_num, rx_priv->active_ch_mask[dai->id]);
|
__func__, dai->id, *rx_slot, *rx_num, rx_priv->active_ch_mask[dai->id]);
|
||||||
break;
|
break;
|
||||||
|
case RX_MACRO_AIF5_PB:
|
||||||
|
*rx_slot = 0x1;
|
||||||
|
*rx_num = 0x01;
|
||||||
|
dev_dbg(rx_priv->dev,
|
||||||
|
"%s: dai->id:%d, ch_mask:0x%x, active_ch_cnt:%d\n",
|
||||||
|
__func__, dai->id, *rx_slot, *rx_num);
|
||||||
|
break;
|
||||||
case RX_MACRO_AIF6_PB:
|
case RX_MACRO_AIF6_PB:
|
||||||
*rx_slot = 0x1;
|
*rx_slot = 0x1;
|
||||||
*rx_num = 0x01;
|
*rx_num = 0x01;
|
||||||
@@ -3191,6 +3213,9 @@ static const struct snd_soc_dapm_widget rx_macro_dapm_widgets[] = {
|
|||||||
SND_SOC_DAPM_AIF_OUT("RX AIF_ECHO", "RX_AIF_ECHO Capture", 0,
|
SND_SOC_DAPM_AIF_OUT("RX AIF_ECHO", "RX_AIF_ECHO Capture", 0,
|
||||||
SND_SOC_NOPM, 0, 0),
|
SND_SOC_NOPM, 0, 0),
|
||||||
|
|
||||||
|
SND_SOC_DAPM_AIF_IN("RX AIF5 PB", "RX_MACRO_AIF5 Playback", 0,
|
||||||
|
SND_SOC_NOPM, 0, 0),
|
||||||
|
|
||||||
SND_SOC_DAPM_AIF_IN("RX AIF6 PB", "RX_MACRO_AIF6 Playback", 0,
|
SND_SOC_DAPM_AIF_IN("RX AIF6 PB", "RX_MACRO_AIF6 Playback", 0,
|
||||||
SND_SOC_NOPM, 0, 0),
|
SND_SOC_NOPM, 0, 0),
|
||||||
|
|
||||||
@@ -3861,6 +3886,7 @@ static int rx_macro_init(struct snd_soc_component *component)
|
|||||||
snd_soc_dapm_ignore_suspend(dapm, "RX_MACRO_AIF2 Playback");
|
snd_soc_dapm_ignore_suspend(dapm, "RX_MACRO_AIF2 Playback");
|
||||||
snd_soc_dapm_ignore_suspend(dapm, "RX_MACRO_AIF3 Playback");
|
snd_soc_dapm_ignore_suspend(dapm, "RX_MACRO_AIF3 Playback");
|
||||||
snd_soc_dapm_ignore_suspend(dapm, "RX_MACRO_AIF4 Playback");
|
snd_soc_dapm_ignore_suspend(dapm, "RX_MACRO_AIF4 Playback");
|
||||||
|
snd_soc_dapm_ignore_suspend(dapm, "RX_MACRO_AIF5 Playback");
|
||||||
snd_soc_dapm_ignore_suspend(dapm, "RX_MACRO_AIF6 Playback");
|
snd_soc_dapm_ignore_suspend(dapm, "RX_MACRO_AIF6 Playback");
|
||||||
snd_soc_dapm_ignore_suspend(dapm, "HPHL_OUT");
|
snd_soc_dapm_ignore_suspend(dapm, "HPHL_OUT");
|
||||||
snd_soc_dapm_ignore_suspend(dapm, "HPHR_OUT");
|
snd_soc_dapm_ignore_suspend(dapm, "HPHR_OUT");
|
||||||
|
@@ -4569,6 +4569,7 @@ static int msm_be_hw_params_fixup(struct snd_soc_pcm_runtime *rtd,
|
|||||||
case MSM_BACKEND_DAI_RX_CDC_DMA_RX_1:
|
case MSM_BACKEND_DAI_RX_CDC_DMA_RX_1:
|
||||||
case MSM_BACKEND_DAI_RX_CDC_DMA_RX_2:
|
case MSM_BACKEND_DAI_RX_CDC_DMA_RX_2:
|
||||||
case MSM_BACKEND_DAI_RX_CDC_DMA_RX_3:
|
case MSM_BACKEND_DAI_RX_CDC_DMA_RX_3:
|
||||||
|
case MSM_BACKEND_DAI_RX_CDC_DMA_RX_5:
|
||||||
case MSM_BACKEND_DAI_RX_CDC_DMA_RX_6:
|
case MSM_BACKEND_DAI_RX_CDC_DMA_RX_6:
|
||||||
idx = msm_cdc_dma_get_idx_from_beid(dai_link->id);
|
idx = msm_cdc_dma_get_idx_from_beid(dai_link->id);
|
||||||
param_set_mask(params, SNDRV_PCM_HW_PARAM_FORMAT,
|
param_set_mask(params, SNDRV_PCM_HW_PARAM_FORMAT,
|
||||||
@@ -6892,6 +6893,21 @@ static struct snd_soc_dai_link msm_rx_tx_cdc_dma_be_dai_links[] = {
|
|||||||
.ops = &msm_cdc_dma_be_ops,
|
.ops = &msm_cdc_dma_be_ops,
|
||||||
SND_SOC_DAILINK_REG(rx_dma_rx3),
|
SND_SOC_DAILINK_REG(rx_dma_rx3),
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
.name = LPASS_BE_RX_CDC_DMA_RX_5,
|
||||||
|
.stream_name = "RX CDC DMA5 Playback",
|
||||||
|
#if IS_ENABLED(CONFIG_AUDIO_QGKI)
|
||||||
|
.dynamic_be = 1,
|
||||||
|
#endif /* CONFIG_AUDIO_QGKI */
|
||||||
|
.no_pcm = 1,
|
||||||
|
.dpcm_playback = 1,
|
||||||
|
.id = MSM_BACKEND_DAI_RX_CDC_DMA_RX_5,
|
||||||
|
.be_hw_params_fixup = msm_be_hw_params_fixup,
|
||||||
|
.ignore_pmdown_time = 1,
|
||||||
|
.ignore_suspend = 1,
|
||||||
|
.ops = &msm_cdc_dma_be_ops,
|
||||||
|
SND_SOC_DAILINK_REG(rx_dma_rx5),
|
||||||
|
},
|
||||||
{
|
{
|
||||||
.name = LPASS_BE_RX_CDC_DMA_RX_6,
|
.name = LPASS_BE_RX_CDC_DMA_RX_6,
|
||||||
.stream_name = "RX CDC DMA6 Playback",
|
.stream_name = "RX CDC DMA6 Playback",
|
||||||
|
@@ -528,6 +528,12 @@ SND_SOC_DAILINK_DEFS(rx_dma_rx3,
|
|||||||
COMP_CODEC("wcd938x_codec", "wcd938x_cdc")),
|
COMP_CODEC("wcd938x_codec", "wcd938x_cdc")),
|
||||||
DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing")));
|
DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing")));
|
||||||
|
|
||||||
|
SND_SOC_DAILINK_DEFS(rx_dma_rx5,
|
||||||
|
DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-cdc-dma-dev.45114")),
|
||||||
|
DAILINK_COMP_ARRAY(COMP_CODEC("bolero_codec", "rx_macro_rx5"),
|
||||||
|
COMP_CODEC("wcd938x_codec", "wcd938x_cdc")),
|
||||||
|
DAILINK_COMP_ARRAY(COMP_PLATFORM("msm-pcm-routing")));
|
||||||
|
|
||||||
SND_SOC_DAILINK_DEFS(rx_dma_rx6,
|
SND_SOC_DAILINK_DEFS(rx_dma_rx6,
|
||||||
DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-cdc-dma-dev.45116")),
|
DAILINK_COMP_ARRAY(COMP_CPU("msm-dai-cdc-dma-dev.45116")),
|
||||||
DAILINK_COMP_ARRAY(COMP_CODEC("bolero_codec", "rx_macro_rx6"),
|
DAILINK_COMP_ARRAY(COMP_CODEC("bolero_codec", "rx_macro_rx6"),
|
||||||
|
Reference in New Issue
Block a user