mirror of
https://github.com/torvalds/linux.git
synced 2026-05-25 23:52:08 +02:00
ASoC: fsl_sai: separate 'is_dsp_mode' for tx and rx
The transmitter and receiver of SAI can be used for different dsp modes, then 'is_dsp_mode' needs to be separated. Expand 'is_dsp_mode' to array 'is_dsp_mode[]' to support different configuration of tx and rx. Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com> Link: https://patch.msgid.link/20250328085744.1893434-4-shengjiu.wang@nxp.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
4fe9d03b48
commit
e4b543d51e
|
|
@ -287,7 +287,7 @@ static int fsl_sai_set_dai_fmt_tr(struct snd_soc_dai *cpu_dai,
|
|||
val_cr4 |= FSL_SAI_CR4_MF;
|
||||
|
||||
sai->is_pdm_mode = false;
|
||||
sai->is_dsp_mode = false;
|
||||
sai->is_dsp_mode[tx] = false;
|
||||
/* DAI mode */
|
||||
switch (fmt & SND_SOC_DAIFMT_FORMAT_MASK) {
|
||||
case SND_SOC_DAIFMT_I2S:
|
||||
|
|
@ -316,7 +316,7 @@ static int fsl_sai_set_dai_fmt_tr(struct snd_soc_dai *cpu_dai,
|
|||
*/
|
||||
val_cr2 |= FSL_SAI_CR2_BCP;
|
||||
val_cr4 |= FSL_SAI_CR4_FSE;
|
||||
sai->is_dsp_mode = true;
|
||||
sai->is_dsp_mode[tx] = true;
|
||||
break;
|
||||
case SND_SOC_DAIFMT_DSP_B:
|
||||
/*
|
||||
|
|
@ -324,7 +324,7 @@ static int fsl_sai_set_dai_fmt_tr(struct snd_soc_dai *cpu_dai,
|
|||
* frame sync asserts with the first bit of the frame.
|
||||
*/
|
||||
val_cr2 |= FSL_SAI_CR2_BCP;
|
||||
sai->is_dsp_mode = true;
|
||||
sai->is_dsp_mode[tx] = true;
|
||||
break;
|
||||
case SND_SOC_DAIFMT_PDM:
|
||||
val_cr2 |= FSL_SAI_CR2_BCP;
|
||||
|
|
@ -607,7 +607,7 @@ static int fsl_sai_hw_params(struct snd_pcm_substream *substream,
|
|||
}
|
||||
}
|
||||
|
||||
if (!sai->is_dsp_mode && !sai->is_pdm_mode)
|
||||
if (!sai->is_dsp_mode[tx] && !sai->is_pdm_mode)
|
||||
val_cr4 |= FSL_SAI_CR4_SYWD(slot_width);
|
||||
|
||||
val_cr5 |= FSL_SAI_CR5_WNW(slot_width);
|
||||
|
|
|
|||
|
|
@ -286,7 +286,7 @@ struct fsl_sai {
|
|||
|
||||
bool is_consumer_mode[2];
|
||||
bool is_lsb_first;
|
||||
bool is_dsp_mode;
|
||||
bool is_dsp_mode[2];
|
||||
bool is_pdm_mode;
|
||||
bool is_multi_fifo_dma;
|
||||
bool synchronous[2];
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user