From: Felipe Balbi <balbi@ti.com>
To: Russell King - ARM Linux <linux@arm.linux.org.uk>
Cc: Felipe Balbi <balbi@ti.com>,
"Poddar, Sourav" <sourav.poddar@ti.com>,
gregkh@linuxfoundation.org, khilman@ti.com, paul@pwsan.com,
tony@atomide.com, linux-kernel@vger.kernel.org,
santosh.shilimkar@ti.com, linux-serial@vger.kernel.org,
linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
alan@linux.intel.com
Subject: Re: [RFT/PATCH] serial: omap: prevent resume if device is not suspended.
Date: Tue, 25 Sep 2012 13:37:03 +0300 [thread overview]
Message-ID: <20120925103652.GN9137@arwen.pp.htv.fi> (raw)
In-Reply-To: <20120925102958.GL31374@n2100.arm.linux.org.uk>
[-- Attachment #1: Type: text/plain, Size: 4320 bytes --]
On Tue, Sep 25, 2012 at 11:29:58AM +0100, Russell King - ARM Linux wrote:
> On Tue, Sep 25, 2012 at 12:48:16PM +0300, Felipe Balbi wrote:
> > Hi,
> >
> > On Tue, Sep 25, 2012 at 10:21:18AM +0100, Russell King - ARM Linux wrote:
> > > On Tue, Sep 25, 2012 at 12:11:14PM +0300, Felipe Balbi wrote:
> > > > On Tue, Sep 25, 2012 at 10:12:28AM +0100, Russell King - ARM Linux wrote:
> > > > > On Tue, Sep 25, 2012 at 11:31:20AM +0300, Felipe Balbi wrote:
> > > > > > On Tue, Sep 25, 2012 at 09:30:29AM +0100, Russell King - ARM Linux wrote:
> > > > > > > How is this happening? I think that needs proper investigation - or if
> > > > > > > it's had more investigation, then the results needs to be included in
> > > > > > > the commit description so that everyone can understand the issue here.
> > > > > > >
> > > > > > > We should not be resuming a device which hasn't been suspended. Maybe
> > > > > > > the runtime PM enable sequence is wrong, and that's what should be fixed
> > > > > > > instead?
> > > > > > >
> > > > > > > This sequence in the probe() function:
> > > > > > >
> > > > > > > pm_runtime_irq_safe(&pdev->dev);
> > > > > > > pm_runtime_enable(&pdev->dev);
> > > > > > > pm_runtime_get_sync(&pdev->dev);
> > > > > > >
> > > > > > > would enable runtime PM while the s/w state indicates that it's disabled,
> > > > > > > and then that pm_runtime_get_sync() will want to resume the device. See
> > > > > > > the section "5. Runtime PM Initialization, Device Probing and Removal"
> > > > > > > in Documentation/power/runtime_pm.txt, specifically the second paragraph
> > > > > > > of that section.
> > > > > >
> > > > > > that was tested. It worked in pandaboard but didn't work on beagleboard
> > > > > > XM. Sourav tried to start a discussion about that, but it simply died...
> > > > > >
> > > > > > In any case, pm_runtime_get_sync() in probe will always call
> > > > > > runtime_resume callback, right ?
> > > > >
> > > > > Well, if the runtime PM state says it's suspended, and then you enable
> > > > > runtime PM, the first call to pm_runtime_get_sync() will trigger a resume
> > > > > attempt. The patch description is complaining about resume events without
> > > > > there being a preceding suspend event.
> > > > >
> > > > > This could well be why.
> > > >
> > > > that's most likely, of course. But should we cause a regression to
> > > > beagleboard XM because of that ?
> > >
> > > What would cause a regression on beagleboard XM? I have not suggested
> > > any change other than more investigation of the issue and a fuller patch
> > > description - yet you're screaming (idiotically IMHO) that mere
> > > investigation would break beagleboard.
> > >
> > > Well, if it's _that_ fragile, that mere investigation of this issue by
> > > someone elsewhere on the planet would break your beagleboard, maybe it
> > > deserves to be broken!
> >
> > why are you always so over the top like that ? This is just
> > counter-productive to say the least.
>
> Because you are accusing me of potentially breaking your beagleboard
> for merely suggesting further investigation and a better commit message.
Where did I accuse you of anyting ? I just mentioned we experienced a
regression with beagleboard XM when using pm_runtime_set_active().
here's my quote:
> that was tested. It worked in pandaboard but didn't work on
> beagleboard XM. Sourav tried to start a discussion about that, but it
> simply died...
To add extra info, here you go:
We pinged Paul and asked if he had seen that before, he had no
pointers... Because Documentation/power/runtime_pm.txt was using a
mystruct->is_suspended flag, we just decided to follow the same
"design" since no-one was able to suggest why pm_runtime_set_active()
was breaking beagleXM nor how it was supposed to actually work.
Reading the code: pm_runtime_set_active() would tell pm_runtime core
the device is actually active by setting runtime_status to RPM_ACTIVE,
thus the following pm_runtime_get_sync() wouldn't actually call
runtime_resume() callback, but it would increment usage_counter.
I can't see why this would fail on beagleXM, but it does and we'd like
to hear in which situations this could fail...
--
balbi
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
next prev parent reply other threads:[~2012-09-25 10:41 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-09-18 12:40 [RFT/PATCH] serial: omap: prevent resume if device is not suspended Sourav Poddar
2012-09-18 14:02 ` Felipe Balbi
2012-09-18 22:57 ` Paul Walmsley
2012-09-19 11:52 ` Grazvydas Ignotas
2012-09-19 11:59 ` Felipe Balbi
2012-09-25 12:29 ` Jassi Brar
2012-09-25 8:22 ` Poddar, Sourav
2012-09-25 8:30 ` Russell King - ARM Linux
2012-09-25 8:31 ` Felipe Balbi
2012-09-25 9:12 ` Russell King - ARM Linux
2012-09-25 9:11 ` Felipe Balbi
2012-09-25 9:21 ` Russell King - ARM Linux
2012-09-25 9:48 ` Felipe Balbi
2012-09-25 10:29 ` Russell King - ARM Linux
2012-09-25 10:37 ` Felipe Balbi [this message]
2012-09-25 11:07 ` Russell King - ARM Linux
2012-09-25 11:12 ` Felipe Balbi
2012-09-25 11:32 ` Russell King - ARM Linux
2012-09-25 9:56 ` Poddar, Sourav
2012-09-25 10:59 ` Russell King - ARM Linux
2012-10-03 0:33 ` Kevin Hilman
2012-10-11 18:28 ` Paul Walmsley
2012-10-12 16:24 ` Sourav
2012-10-12 16:35 ` Kevin Hilman
2012-10-12 16:42 ` Russell King - ARM Linux
2012-10-12 17:29 ` Poddar, Sourav
2012-10-12 18:49 ` Russell King - ARM Linux
2012-10-12 17:59 ` Kevin Hilman
2012-10-12 18:54 ` Russell King - ARM Linux
2012-10-12 20:32 ` Kevin Hilman
2012-10-12 21:51 ` Tony Lindgren
2012-10-15 22:37 ` Kevin Hilman
2012-09-25 11:15 ` Russell King - ARM Linux
2012-09-26 20:30 ` Greg KH
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20120925103652.GN9137@arwen.pp.htv.fi \
--to=balbi@ti.com \
--cc=alan@linux.intel.com \
--cc=gregkh@linuxfoundation.org \
--cc=khilman@ti.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=paul@pwsan.com \
--cc=santosh.shilimkar@ti.com \
--cc=sourav.poddar@ti.com \
--cc=tony@atomide.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).