From: Ulf Hansson <ulf.hansson@linaro.org>
To: "Rafael J . Wysocki" <rjw@rjwysocki.net>,
Sudeep Holla <sudeep.holla@arm.com>,
Lorenzo Pieralisi <Lorenzo.Pieralisi@arm.com>,
Mark Rutland <mark.rutland@arm.com>,
Daniel Lezcano <daniel.lezcano@linaro.org>,
linux-pm@vger.kernel.org
Cc: Tony Lindgren <tony@atomide.com>,
Kevin Hilman <khilman@kernel.org>,
Lina Iyer <ilina@codeaurora.org>,
Ulf Hansson <ulf.hansson@linaro.org>,
Rob Herring <robh+dt@kernel.org>,
Viresh Kumar <viresh.kumar@linaro.org>,
Vincent Guittot <vincent.guittot@linaro.org>,
Geert Uytterhoeven <geert+renesas@glider.be>,
linux-arm-kernel@lists.infradead.org,
linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH v9 03/11] PM / Domains: Document flags for genpd
Date: Wed, 3 Oct 2018 16:38:16 +0200 [thread overview]
Message-ID: <20181003143824.13059-4-ulf.hansson@linaro.org> (raw)
In-Reply-To: <20181003143824.13059-1-ulf.hansson@linaro.org>
The current documented description of the GENPD_FLAG_* flags, are too
simplified, so let's extend them.
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
---
include/linux/pm_domain.h | 35 ++++++++++++++++++++++++++++++-----
1 file changed, 30 insertions(+), 5 deletions(-)
diff --git a/include/linux/pm_domain.h b/include/linux/pm_domain.h
index 776c546d581a..3b5d7280e52e 100644
--- a/include/linux/pm_domain.h
+++ b/include/linux/pm_domain.h
@@ -17,11 +17,36 @@
#include <linux/notifier.h>
#include <linux/spinlock.h>
-/* Defines used for the flags field in the struct generic_pm_domain */
-#define GENPD_FLAG_PM_CLK (1U << 0) /* PM domain uses PM clk */
-#define GENPD_FLAG_IRQ_SAFE (1U << 1) /* PM domain operates in atomic */
-#define GENPD_FLAG_ALWAYS_ON (1U << 2) /* PM domain is always powered on */
-#define GENPD_FLAG_ACTIVE_WAKEUP (1U << 3) /* Keep devices active if wakeup */
+/*
+ * Flags to control the behaviour of a genpd.
+ *
+ * These flags may be set in the struct generic_pm_domain's flags field by a
+ * genpd backend driver. The flags must be set before it calls pm_genpd_init(),
+ * which initializes a genpd.
+ *
+ * GENPD_FLAG_PM_CLK: Instructs genpd to use the PM clk framework,
+ * while powering on/off attached devices.
+ *
+ * GENPD_FLAG_IRQ_SAFE: This informs genpd that its backend callbacks,
+ * ->power_on|off(), doesn't sleep. Hence, these
+ * can be invoked from within atomic context, which
+ * enables genpd to power on/off the PM domain,
+ * even when pm_runtime_is_irq_safe() returns true,
+ * for any of its attached devices. Note that, a
+ * genpd having this flag set, requires its
+ * masterdomains to also have it set.
+ *
+ * GENPD_FLAG_ALWAYS_ON: Instructs genpd to always keep the PM domain
+ * powered on.
+ *
+ * GENPD_FLAG_ACTIVE_WAKEUP: Instructs genpd to keep the PM domain powered
+ * on, in case any of its attached devices is used
+ * in the wakeup path to serve system wakeups.
+ */
+#define GENPD_FLAG_PM_CLK (1U << 0)
+#define GENPD_FLAG_IRQ_SAFE (1U << 1)
+#define GENPD_FLAG_ALWAYS_ON (1U << 2)
+#define GENPD_FLAG_ACTIVE_WAKEUP (1U << 3)
enum gpd_status {
GPD_STATE_ACTIVE = 0, /* PM domain is active */
--
2.17.1
next prev parent reply other threads:[~2018-10-03 14:39 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-10-03 14:38 [PATCH v9 00/11] PM / Domains: Support hierarchical CPU arrangement (PSCI/ARM) (a subset) Ulf Hansson
2018-10-03 14:38 ` [PATCH v9 01/11] PM / Domains: Don't treat zero found compatible idle states as an error Ulf Hansson
2018-10-03 14:38 ` [PATCH v9 02/11] PM / Domains: Deal with multiple states but no governor in genpd Ulf Hansson
2018-10-03 14:38 ` Ulf Hansson [this message]
2018-10-04 13:48 ` [PATCH v9 03/11] PM / Domains: Document flags for genpd Tony Lindgren
2018-10-04 14:57 ` Ulf Hansson
2018-10-04 16:13 ` Tony Lindgren
2018-10-03 14:38 ` [PATCH v9 04/11] dt: psci: Update DT bindings to support hierarchical PSCI states Ulf Hansson
2018-10-10 15:03 ` Sudeep Holla
2018-10-11 14:44 ` Ulf Hansson
2018-10-11 16:41 ` Sudeep Holla
2018-10-12 9:43 ` Ulf Hansson
2018-10-12 10:13 ` Sudeep Holla
2018-10-12 10:24 ` Ulf Hansson
2018-10-03 14:38 ` [PATCH v9 05/11] of: base: Add of_get_cpu_state_node() to get idle states for a CPU node Ulf Hansson
2018-10-10 15:03 ` Sudeep Holla
2018-10-11 15:05 ` Ulf Hansson
2018-10-11 16:01 ` Sudeep Holla
2018-10-03 14:38 ` [PATCH v9 06/11] cpuidle: dt: Support hierarchical CPU idle states Ulf Hansson
2018-10-10 15:03 ` Sudeep Holla
2018-10-03 14:38 ` [PATCH v9 07/11] drivers: firmware: psci: Move psci to separate directory Ulf Hansson
2018-10-03 14:38 ` [PATCH v9 08/11] MAINTAINERS: Update files for PSCI Ulf Hansson
2018-10-03 14:38 ` [PATCH v9 09/11] drivers: firmware: psci: Split psci_dt_cpu_init_idle() Ulf Hansson
2018-10-03 14:38 ` [PATCH v9 10/11] drivers: firmware: psci: Support hierarchical CPU idle states Ulf Hansson
2018-10-03 14:38 ` [PATCH v9 11/11] drivers: firmware: psci: Simplify error path of psci_dt_init() Ulf Hansson
2018-10-04 8:39 ` [PATCH v9 00/11] PM / Domains: Support hierarchical CPU arrangement (PSCI/ARM) (a subset) Rafael J. Wysocki
2018-10-04 8:58 ` Ulf Hansson
2018-10-04 9:01 ` Rafael J. Wysocki
2018-10-04 9:32 ` Rafael J. Wysocki
2018-10-04 10:10 ` Ulf Hansson
2018-10-04 15:57 ` Lorenzo Pieralisi
2018-10-04 17:07 ` Rafael J. Wysocki
2018-10-04 17:21 ` Lorenzo Pieralisi
2018-10-04 18:36 ` Ulf Hansson
2018-10-04 18:38 ` Ulf Hansson
2018-10-05 10:47 ` Lorenzo Pieralisi
2018-10-05 11:49 ` Ulf Hansson
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=20181003143824.13059-4-ulf.hansson@linaro.org \
--to=ulf.hansson@linaro.org \
--cc=Lorenzo.Pieralisi@arm.com \
--cc=daniel.lezcano@linaro.org \
--cc=geert+renesas@glider.be \
--cc=ilina@codeaurora.org \
--cc=khilman@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=rjw@rjwysocki.net \
--cc=robh+dt@kernel.org \
--cc=sudeep.holla@arm.com \
--cc=tony@atomide.com \
--cc=vincent.guittot@linaro.org \
--cc=viresh.kumar@linaro.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: 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).