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>
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 */