ASoC: MPC5200: Increase the delay time between resets
authorJohn Bonesio <bones@secretlab.ca>
Tue, 21 Jul 2009 20:15:40 +0000 (13:15 -0700)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Tue, 21 Jul 2009 23:07:51 +0000 (00:07 +0100)
Reset was failing with the original udelay(50) between the code in
psc_ac97_cold_reset() and the call to psc_ac97_warm_reset(). Through testing
it was found that a delay of 1ms was necessary for the cold_reset code to
consistently complete successfully.

Signed-off-by: John Bonesio <bones@secretlab.ca>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
sound/soc/fsl/mpc5200_psc_ac97.c

index 7eb549985d490cef5bc1cd3a6717020bea2b5fb4..c4ae3e096bb9154376a3a3760e3cf4897cad65a3 100644 (file)
@@ -12,6 +12,7 @@
 #include <linux/module.h>
 #include <linux/of_device.h>
 #include <linux/of_platform.h>
+#include <linux/delay.h>
 
 #include <sound/pcm.h>
 #include <sound/pcm_params.h>
@@ -112,7 +113,7 @@ static void psc_ac97_cold_reset(struct snd_ac97 *ac97)
        out_8(&regs->op1, MPC52xx_PSC_OP_RES);
        udelay(10);
        out_8(&regs->op0, MPC52xx_PSC_OP_RES);
-       udelay(50);
+       msleep(1);
        psc_ac97_warm_reset(ac97);
 }