[alsa-devel] [PATCH] mfd: arizona: Call the runtime PM function if the state is runtime resumed

Charles Keepax ckeepax at opensource.wolfsonmicro.com
Thu Sep 24 09:41:07 CEST 2015


On Thu, Sep 24, 2015 at 10:38:09AM +0900, Inha Song wrote:
> Hi, Charles,
> 
> On Wed, 23 Sep 2015 15:43:12 +0100
> Charles Keepax <ckeepax at opensource.wolfsonmicro.com> wrote:
> 
> > On Wed, Sep 23, 2015 at 11:04:04AM +0900, Inha Song wrote:
> > >  Hi, Charles,
> > > 
> > > I saw the log with LOG_DEVICE in regmap. But, I'm not sure the reason that suspend noirq failed is IRQ occuring.
> > > 
> > > Here is my log:
> > > --
> > > root at localhost:~# aplay test.wav 
> > > [   41.049072] s3c64xx_spi_runtime_suspend
> > > [   41.056043] arizona spi1.0: ASRC underclocked
> > > ....
> > > [   72.308238] arizona spi1.0: Suspend, disabling IRQ
> > > [   72.320286] arizona spi1.0: 400 <= 0
> > > [   72.320310] s3c64xx_spi_runtime_resume
> > > [   72.336047] arizona spi1.0: 51a <= 0
> > > [   72.336217] arizona spi1.0: 101 <= 8604
> > > [   72.336401] arizona spi1.0: 171 <= 3
> > > [   72.336425] arizona spi1.0: 171 <= 2
> > > [   72.336731] arizona spi1.0: 171 <= 0
> > > [   72.336751] arizona spi1.0: SYSCLK cleared
> > > [   72.338584] arizona spi1.0: SYSCLK cleared
> > 
> > This bit looks likely related to your problem, it looks like the
> > FLL is being turned off. My guess here would be that you haven't
> > called snd_soc_dapm_ignore_suspend from your machine driver, you
> > need to call this for all end points that may want to stay
> > powered up during system suspend and also set the ignore_suspend
> > flag on any DAI links you want to remain active during system
> > suspend.
> 
> But, We should call the trigger callback with SNDRV_PCM_TRIGGER_SUSPEND and *_RESUME command
> for support senarios what suspend during the playback and resume.
> So, I can't set the "ignore_suspend" in playback DAI.
> 
> For this reason, I would have called the runtime_suspend manually in arizona-core when suspend.
> 
> Best Reagrds,
> Inha Song.
> 

Ah ok so you want the audio to stop during suspend?

Ok in that case can we get a bit more of log, your log finished
up here:

[   72.308238] arizona spi1.0: Suspend, disabling IRQ
[   72.320286] arizona spi1.0: 400 <= 0
[   72.320310] s3c64xx_spi_runtime_resume
[   72.336047] arizona spi1.0: 51a <= 0
[   72.336217] arizona spi1.0: 101 <= 8604
[   72.336401] arizona spi1.0: 171 <= 3
[   72.336425] arizona spi1.0: 171 <= 2
[   72.336731] arizona spi1.0: 171 <= 0
[   72.336751] arizona spi1.0: SYSCLK cleared
[   72.338584] arizona spi1.0: SYSCLK cleared
[   72.339123] s3c64xx_spi_suspend
[   72.355866] arizona spi1.0: Late suspend, reenabling IRQ
[   72.355893] >>> noirq failed because of spi1
[   72.355948] arizona spi1.0: Early resume, disabling IRQ
[   72.416798] PM: noirq suspend of devices failed

Which finished too early as we can't see which IRQ it was that
triggered the wakeup.

Thanks,
Charles


More information about the Alsa-devel mailing list