diff options
author | Shengjiu Wang <shengjiu.wang@freescale.com> | 2015-05-19 13:34:32 +0800 |
---|---|---|
committer | Nitin Garg <nitin.garg@freescale.com> | 2015-09-17 09:23:06 -0500 |
commit | 51848537b058d710e1b62b9e67391d4ad820db58 (patch) | |
tree | 4fc66c328a583d98fd98d90610b02e6914b491e0 /sound | |
parent | eb02e7a1ee34bb98a4c51952c08928c4a522db89 (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.c | 5 |
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); |