From: Lina Iyer <lina.iyer@linaro.org> To: ulf.hansson@linaro.org, khilman@kernel.org, rjw@rjwysocki.net, linux-pm@vger.kernel.org, linux-arm-kernel@lists.infradead.org Cc: andy.gross@linaro.org, sboyd@codeaurora.org, linux-arm-msm@vger.kernel.org, brendan.jackman@arm.com, lorenzo.pieralisi@arm.com, sudeep.holla@arm.com, Juri.Lelli@arm.com, Lina Iyer <lina.iyer@linaro.org> Subject: [PATCH v5 00/16] PM: SoC idle support using PM domains Date: Fri, 26 Aug 2016 14:17:42 -0600 [thread overview] Message-ID: <1472242678-33700-1-git-send-email-lina.iyer@linaro.org> (raw) Hi all, Changes since v4 [10]: - Rebased on top of v4.8-rc3. - Generalized CPU runtime PM, not specific to ARM anymore. - CPU PM domains not dependent on OF anymore. Changes since v3 [7]: - Mostly refactoring and reorganization, no functional changes. - Refactored DT support for CPU PM domains into a separate patch. (Suggested by Ulf) - Reorganized domain idle state into DT binding, to be more in line with the discussions that followed the last patch submission. (Thanks Brendan, Sudeep, Lorenzo for some really good discussions.) Changes since v2 [5]: - Update PSCI documentation to define OS-Initiated PM domains. - Nifty updates and bug fixes. Thanks Brendan! - Define PSCI PM domains under psci node in 8916 DT. - Documentation updates for domain definitions. - Updated series is at [4]. Changes since v1 [6]: - Use arm,idle-state as the DT binding for domain idle state. - OS-Initated changes to support that and to read arm,psci-suspend-param (Thanks Mark Rutland and Kevin Hilman) - tick_nohz_get_next_wakeup() - suggestions from Thomas Gleixner. - The updated series is at [3]. Changes since RFC-v3 [1]: - Reorganize the patches. Documentations have their own patch. - Moved code around with PSCI OS initiated so they would not have compiler errors in other configuration. - Minor bug fixes with genpd power_on functionality. - Rebased on top of 4.7-rc1 This is the submission of the SoC idle support in the kernel for CPU domains using genpd. The patches were submitted as RFC's earlier, the last of them is [1]. Since the RFC, multiple discussions have happened around making the patches generic across all architectures. The patch has been tested on the 410c Dragonboard and the MTK EVB boards. Both show good power savings when used with OS Initiated PSCI f/w. This entire series can be found at [9]. Thanks, Lina [1]. http://lists.infradead.org/pipermail/linux-arm-kernel/2016-March/412934.html [2]. https://git.linaro.org/people/lina.iyer/linux-next.git/shortlog/refs/heads/genpd-psci-v1 [3]. https://git.linaro.org/people/lina.iyer/linux-next.git/shortlog/refs/heads/genpd-psci-v2 [4]. https://git.linaro.org/people/lina.iyer/linux-next.git/shortlog/refs/heads/genpd-psci-v3 [5]. https://lwn.net/Articles/695987/ [6]. https://lwn.net/Articles/675674/ [7]. http://www.spinics.net/lists/arm-kernel/msg522021.html [8]. https://git.linaro.org/people/lina.iyer/linux-next.git/shortlog/refs/heads/genpd-psci-v4 [9]. https://git.linaro.org/people/lina.iyer/linux-next.git/shortlog/refs/heads/genpd-psci-v5 [10]. http://www.spinics.net/lists/arm-kernel/msg526463.html Axel Haslam (2): PM / Domains: Allow domain power states to be read from DT dt/bindings: Update binding for PM domain idle states Lina Iyer (14): PM / Domains: Abstract genpd locking PM / Domains: Support IRQ safe PM domains PM / doc: Update device documentation for devices in IRQ safe PM domains drivers: cpu: Setup CPU devices to do runtime PM kernel/cpu_pm: Add runtime PM support for CPUs PM / cpu_domains: Setup PM domains for CPUs/clusters PM / cpu_domains: Initialize CPU PM domains from DT timer: Export next wake up of a CPU PM / cpu_domains: Add PM Domain governor for CPUs doc / cpu_domains: Describe CPU PM domains setup and governor drivers: firmware: psci: Allow OS Initiated suspend mode drivers: firmware: psci: Support cluster idle states for OS-Initiated dt/bindings: Add PSCI OS-Initiated PM Domains bindings ARM64: dts: Define CPU power domain for MSM8916 Documentation/devicetree/bindings/arm/psci.txt | 79 ++++ .../devicetree/bindings/power/power_domain.txt | 57 +++ Documentation/power/cpu_domains.txt | 109 +++++ Documentation/power/devices.txt | 12 +- arch/arm64/boot/dts/qcom/msm8916.dtsi | 25 ++ drivers/base/cpu.c | 18 + drivers/base/power/Makefile | 2 +- drivers/base/power/cpu_domains.c | 459 +++++++++++++++++++++ drivers/base/power/domain.c | 308 ++++++++++++-- drivers/firmware/psci.c | 135 +++++- include/linux/cpu_domains.h | 67 +++ include/linux/pm_domain.h | 24 +- include/linux/tick.h | 7 + include/uapi/linux/psci.h | 5 + kernel/cpu_pm.c | 45 ++ kernel/time/tick-sched.c | 11 + 16 files changed, 1298 insertions(+), 65 deletions(-) create mode 100644 Documentation/power/cpu_domains.txt create mode 100644 drivers/base/power/cpu_domains.c create mode 100644 include/linux/cpu_domains.h -- 2.7.4
WARNING: multiple messages have this Message-ID (diff)
From: lina.iyer@linaro.org (Lina Iyer) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH v5 00/16] PM: SoC idle support using PM domains Date: Fri, 26 Aug 2016 14:17:42 -0600 [thread overview] Message-ID: <1472242678-33700-1-git-send-email-lina.iyer@linaro.org> (raw) Hi all, Changes since v4 [10]: - Rebased on top of v4.8-rc3. - Generalized CPU runtime PM, not specific to ARM anymore. - CPU PM domains not dependent on OF anymore. Changes since v3 [7]: - Mostly refactoring and reorganization, no functional changes. - Refactored DT support for CPU PM domains into a separate patch. (Suggested by Ulf) - Reorganized domain idle state into DT binding, to be more in line with the discussions that followed the last patch submission. (Thanks Brendan, Sudeep, Lorenzo for some really good discussions.) Changes since v2 [5]: - Update PSCI documentation to define OS-Initiated PM domains. - Nifty updates and bug fixes. Thanks Brendan! - Define PSCI PM domains under psci node in 8916 DT. - Documentation updates for domain definitions. - Updated series is at [4]. Changes since v1 [6]: - Use arm,idle-state as the DT binding for domain idle state. - OS-Initated changes to support that and to read arm,psci-suspend-param (Thanks Mark Rutland and Kevin Hilman) - tick_nohz_get_next_wakeup() - suggestions from Thomas Gleixner. - The updated series is at [3]. Changes since RFC-v3 [1]: - Reorganize the patches. Documentations have their own patch. - Moved code around with PSCI OS initiated so they would not have compiler errors in other configuration. - Minor bug fixes with genpd power_on functionality. - Rebased on top of 4.7-rc1 This is the submission of the SoC idle support in the kernel for CPU domains using genpd. The patches were submitted as RFC's earlier, the last of them is [1]. Since the RFC, multiple discussions have happened around making the patches generic across all architectures. The patch has been tested on the 410c Dragonboard and the MTK EVB boards. Both show good power savings when used with OS Initiated PSCI f/w. This entire series can be found at [9]. Thanks, Lina [1]. http://lists.infradead.org/pipermail/linux-arm-kernel/2016-March/412934.html [2]. https://git.linaro.org/people/lina.iyer/linux-next.git/shortlog/refs/heads/genpd-psci-v1 [3]. https://git.linaro.org/people/lina.iyer/linux-next.git/shortlog/refs/heads/genpd-psci-v2 [4]. https://git.linaro.org/people/lina.iyer/linux-next.git/shortlog/refs/heads/genpd-psci-v3 [5]. https://lwn.net/Articles/695987/ [6]. https://lwn.net/Articles/675674/ [7]. http://www.spinics.net/lists/arm-kernel/msg522021.html [8]. https://git.linaro.org/people/lina.iyer/linux-next.git/shortlog/refs/heads/genpd-psci-v4 [9]. https://git.linaro.org/people/lina.iyer/linux-next.git/shortlog/refs/heads/genpd-psci-v5 [10]. http://www.spinics.net/lists/arm-kernel/msg526463.html Axel Haslam (2): PM / Domains: Allow domain power states to be read from DT dt/bindings: Update binding for PM domain idle states Lina Iyer (14): PM / Domains: Abstract genpd locking PM / Domains: Support IRQ safe PM domains PM / doc: Update device documentation for devices in IRQ safe PM domains drivers: cpu: Setup CPU devices to do runtime PM kernel/cpu_pm: Add runtime PM support for CPUs PM / cpu_domains: Setup PM domains for CPUs/clusters PM / cpu_domains: Initialize CPU PM domains from DT timer: Export next wake up of a CPU PM / cpu_domains: Add PM Domain governor for CPUs doc / cpu_domains: Describe CPU PM domains setup and governor drivers: firmware: psci: Allow OS Initiated suspend mode drivers: firmware: psci: Support cluster idle states for OS-Initiated dt/bindings: Add PSCI OS-Initiated PM Domains bindings ARM64: dts: Define CPU power domain for MSM8916 Documentation/devicetree/bindings/arm/psci.txt | 79 ++++ .../devicetree/bindings/power/power_domain.txt | 57 +++ Documentation/power/cpu_domains.txt | 109 +++++ Documentation/power/devices.txt | 12 +- arch/arm64/boot/dts/qcom/msm8916.dtsi | 25 ++ drivers/base/cpu.c | 18 + drivers/base/power/Makefile | 2 +- drivers/base/power/cpu_domains.c | 459 +++++++++++++++++++++ drivers/base/power/domain.c | 308 ++++++++++++-- drivers/firmware/psci.c | 135 +++++- include/linux/cpu_domains.h | 67 +++ include/linux/pm_domain.h | 24 +- include/linux/tick.h | 7 + include/uapi/linux/psci.h | 5 + kernel/cpu_pm.c | 45 ++ kernel/time/tick-sched.c | 11 + 16 files changed, 1298 insertions(+), 65 deletions(-) create mode 100644 Documentation/power/cpu_domains.txt create mode 100644 drivers/base/power/cpu_domains.c create mode 100644 include/linux/cpu_domains.h -- 2.7.4
next reply other threads:[~2016-08-26 20:17 UTC|newest] Thread overview: 70+ messages / expand[flat|nested] mbox.gz Atom feed top 2016-08-26 20:17 Lina Iyer [this message] 2016-08-26 20:17 ` [PATCH v5 00/16] PM: SoC idle support using PM domains Lina Iyer 2016-08-26 20:17 ` [PATCH v5 01/16] PM / Domains: Allow domain power states to be read from DT Lina Iyer 2016-08-26 20:17 ` Lina Iyer 2016-08-26 20:17 ` [PATCH v5 02/16] dt/bindings: Update binding for PM domain idle states Lina Iyer 2016-08-26 20:17 ` Lina Iyer [not found] ` <1472242678-33700-3-git-send-email-lina.iyer-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> 2016-09-02 14:21 ` Sudeep Holla 2016-09-02 14:21 ` Sudeep Holla 2016-09-02 20:16 ` Lina Iyer 2016-09-02 20:16 ` Lina Iyer [not found] ` <20160902201605.GA1705-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> 2016-09-12 15:19 ` Brendan Jackman 2016-09-12 15:19 ` Brendan Jackman 2016-09-12 16:16 ` Lina Iyer 2016-09-12 16:16 ` Lina Iyer 2016-09-12 17:09 ` Sudeep Holla 2016-09-12 17:09 ` Sudeep Holla [not found] ` <a4fc71ae-6fa5-4142-6dd4-7bc96eb20186-5wv7dgnIgG8@public.gmane.org> 2016-09-13 17:50 ` Brendan Jackman 2016-09-13 17:50 ` Brendan Jackman 2016-09-13 19:38 ` Lina Iyer 2016-09-13 19:38 ` Lina Iyer 2016-09-14 10:14 ` Brendan Jackman 2016-09-14 10:14 ` Brendan Jackman [not found] ` <87h99i6b5d.fsf-5wv7dgnIgG8@public.gmane.org> 2016-09-14 11:37 ` Ulf Hansson 2016-09-14 11:37 ` Ulf Hansson 2016-09-14 14:55 ` Lina Iyer 2016-09-14 14:55 ` Lina Iyer 2016-09-16 17:13 ` Kevin Hilman 2016-09-16 17:13 ` Kevin Hilman [not found] ` <7hpoo3ix80.fsf-rdvid1DuHRBWk0Htik3J/w@public.gmane.org> 2016-09-16 17:39 ` Sudeep Holla 2016-09-16 17:39 ` Sudeep Holla 2016-09-19 15:09 ` Brendan Jackman 2016-09-19 15:09 ` Brendan Jackman 2016-09-20 16:17 ` Lina Iyer 2016-09-20 16:17 ` Lina Iyer 2016-09-21 9:48 ` Brendan Jackman 2016-09-21 9:48 ` Brendan Jackman 2016-08-26 20:17 ` [PATCH v5 03/16] PM / Domains: Abstract genpd locking Lina Iyer 2016-08-26 20:17 ` Lina Iyer 2016-08-26 20:17 ` [PATCH v5 04/16] PM / Domains: Support IRQ safe PM domains Lina Iyer 2016-08-26 20:17 ` Lina Iyer 2016-08-26 20:17 ` [PATCH v5 05/16] PM / doc: Update device documentation for devices in " Lina Iyer 2016-08-26 20:17 ` Lina Iyer 2016-08-26 20:17 ` [PATCH v5 06/16] drivers: cpu: Setup CPU devices to do runtime PM Lina Iyer 2016-08-26 20:17 ` Lina Iyer 2016-08-26 20:17 ` [PATCH v5 07/16] kernel/cpu_pm: Add runtime PM support for CPUs Lina Iyer 2016-08-26 20:17 ` Lina Iyer 2016-08-26 20:17 ` [PATCH v5 08/16] PM / cpu_domains: Setup PM domains for CPUs/clusters Lina Iyer 2016-08-26 20:17 ` Lina Iyer 2016-08-26 20:17 ` [PATCH v5 09/16] PM / cpu_domains: Initialize CPU PM domains from DT Lina Iyer 2016-08-26 20:17 ` Lina Iyer 2016-08-26 23:28 ` kbuild test robot 2016-08-26 23:28 ` kbuild test robot 2016-08-26 20:17 ` [PATCH v5 10/16] timer: Export next wake up of a CPU Lina Iyer 2016-08-26 20:17 ` Lina Iyer 2016-08-26 21:29 ` kbuild test robot 2016-08-26 21:29 ` kbuild test robot 2016-08-26 20:17 ` [PATCH v5 11/16] PM / cpu_domains: Add PM Domain governor for CPUs Lina Iyer 2016-08-26 20:17 ` Lina Iyer 2016-08-26 23:10 ` kbuild test robot 2016-08-26 23:10 ` kbuild test robot 2016-08-26 20:17 ` [PATCH v5 12/16] doc / cpu_domains: Describe CPU PM domains setup and governor Lina Iyer 2016-08-26 20:17 ` Lina Iyer 2016-08-26 20:17 ` [PATCH v5 13/16] drivers: firmware: psci: Allow OS Initiated suspend mode Lina Iyer 2016-08-26 20:17 ` Lina Iyer 2016-08-26 20:17 ` [PATCH v5 14/16] drivers: firmware: psci: Support cluster idle states for OS-Initiated Lina Iyer 2016-08-26 20:17 ` Lina Iyer [not found] ` <1472242678-33700-1-git-send-email-lina.iyer-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org> 2016-08-26 20:17 ` [PATCH v5 15/16] dt/bindings: Add PSCI OS-Initiated PM Domains bindings Lina Iyer 2016-08-26 20:17 ` Lina Iyer 2016-08-26 20:17 ` [PATCH v5 16/16] ARM64: dts: Define CPU power domain for MSM8916 Lina Iyer 2016-08-26 20:17 ` Lina Iyer
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=1472242678-33700-1-git-send-email-lina.iyer@linaro.org \ --to=lina.iyer@linaro.org \ --cc=Juri.Lelli@arm.com \ --cc=andy.gross@linaro.org \ --cc=brendan.jackman@arm.com \ --cc=khilman@kernel.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-arm-msm@vger.kernel.org \ --cc=linux-pm@vger.kernel.org \ --cc=lorenzo.pieralisi@arm.com \ --cc=rjw@rjwysocki.net \ --cc=sboyd@codeaurora.org \ --cc=sudeep.holla@arm.com \ --cc=ulf.hansson@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: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.