summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShengjiu Wang <shengjiu.wang@nxp.com>2017-12-04 13:00:50 +0800
committerJason Liu <jason.hui.liu@nxp.com>2019-02-12 10:29:37 +0800
commit1f5a6bb23f5d985d871ce830a1519c293f5b682d (patch)
treee0a76ceb444bf5b9edb3134c3734c542ac6eb324
parent90a158e527e78f6a24f361206e7bec41c5f95e21 (diff)
MLK-15985-1: ASoC: fsl_ssi: remove the wrong fix for S20_3LE
This reverts commit 6ce4e9c184b7 ("MLK-15068: ASoC: fsl_ssi: fix the noise issue with S20_3LE Mono bitsream") The fix in MLK-15068 can't fix the mono noise issue, for using the physical width imply that the sample with is 24, but the CCSR_SSI_SxCCR_WL still using the 20 bit, the unalignment cause noise. Or if change the CCSR_SSI_SxCCR_WL to 24bit, the volume is lower for 24bit imply that the sample is shift 4bit right. So the correct way is to change the mclk frequency in dts. Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
-rw-r--r--sound/soc/fsl/fsl_ssi.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/sound/soc/fsl/fsl_ssi.c b/sound/soc/fsl/fsl_ssi.c
index 65ce356a2e29..752b4af5f648 100644
--- a/sound/soc/fsl/fsl_ssi.c
+++ b/sound/soc/fsl/fsl_ssi.c
@@ -722,23 +722,17 @@ static int fsl_ssi_set_bclk(struct snd_pcm_substream *substream,
u64 sub, savesub = 100000;
unsigned int freq;
bool baudclk_is_used;
- snd_pcm_format_t sample_format = params_format(hw_params);
/* Prefer the explicitly set bitclock frequency */
if (ssi_private->bitclk_freq)
freq = ssi_private->bitclk_freq;
else {
- if (params_channels(hw_params) == 1) {
+ if (params_channels(hw_params) == 1)
freq = 2 * params_width(hw_params) *
params_rate(hw_params);
-
- if (sample_format == SNDRV_PCM_FORMAT_S20_3LE)
- freq = 2 * params_physical_width(hw_params) *
- params_rate(hw_params);
- } else {
+ else
freq = params_channels(hw_params) * 32 *
params_rate(hw_params);
- }
}
/* Don't apply it to any non-baudclk circumstance */