mirror of
git://git.yoctoproject.org/linux-yocto.git
synced 2025-10-23 07:23:12 +02:00
ASoC: fsl_sai: add xlate_tdm_slot_mask() callback
With DPCM case, for example ASRC->SAI->AMIX, the SAI can be codec dai device in backend, but __soc_pcm_hw_params() will get the tdm_mask for channel constraint, tdm_mask is set by snd_soc_dai_set_tdm_slot() from slot number, but SAI supports flexible channel number with fixed slot number, so add an empty xlate_tdm_slot_mask() callback to avoid the channel constraint in __soc_pcm_hw_params(). Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com> Link: https://patch.msgid.link/20250328085744.1893434-3-shengjiu.wang@nxp.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
78b3bcfd56
commit
4fe9d03b48
|
@ -174,6 +174,13 @@ static int fsl_sai_set_dai_tdm_slot(struct snd_soc_dai *cpu_dai, u32 tx_mask,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int fsl_sai_xlate_tdm_slot_mask(unsigned int slots,
|
||||
unsigned int *tx_mask, unsigned int *rx_mask)
|
||||
{
|
||||
/* Leave it empty, don't change the value of tx_mask and rx_mask */
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int fsl_sai_set_dai_bclk_ratio(struct snd_soc_dai *dai,
|
||||
unsigned int ratio)
|
||||
{
|
||||
|
@ -933,6 +940,7 @@ static const struct snd_soc_dai_ops fsl_sai_pcm_dai_tx_ops = {
|
|||
.set_sysclk = fsl_sai_set_dai_sysclk,
|
||||
.set_fmt = fsl_sai_set_dai_fmt_tx,
|
||||
.set_tdm_slot = fsl_sai_set_dai_tdm_slot,
|
||||
.xlate_tdm_slot_mask = fsl_sai_xlate_tdm_slot_mask,
|
||||
.hw_params = fsl_sai_hw_params,
|
||||
.hw_free = fsl_sai_hw_free,
|
||||
.trigger = fsl_sai_trigger,
|
||||
|
@ -945,6 +953,7 @@ static const struct snd_soc_dai_ops fsl_sai_pcm_dai_rx_ops = {
|
|||
.set_sysclk = fsl_sai_set_dai_sysclk,
|
||||
.set_fmt = fsl_sai_set_dai_fmt_rx,
|
||||
.set_tdm_slot = fsl_sai_set_dai_tdm_slot,
|
||||
.xlate_tdm_slot_mask = fsl_sai_xlate_tdm_slot_mask,
|
||||
.hw_params = fsl_sai_hw_params,
|
||||
.hw_free = fsl_sai_hw_free,
|
||||
.trigger = fsl_sai_trigger,
|
||||
|
|
Loading…
Reference in New Issue
Block a user