All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] ASoC: fsl-ssi: Fix bitclock calculation for master mode
@ 2015-07-03 10:39 ` Juergen Borleis
  0 siblings, 0 replies; 5+ messages in thread
From: Juergen Borleis @ 2015-07-03 10:39 UTC (permalink / raw)
  To: linux-kernel
  Cc: linuxppc-dev, alsa-devel, Takashi Iwai, Jaroslav Kysela,
	Mark Brown, Liam Girdwood, Xiubo Li, Nicolin Chen, Timur Tabi,
	kernel, linux-arm-kernel

According to the datasheet 'pm', 'psr' and 'div2' should never be all 0.
Since commit 541b03ad6cfe ("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>
---
 sound/soc/fsl/fsl_ssi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/soc/fsl/fsl_ssi.c b/sound/soc/fsl/fsl_ssi.c
index c7647e0..c0b940e 100644
--- a/sound/soc/fsl/fsl_ssi.c
+++ b/sound/soc/fsl/fsl_ssi.c
@@ -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;
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2015-07-07 13:58 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-07-03 10:39 [PATCH] ASoC: fsl-ssi: Fix bitclock calculation for master mode Juergen Borleis
2015-07-03 10:39 ` Juergen Borleis
2015-07-03 17:44 ` [alsa-devel] " Nicolin Chen
2015-07-03 17:44   ` Nicolin Chen
2015-07-07 13:57 ` Applied "ASoC: fsl-ssi: Fix bitclock calculation for master mode" to the asoc tree Mark Brown

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.