diff options
author | Nicolin Chen <nicoleotsuka@gmail.com> | 2018-02-12 17:03:18 -0500 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2018-02-21 07:30:54 -0500 |
commit | 702d7965e402a8dcd88e964fd5bba6f5f159d625 (patch) | |
tree | c739bbee1a9efcf8ad6c439029f1c2d154252a4a /sound/soc/fsl | |
parent | 501bc1d70cf5ba8ccd9775ce987c90485034464e (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.c | 12 |
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); |