diff mbox

[1/2] ASoC: fsl_sai: Use usleep_range() instead of msleep()

Message ID 1452857725-32414-2-git-send-email-lixiubo@cmss.chinamobile.com (mailing list archive)
State Accepted
Commit 512feb4e19a262ea0dfd7209506a998897feaadc
Headers show

Commit Message

Xiubo Li Jan. 15, 2016, 11:35 a.m. UTC
Since msleep() will sleep longer than intended time for values less
than 20ms, this patch allows the use of usleep_range for just 1ms.
usleep_range is a finer precision implementation of msleep and is
designed to be a drop-in replacement for udelay where a precise
sleep/busy-wait is unnecessary.

More details see Documentation/timers/timers-howto.txt.

Signed-off-by: Xiubo Li <lixiubo@cmss.chinamobile.com>
---
 sound/soc/fsl/fsl_sai.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Mark Brown Jan. 22, 2016, 4:48 p.m. UTC | #1
On Fri, Jan 15, 2016 at 07:35:24PM +0800, Xiubo Li wrote:
> Since msleep() will sleep longer than intended time for values less
> than 20ms, this patch allows the use of usleep_range for just 1ms.
> usleep_range is a finer precision implementation of msleep and is
> designed to be a drop-in replacement for udelay where a precise
> sleep/busy-wait is unnecessary.

A similar change seems to have already been applied.
diff mbox

Patch

diff --git a/sound/soc/fsl/fsl_sai.c b/sound/soc/fsl/fsl_sai.c
index fef264d..0754df7 100644
--- a/sound/soc/fsl/fsl_sai.c
+++ b/sound/soc/fsl/fsl_sai.c
@@ -17,6 +17,7 @@ 
 #include <linux/of_address.h>
 #include <linux/regmap.h>
 #include <linux/slab.h>
+#include <linux/time.h>
 #include <sound/core.h>
 #include <sound/dmaengine_pcm.h>
 #include <sound/pcm_params.h>
@@ -919,7 +920,7 @@  static int fsl_sai_resume(struct device *dev)
 	regcache_cache_only(sai->regmap, false);
 	regmap_write(sai->regmap, FSL_SAI_TCSR, FSL_SAI_CSR_SR);
 	regmap_write(sai->regmap, FSL_SAI_RCSR, FSL_SAI_CSR_SR);
-	msleep(1);
+	usleep_range(1000, 2000);
 	regmap_write(sai->regmap, FSL_SAI_TCSR, 0);
 	regmap_write(sai->regmap, FSL_SAI_RCSR, 0);
 	return regcache_sync(sai->regmap);