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

From: Inha Song
Date: Wed Sep 23 2015 - 21:38:48 EST


Hi, Charles,

On Wed, 23 Sep 2015 15:43:12 +0100
Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx> 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@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.

>
> Likely what is happening here is that you are disabling the FLL
> and this is causing some IRQ which is then causing a wake event
> thus aborting the suspend.
>
> Thanks,
> Charles
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/