From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755966AbbIUCQr (ORCPT ); Sun, 20 Sep 2015 22:16:47 -0400 Received: from mailout2.samsung.com ([203.254.224.25]:49469 "EHLO mailout2.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755667AbbIUCQp (ORCPT ); Sun, 20 Sep 2015 22:16:45 -0400 X-AuditID: cbfee68e-f791c6d000001498-e0-55ff688be93b Date: Mon, 21 Sep 2015 11:16:42 +0900 From: Inha Song To: Charles Keepax Cc: lee.jones@linaro.org, broonie@kernel.org, linux-kernel@vger.kernel.org, alsa-devel@alsa-project.org, patches@opensource.wolfsonmicro.com, sameo@linux.intel.com Subject: Re: [alsa-devel] [PATCH] mfd: arizona: Call the runtime PM function if the state is runtime resumed Message-id: <20150921111642.112dc0c2@songinha-Samsung-DeskTop-System> In-reply-to: <20150918082446.GD7694@ck-lbox> References: <1442478527-29304-1-git-send-email-ideal.song@samsung.com> <20150917082542.GB7694@ck-lbox> <20150917180530.346232ce@songinha-Samsung-DeskTop-System> <20150917091632.GC7694@ck-lbox> <20150918154903.549cf6d0@songinha-Samsung-DeskTop-System> <20150918082446.GD7694@ck-lbox> X-Mailer: Claws Mail 3.8.0 (GTK+ 2.24.10; i686-pc-linux-gnu) MIME-version: 1.0 Content-type: text/plain; charset=US-ASCII Content-transfer-encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFlrBIsWRmVeSWpSXmKPExsWyRsSkWLc743+owYtNPBZXLh5ispj68Amb xb8pN9gt7n89ymhxedccNovlb/+zWZzuZnVg99jwuYnNY9OqTjaPO9f2sHnMOxno8XLibzaP z5vkAtiiuGxSUnMyy1KL9O0SuDK2rX/AXNAqWvFn21XWBsYVAl2MnBwSAiYS+15MYISwxSQu 3FvP1sXIxSEksIJRYuXs08wwRX+WbmSHSCxllPj54AAzhNPCJHHg81EmkCoWAVWJnpm/2UBs NgENie+fN4N1iwhYSExZcgusgVlgOaPE5UU7gPZxcAgL5Em86a8CqeEVcJXY+n8l2BmcAjoS 2zrWskIsWMIkMXfFd1aIM2wkVu9cxwzRICjxY/I9FhCbWUBLYvO2JlYIW15i85q3YMskBG6x S/RvX8sMcZ2AxLfJh1hAFksIyEpsOgD1mqTEwRU3WCYwis1CMnYWkrGzkIxdwMi8ilE0tSC5 oDgpvchIrzgxt7g0L10vOT93EyMwAk//e9a3g/HmAetDjAIcjEo8vDOE/ocKsSaWFVfmHmI0 BbpiIrOUaHI+MM7zSuINjc2MLExNTI2NzC3NlMR5E6R+BgsJpCeWpGanphakFsUXleakFh9i ZOLglGpgdDz4VkwuY2Nu6woLZudSXhevlZ1RRWcXVs9vr8xPfjL/29G/G9yv8Ug8C7HqOm32 NN3s9Aa9VxoGk1baX4pb9jbyKUeMqI4dY87LKMmztzoku7+rlp76mvDQMMXS7KnXHdal5vvZ Z4utVJJ6Ux+u5Lnww3Opg2dN3/8qm5pauIK9uWJukWm8EktxRqKhFnNRcSIAkweJCLsCAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrKIsWRmVeSWpSXmKPExsVy+t9jAd3ujP+hBg+ms1tcuXiIyWLqwyds Fv+m3GC3uP/1KKPF5V1z2CyWv/3PZnG6m9WB3WPD5yY2j02rOtk87lzbw+Yx72Sgx8uJv9k8 Pm+SC2CLamC0yUhNTEktUkjNS85PycxLt1XyDo53jjc1MzDUNbS0MFdSyEvMTbVVcvEJ0HXL zAE6RUmhLDGnFCgUkFhcrKRvh2lCaIibrgVMY4Sub0gQXI+RARpIWMOYsW39A+aCVtGKP9uu sjYwrhDoYuTkkBAwkfizdCM7hC0mceHeerYuRi4OIYGljBI/HxxghnBamCQOfD7KBFLFIqAq 0TPzNxuIzSagIfH982ZmEFtEwEJiypJbYA3MAssZJS4v2sHYxcjBISyQJ/GmvwqkhlfAVWLr /5WMIDangI7Eto61rBALljBJzF3xnRXiDBuJ1TvXMUM0CEr8mHyPBcRmFtCS2LytiRXClpfY vOYt8wRGgVlIymYhKZuFpGwBI/MqRonUguSC4qT0XMO81HK94sTc4tK8dL3k/NxNjOAofya1 g/HgLvdDjAIcjEo8vA4C/0OFWBPLiitzDzFKcDArifD+CQEK8aYkVlalFuXHF5XmpBYfYjQF hshEZinR5HxgAsoriTc0NjEzsjQyN7QwMjZXEueVXfksVEggPbEkNTs1tSC1CKaPiYNTqoGx 8M/hV0cKFkuaXms4xFG53ZOn+Oa+t29Mwq/dbha8/yc6hll+S49gdllT5PPDsgK798ycx1AQ PT/myWzup/Fvo9hsZ7n56c+tFjry55oLn+ekvH+986bNyHIpWDkhmuHZ3gCmaabfjnCavFqz 0vLCBNUZ81awv+b796lapkRmsdBk/1oxmd+rlViKMxINtZiLihMBVDteVAgDAAA= DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, Charles, I've already tried to change. If I change to that, we can't enter the suspen during the playback. - [ 72.538263] arizona spi1.0: Suspend, disabling IRQ ... [ 72.585823] arizona spi1.0: Late suspend, reengabling IRQ [ 72.585904] arizona spi1.0: Early resume, disabling IRQ ... [ 72.646770] PM: noirq suspend of devices failed <- because of "spi1.0" pm_wakeup_pending() in suspend_noirq() ... [ 72.663623] s3c64xx_spi_resume [ 72.851089] arizona spi1.0: Late resume, reenabling IRQ Best Regards, Inha Song. On Fri, 18 Sep 2015 09:24:46 +0100 Charles Keepax wrote: > On Fri, Sep 18, 2015 at 03:49:03PM +0900, Inha Song wrote: > > Hi, > > > > I just change dev_err() to dev_info() in arizona-core. > > > > > > root@localhost:~# aplay test.wav > > [ 42.731358] arizona spi1.0: Leaving AoD mode > > .... > > [ 42.823514] s3c64xx_spi_runtime_resume > > [ 42.828270] arizona spi1.0: ASRC underclocked > > [ 42.828281] s3c64xx_spi_runtime_suspend > > .... > > -> suspend () > > [ 72.398152] arizona spi1.0: Suspend, disabling IRQ > > [ 72.410471] s3c64xx_spi_runtime_resume > > [ 72.429045] s3c64xx_spi_suspend > > -> spi suspended > > [ 72.429905] PM: suspend of devices complete after 67.309 msecs > > [ 72.440084] arizona spi1.0: Late suspend, reenabling IRQ > > -> try to access spi irq after spi suspend() > > [ 72.440165] arizona spi1.0: Failed to read IRQ status: -108 > > [ 72.440174] arizona spi1.0: Failed to read main IRQ status: -108 > > [ 72.440242] arizona spi1.0: Failed to read IRQ status: -108 > > [ 72.440249] arizona spi1.0: Failed to read main IRQ status: -108 > > [ 72.440275] arizona spi1.0: Failed to read IRQ status: -108 > > [ 72.440282] arizona spi1.0: Failed to read main IRQ status: -108 > > [ 72.440304] arizona spi1.0: Failed to read IRQ status: -108 > > Ok so looking at the system PM code I think the problem here is > there is currently a small window between when we enable this IRQ > and when the suspend proceedure disables IRQs and this IRQ is > sneaking in at that point. > > Can you try the following diff and let me know what happens: > > --- a/drivers/mfd/arizona-core.c > +++ b/drivers/mfd/arizona-core.c > @@ -727,7 +727,7 @@ const struct dev_pm_ops arizona_pm_ops = { > NULL) > SET_SYSTEM_SLEEP_PM_OPS(arizona_suspend, arizona_resume) > #ifdef CONFIG_PM_SLEEP > - .suspend_late = arizona_suspend_late, > + .suspend_noirq = arizona_suspend_late, > .resume_noirq = arizona_resume_noirq, > #endif > > Thanks, > Charles