LKML Archive on lore.kernel.org help / color / mirror / Atom feed
From: Tony Lindgren <tony@atomide.com> To: Johan Hovold <johan@kernel.org> Cc: Sebastian Reichel <sre@kernel.org>, "H. Nikolaus Schaller" <hns@goldelico.com>, Andreas Kemnade <andreas@kemnade.info>, Mark Rutland <mark.rutland@arm.com>, Arnd Bergmann <arnd@arndb.de>, Pavel Machek <pavel@ucw.cz>, "linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>, "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" <devicetree@vger.kernel.org>, Greg Kroah-Hartman <gregkh@linuxfoundation.org>, Rob Herring <robh+dt@kernel.org>, linux-serial@vger.kernel.org, linux-omap@vger.kernel.org, linux-pm@vger.kernel.org Subject: Re: OMAP serial runtime PM and autosuspend (was: Re: [PATCH 4/7] dt-bindings: gnss: add u-blox binding)) Date: Thu, 17 May 2018 10:10:38 -0700 [thread overview] Message-ID: <20180517171038.GL98604@atomide.com> (raw) In-Reply-To: <20180517100948.GI30172@localhost> * Johan Hovold <johan@kernel.org> [180517 10:12]: > [ Sorry about the late reply. ] > > On Wed, May 09, 2018 at 06:57:06AM -0700, Tony Lindgren wrote: > > * Johan Hovold <johan@kernel.org> [180509 13:12]: > > > > It seems we really should not be using the negative autosuspend to > > > configure the RPM behaviour the way these drivers do. Perhaps a new > > > mechanism is needed. > > > > Hmm well simply defaulting to "on" instead of "auto" and setting the > > autosuspend_ms to 3000 by default might be doable. I think that way > > we can keep use_autosuspend() in probe. Let's hope there are no > > existing use cases that would break with that. > > No, defaulting to "on" (i.e. calling pm_runtime_forbid()) wouldn't work > either as that would also prevent the device from runtime suspending > just as the current negative autosuspend delay does. Well in that case we should just stick with -1 value for the autosuspend. And just do pm_runtime_put_sync_suspend() after probe and on close. > I fail to see how we can implement this using the current toolbox. What > you're after here is really a mechanism for selecting between two > different runtime PM schemes at runtime: > > 1. normal serial RPM, where the controller is active while the > port is open (this should be the safe default) Agreed. And that is the case already. > 2. aggressive serial RPM, where the controller is allowed to > suspend while the port is open even though this may result in > lost characters when waking up on incoming data In this case it seems that the only thing needed is to just configure the autosuspend delay for the parent port. The use of -1 has been around since the start of runtime PM AFAIK, so maybe we should just document it. I guess we could also introduce pm_runtime_block_autoidle_unless_configured() :) > For normal ttys, we need a user-space interface for selecting between > the two, and for serdev we may want a way to select the RPM scheme from > within the kernel. > > Note that with my serdev controller runtime PM patch, serdev core could > always opt for aggressive PM (as by default serdev core holds an RPM > reference for the controller while the port is open). So if your serdev controller was to set the parent autosuspend delay on open() and set it back on close() this should work? Regards, Tony
next prev parent reply other threads:[~2018-05-17 17:10 UTC|newest] Thread overview: 86+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-04-24 16:34 [PATCH 0/7] gnss: add new GNSS subsystem Johan Hovold 2018-04-24 16:34 ` [PATCH 1/7] gnss: add GNSS receiver subsystem Johan Hovold 2018-04-25 8:56 ` Greg Kroah-Hartman 2018-04-25 10:56 ` Johan Hovold 2018-04-25 12:23 ` Johan Hovold 2018-04-29 13:35 ` Greg Kroah-Hartman 2018-05-02 7:57 ` Johan Hovold 2018-04-24 16:34 ` [PATCH 2/7] dt-bindings: add generic gnss binding Johan Hovold 2018-04-25 18:26 ` Rob Herring 2018-04-24 16:34 ` [PATCH 3/7] gnss: add generic serial driver Johan Hovold 2018-04-25 8:57 ` Greg Kroah-Hartman 2018-04-25 10:58 ` Johan Hovold 2018-04-25 9:00 ` Greg Kroah-Hartman 2018-04-25 11:05 ` Johan Hovold 2018-04-24 16:34 ` [PATCH 4/7] dt-bindings: gnss: add u-blox binding Johan Hovold 2018-04-25 18:16 ` Rob Herring 2018-04-26 9:10 ` Johan Hovold 2018-05-01 14:05 ` Rob Herring 2018-05-02 8:16 ` Johan Hovold 2018-05-02 13:16 ` Rob Herring 2018-05-07 9:06 ` Johan Hovold 2018-05-03 9:35 ` H. Nikolaus Schaller 2018-05-03 18:50 ` Andreas Kemnade 2018-05-04 5:16 ` H. Nikolaus Schaller 2018-05-04 11:42 ` Sebastian Reichel 2018-05-04 12:04 ` H. Nikolaus Schaller 2018-05-04 13:37 ` Sebastian Reichel 2018-05-04 14:29 ` Tony Lindgren 2018-05-07 10:07 ` Johan Hovold 2018-05-07 10:01 ` Johan Hovold 2018-05-07 15:45 ` Tony Lindgren 2018-05-07 16:34 ` Johan Hovold 2018-05-07 17:50 ` Tony Lindgren 2018-05-08 6:58 ` Johan Hovold 2018-05-08 15:22 ` Tony Lindgren 2018-05-08 15:47 ` Tony Lindgren 2018-05-08 15:54 ` Tony Lindgren 2018-05-08 16:49 ` Tony Lindgren 2018-05-09 13:10 ` OMAP serial runtime PM and autosuspend (was: Re: [PATCH 4/7] dt-bindings: gnss: add u-blox binding)) Johan Hovold 2018-05-09 13:57 ` Tony Lindgren 2018-05-17 10:09 ` Johan Hovold 2018-05-17 17:10 ` Tony Lindgren [this message] 2018-05-21 13:48 ` Johan Hovold 2018-05-21 15:48 ` Tony Lindgren 2018-05-24 9:17 ` Johan Hovold 2018-05-24 13:32 ` Tony Lindgren 2018-05-25 14:02 ` Johan Hovold 2018-05-08 15:56 ` [PATCH 4/7] dt-bindings: gnss: add u-blox binding Sebastian Reichel 2018-05-09 9:18 ` Serdev runtime PM (was: Re: [PATCH 4/7] dt-bindings: gnss: add u-blox binding) Johan Hovold 2018-05-09 9:49 ` Johan Hovold 2018-05-09 14:05 ` Tony Lindgren 2018-05-17 10:25 ` Johan Hovold 2018-05-07 9:47 ` [PATCH 4/7] dt-bindings: gnss: add u-blox binding Johan Hovold 2018-04-24 16:34 ` [PATCH 5/7] gnss: add driver for u-blox receivers Johan Hovold 2018-04-24 16:34 ` [PATCH 6/7] dt-bindings: gnss: add sirfstar binding Johan Hovold 2018-04-25 18:25 ` Rob Herring 2018-04-26 9:12 ` Johan Hovold 2018-04-24 16:34 ` [PATCH 7/7] gnss: add driver for sirfstar-based receivers Johan Hovold 2018-04-24 17:40 ` [PATCH 0/7] gnss: add new GNSS subsystem H. Nikolaus Schaller 2018-04-24 17:50 ` Johan Hovold 2018-04-24 19:44 ` H. Nikolaus Schaller 2018-04-25 8:11 ` Johan Hovold 2018-04-26 10:10 ` H. Nikolaus Schaller 2018-04-26 18:21 ` Johan Hovold 2018-04-24 20:13 ` Pavel Machek 2018-04-24 20:59 ` Andreas Kemnade 2018-04-25 7:32 ` Johan Hovold 2018-04-25 6:49 ` Marcel Holtmann 2018-04-25 7:24 ` Johan Hovold 2018-04-24 20:38 ` Pavel Machek 2018-04-25 6:26 ` Pavel Machek 2018-04-25 6:51 ` Johan Hovold 2018-04-25 8:48 ` Greg Kroah-Hartman 2018-04-25 10:31 ` Johan Hovold 2018-05-04 13:27 ` Sebastian Reichel 2018-05-04 20:03 ` Pavel Machek 2018-05-05 17:28 ` Sebastian Reichel 2018-05-05 21:11 ` Pavel Machek 2018-05-06 6:47 ` Marcel Holtmann 2018-05-07 10:20 ` Johan Hovold 2018-05-07 19:06 ` Marcel Holtmann 2018-05-08 7:01 ` Johan Hovold 2018-05-08 7:49 ` Marcel Holtmann 2018-05-08 12:48 ` Johan Hovold 2018-05-08 20:03 ` Marcel Holtmann 2018-05-30 10:26 ` Johan Hovold
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=20180517171038.GL98604@atomide.com \ --to=tony@atomide.com \ --cc=andreas@kemnade.info \ --cc=arnd@arndb.de \ --cc=devicetree@vger.kernel.org \ --cc=gregkh@linuxfoundation.org \ --cc=hns@goldelico.com \ --cc=johan@kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-omap@vger.kernel.org \ --cc=linux-pm@vger.kernel.org \ --cc=linux-serial@vger.kernel.org \ --cc=mark.rutland@arm.com \ --cc=pavel@ucw.cz \ --cc=robh+dt@kernel.org \ --cc=sre@kernel.org \ /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: linkBe 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).