mirror of
https://github.com/torvalds/linux.git
synced 2024-12-03 09:31:26 +00:00
ASoC: fsl-ssi: Fix bitclock calculation for master mode
According to the datasheet 'pm', 'psr' and 'div2' should never be all 0.
Since commit 541b03ad6c
("ASoC: fsl_ssi: Fix the incorrect limitation of
the bit clock rate") this can happen, because for some bitclock rates
'pm' = 0 seems to be a valid choice but does not work due to hardware
restrictions. This results into a bad hardware behaviour (slow audio for
example). Feature tested on a i.MX25.
Signed-off-by: Juergen Borleis <jbe@pengutronix.de>
Acked-by: Nicolin Chen <nicoleotsuka@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
d770e558e2
commit
ebac95a920
@ -633,7 +633,7 @@ static int fsl_ssi_set_bclk(struct snd_pcm_substream *substream,
|
||||
sub *= 100000;
|
||||
do_div(sub, freq);
|
||||
|
||||
if (sub < savesub) {
|
||||
if (sub < savesub && !(i == 0 && psr == 0 && div2 == 0)) {
|
||||
baudrate = tmprate;
|
||||
savesub = sub;
|
||||
pm = i;
|
||||
|
Loading…
Reference in New Issue
Block a user