aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/layerscape/patches-5.4/801-audio-0029-MLK-15960-1-ASoC-fsl_sai-update-fifo_depth-for-diffe.patch
blob: d2a7955caef773368bc88f19c5823379d0b12a52 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
From 1640daf71d5230997e9b75a550d3800bede298db Mon Sep 17 00:00:00 2001
From: Shengjiu Wang <shengjiu.wang@freescale.com>
Date: Wed, 12 Jul 2017 18:19:25 +0800
Subject: [PATCH] MLK-15960-1: ASoC: fsl_sai: update fifo_depth for different
 platform

The fifo_depth is changed to 64 in imx8qm/imx8qxp, in imx8mq, the
fifo_depth is 128. which is mentioned in their ADD.

Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
---
 sound/soc/fsl/fsl_sai.c | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

--- a/sound/soc/fsl/fsl_sai.c
+++ b/sound/soc/fsl/fsl_sai.c
@@ -72,7 +72,7 @@ static struct fsl_sai_soc_data fsl_sai_i
 	.imx = true,
 	.dataline = 0xff,
 	.fifos = 8,
-	.fifo_depth = 32,
+	.fifo_depth = 128,
 	.flags = 0,
 	.reg_offset = 8,
 	.constrain_period_size = false,
@@ -82,7 +82,7 @@ static struct fsl_sai_soc_data fsl_sai_i
 	.imx = true,
 	.dataline = 0x3,
 	.fifos = 1,
-	.fifo_depth = 32,
+	.fifo_depth = 64,
 	.flags = 0,
 	.reg_offset = 0,
 	.constrain_period_size = true,
@@ -759,10 +759,12 @@ static int fsl_sai_dai_probe(struct snd_
 	regmap_write(sai->regmap, FSL_SAI_TCSR(offset), 0);
 	regmap_write(sai->regmap, FSL_SAI_RCSR(offset), 0);
 
-	regmap_update_bits(sai->regmap, FSL_SAI_TCR1(offset), FSL_SAI_CR1_RFW_MASK,
-			   sai->soc->fifo_depth - FSL_SAI_MAXBURST_TX);
-	regmap_update_bits(sai->regmap, FSL_SAI_RCR1(offset), FSL_SAI_CR1_RFW_MASK,
-			   FSL_SAI_MAXBURST_RX - 1);
+	regmap_update_bits(sai->regmap, FSL_SAI_TCR1(offset),
+				sai->soc->fifo_depth - 1,
+				sai->soc->fifo_depth - FSL_SAI_MAXBURST_TX);
+	regmap_update_bits(sai->regmap, FSL_SAI_RCR1(offset),
+				sai->soc->fifo_depth - 1,
+				FSL_SAI_MAXBURST_RX - 1);
 
 	snd_soc_dai_init_dma_data(cpu_dai, &sai->dma_params_tx,
 				&sai->dma_params_rx);