summaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorShengjiu Wang <shengjiu.wang@freescale.com>2015-05-19 13:34:32 +0800
committerNitin Garg <nitin.garg@freescale.com>2015-09-17 09:23:06 -0500
commit51848537b058d710e1b62b9e67391d4ad820db58 (patch)
tree4fc66c328a583d98fd98d90610b02e6914b491e0 /sound
parenteb02e7a1ee34bb98a4c51952c08928c4a522db89 (diff)
MLK-10903-1: ASoC: fsl_spdif: remove cache only in suspend/resume
In imx6qp, there is no mega fast. After suspend, but before resume, there will be spdif interrupt, if set cache only in suspend, then we can't clear the interrupt, because regmap_write only write to cache. So the system will hang for the interrupt can't be cleared. Signed-off-by: Shengjiu Wang <shengjiu.wang@freescale.com>
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/fsl/fsl_spdif.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/sound/soc/fsl/fsl_spdif.c b/sound/soc/fsl/fsl_spdif.c
index b122529f1ad4..3b31f4a5c9a2 100644
--- a/sound/soc/fsl/fsl_spdif.c
+++ b/sound/soc/fsl/fsl_spdif.c
@@ -1,7 +1,7 @@
/*
* Freescale S/PDIF ALSA SoC Digital Audio Interface (DAI) driver
*
- * Copyright (C) 2013-2014 Freescale Semiconductor, Inc.
+ * Copyright (C) 2013-2015 Freescale Semiconductor, Inc.
*
* Based on stmp3xxx_spdif_dai.c
* Vladimir Barinov <vbarinov@embeddedalley.com>
@@ -1333,7 +1333,6 @@ static int fsl_spdif_suspend(struct device *dev)
regmap_read(spdif_priv->regmap, REG_SPDIF_SRPC,
&spdif_priv->regcache_srpc);
- regcache_cache_only(spdif_priv->regmap, true);
regcache_mark_dirty(spdif_priv->regmap);
return 0;
@@ -1343,8 +1342,6 @@ static int fsl_spdif_resume(struct device *dev)
{
struct fsl_spdif_priv *spdif_priv = dev_get_drvdata(dev);
- regcache_cache_only(spdif_priv->regmap, false);
-
regmap_update_bits(spdif_priv->regmap, REG_SPDIF_SRPC,
SRPC_CLKSRC_SEL_MASK | SRPC_GAINSEL_MASK,
spdif_priv->regcache_srpc);