[alsa-devel] [PATCH v4] ASoC: sgtl5000: Fix the cache handling

Shawn Guo shawn.guo at freescale.com
Sun May 25 10:13:21 CEST 2014


Fabio,

On Sat, May 24, 2014 at 04:16:00PM -0300, Fabio Estevam wrote:
> From: Fabio Estevam <fabio.estevam at freescale.com>
> 
> Since commit e5d80e82e32e (ASoC: sgtl5000: Convert to use regmap directly) a 
> kernel oops is observed after a suspend/resume sequence.
> 
> According to Mark Brown:
> 
> "Looking at the code what I'd expect to happen here is that
> set_bias_level() manages the cache enable, turning on cache only mode
> just before it turns the regulators off and restoring normal mode just
> after enabling them, then calling _restore_regs() after that.  The
> resume call should just be a call to set_bias_level() then.."
> 
> Do as suggested and also complete the cache array with the missing registers
> so that sgtl5000_restore_regs() can properly cache the all the registers it 
> needs.
> 
> Reported-by: Shawn Guo <shawn.guo at freescale.com>
> Signed-off-by: Fabio Estevam <fabio.estevam at freescale.com>

I'm not sure if it's the problem of this patch, but when I test
suspend/resume cycle with a wave playback running background, the
playback goes abnormal after system resumes back.  I did this test with
your patch 'ASoC: fsl_ssi: Add suspend/resume support' applied.

The same test goes fine with wm8962 on imx6q-sabresd board.

Shawn


More information about the Alsa-devel mailing list