summaryrefslogtreecommitdiffstats
path: root/sound/soc/fsl
diff options
context:
space:
mode:
authorNicolin Chen <nicoleotsuka@gmail.com>2018-02-12 17:03:18 -0500
committerMark Brown <broonie@kernel.org>2018-02-21 07:30:54 -0500
commit702d7965e402a8dcd88e964fd5bba6f5f159d625 (patch)
treec739bbee1a9efcf8ad6c439029f1c2d154252a4a /sound/soc/fsl
parent501bc1d70cf5ba8ccd9775ce987c90485034464e (diff)
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: Nicolin Chen <nicoleotsuka@gmail.com> Tested-by: Caleb Crome <caleb@crome.org> Tested-by: Maciej S. Szmigiero <mail@maciej.szmigiero.name> Reviewed-by: Maciej S. Szmigiero <mail@maciej.szmigiero.name> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/fsl')
-rw-r--r--sound/soc/fsl/fsl_ssi.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/sound/soc/fsl/fsl_ssi.c b/sound/soc/fsl/fsl_ssi.c
index 156f5132feba..00dfdc77b567 100644
--- a/sound/soc/fsl/fsl_ssi.c
+++ b/sound/soc/fsl/fsl_ssi.c
@@ -591,6 +591,11 @@ static void fsl_ssi_setup_regvals(struct fsl_ssi *ssi)
591 if (fsl_ssi_is_ac97(ssi)) 591 if (fsl_ssi_is_ac97(ssi))
592 vals[RX].scr = vals[TX].scr = 0; 592 vals[RX].scr = vals[TX].scr = 0;
593 593
594 if (ssi->use_dual_fifo) {
595 vals[RX].srcr |= SSI_SRCR_RFEN1;
596 vals[TX].stcr |= SSI_STCR_TFEN1;
597 }
598
594 if (ssi->use_dma) { 599 if (ssi->use_dma) {
595 vals[RX].sier |= SSI_SIER_RDMAE; 600 vals[RX].sier |= SSI_SIER_RDMAE;
596 vals[TX].sier |= SSI_SIER_TDMAE; 601 vals[TX].sier |= SSI_SIER_TDMAE;
@@ -991,14 +996,9 @@ static int _fsl_ssi_set_dai_fmt(struct device *dev,
991 SSI_SFCSR_TFWM0(wm) | SSI_SFCSR_RFWM0(wm) | 996 SSI_SFCSR_TFWM0(wm) | SSI_SFCSR_RFWM0(wm) |
992 SSI_SFCSR_TFWM1(wm) | SSI_SFCSR_RFWM1(wm)); 997 SSI_SFCSR_TFWM1(wm) | SSI_SFCSR_RFWM1(wm));
993 998
994 if (ssi->use_dual_fifo) { 999 if (ssi->use_dual_fifo)
995 regmap_update_bits(regs, REG_SSI_SRCR,
996 SSI_SRCR_RFEN1, SSI_SRCR_RFEN1);
997 regmap_update_bits(regs, REG_SSI_STCR,
998 SSI_STCR_TFEN1, SSI_STCR_TFEN1);
999 regmap_update_bits(regs, REG_SSI_SCR, 1000 regmap_update_bits(regs, REG_SSI_SCR,
1000 SSI_SCR_TCH_EN, SSI_SCR_TCH_EN); 1001 SSI_SCR_TCH_EN, SSI_SCR_TCH_EN);
1001 }
1002 1002
1003 if ((fmt & SND_SOC_DAIFMT_FORMAT_MASK) == SND_SOC_DAIFMT_AC97) 1003 if ((fmt & SND_SOC_DAIFMT_FORMAT_MASK) == SND_SOC_DAIFMT_AC97)
1004 fsl_ssi_setup_ac97(ssi); 1004 fsl_ssi_setup_ac97(ssi);