未验证 提交 702d7965 编写于 作者: N Nicolin Chen 提交者: Mark Brown

ASoC: fsl_ssi: Set xFEN0 and xFEN1 together

It'd be safer to enable both FIFOs for TX or RX at the same time.
Signed-off-by: NNicolin Chen <nicoleotsuka@gmail.com>
Tested-by: NCaleb Crome <caleb@crome.org>
Tested-by: NMaciej S. Szmigiero <mail@maciej.szmigiero.name>
Reviewed-by: NMaciej S. Szmigiero <mail@maciej.szmigiero.name>
Signed-off-by: NMark Brown <broonie@kernel.org>
上级 501bc1d7
...@@ -591,6 +591,11 @@ static void fsl_ssi_setup_regvals(struct fsl_ssi *ssi) ...@@ -591,6 +591,11 @@ static void fsl_ssi_setup_regvals(struct fsl_ssi *ssi)
if (fsl_ssi_is_ac97(ssi)) if (fsl_ssi_is_ac97(ssi))
vals[RX].scr = vals[TX].scr = 0; vals[RX].scr = vals[TX].scr = 0;
if (ssi->use_dual_fifo) {
vals[RX].srcr |= SSI_SRCR_RFEN1;
vals[TX].stcr |= SSI_STCR_TFEN1;
}
if (ssi->use_dma) { if (ssi->use_dma) {
vals[RX].sier |= SSI_SIER_RDMAE; vals[RX].sier |= SSI_SIER_RDMAE;
vals[TX].sier |= SSI_SIER_TDMAE; vals[TX].sier |= SSI_SIER_TDMAE;
...@@ -991,14 +996,9 @@ static int _fsl_ssi_set_dai_fmt(struct device *dev, ...@@ -991,14 +996,9 @@ static int _fsl_ssi_set_dai_fmt(struct device *dev,
SSI_SFCSR_TFWM0(wm) | SSI_SFCSR_RFWM0(wm) | SSI_SFCSR_TFWM0(wm) | SSI_SFCSR_RFWM0(wm) |
SSI_SFCSR_TFWM1(wm) | SSI_SFCSR_RFWM1(wm)); SSI_SFCSR_TFWM1(wm) | SSI_SFCSR_RFWM1(wm));
if (ssi->use_dual_fifo) { if (ssi->use_dual_fifo)
regmap_update_bits(regs, REG_SSI_SRCR,
SSI_SRCR_RFEN1, SSI_SRCR_RFEN1);
regmap_update_bits(regs, REG_SSI_STCR,
SSI_STCR_TFEN1, SSI_STCR_TFEN1);
regmap_update_bits(regs, REG_SSI_SCR, regmap_update_bits(regs, REG_SSI_SCR,
SSI_SCR_TCH_EN, SSI_SCR_TCH_EN); SSI_SCR_TCH_EN, SSI_SCR_TCH_EN);
}
if ((fmt & SND_SOC_DAIFMT_FORMAT_MASK) == SND_SOC_DAIFMT_AC97) if ((fmt & SND_SOC_DAIFMT_FORMAT_MASK) == SND_SOC_DAIFMT_AC97)
fsl_ssi_setup_ac97(ssi); fsl_ssi_setup_ac97(ssi);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册