From: Lina Iyer <lina.iyer@linaro.org>
To: daniel.lezcano@linaro.org, khilman@linaro.org,
sboyd@codeaurora.org, galak@codeaurora.org,
linux-arm-msm@vger.kernel.org, linux-pm@vger.kernel.org,
linux-arm-kernel@lists.infradead.org
Cc: lorenzo.pieralisi@arm.com, msivasub@codeaurora.org,
devicetree@vger.kernel.org
Subject: Re: [PATCH v10 00/10] cpuidle driver for QCOM SoCs: 8064, 8074, 8084
Date: Tue, 25 Nov 2014 12:11:37 -0700 [thread overview]
Message-ID: <20141125191137.GA594@linaro.org> (raw)
In-Reply-To: <1416593037-27527-1-git-send-email-lina.iyer@linaro.org>
Any comments?
On Fri, Nov 21 2014 at 11:04 -0700, Lina Iyer wrote:
>Changes since v9:
>[ https://www.mail-archive.com/linux-arm-msm@vger.kernel.org/msg11714.html ]
>- Address review comments on v9
>Dependent patchsets -
> https://lkml.org/lkml/2014/8/4/767
> http://www.spinics.net/lists/linux-arm-msm/msg10799.html
> http://www.spinics.net/lists/linux-arm-msm/msg10795.html
>
>Changes since v8:
>[ https://www.mail-archive.com/linux-arm-msm@vger.kernel.org/msg11473.html ]
>- Flatten out the file structure - merge pm.c into spm.c after discussions
>- Add a new function to set warm boot address, in scm-boot.c
>- Support for 8064 (New)
>- Tested on 8074, 8084. 8064 was tested with a WIP tree
>- Address review comments from v8
>- Looking into possiblility of initializing the cpuidle device for a cpu,
>only when the corresponding spm device is probed successfully.
>
>Changes since v7:
>[ https://www.mail-archive.com/linux-arm-msm@vger.kernel.org/msg11199.html ]
>- Address review comments
>- Tested on 8974 but not 8084
>- WFI renamed to Standby
>- Update commit text with original author and link to the downstream tree
>
>Changes since v6:
>[ https://www.mail-archive.com/linux-arm-msm@vger.kernel.org/msg11012.html ]
>- SPM device nodes merged with existing SAW DT nodes
>- SPM register information is handled within the driver
>- Clean up from using 'msm' to 'qcom'
> - Shorten some enumerations as well
>- Review comments from v6 addressed
>- New: Support for 8084 SoC
> - Not tested. I do not have a board with this SoC, but the SPM
> configuration should be identical for WFI and SPC
>
>Changes since v5:
>[ https://www.mail-archive.com/linux-arm-msm@vger.kernel.org/msg10559.html ]
>- Merge spm-devices.c and spm.c into one file and one patch
> - Simplify implementation of the driver.
> - Update documentation mapping the DT properties with corresponding
> SPM register information.
>- Removed scm-boot changes for quad core warmboot, its has been pulled in.
>
>Changes since v4:
>[ https://www.mail-archive.com/linux-arm-msm@vger.kernel.org/msg10327.html ]
>- Update to the v8 of ARM generic idle states patches
>- Use platform device model for cpuidle-qcom
>- Clean up msm-pm.c to remove unnecessary include files and functions
>- Update commit text and documentation for all idle states
>- Remove scm-boot relocate patch from this series, submitted earlier
>[ https://www.mail-archive.com/linux-arm-msm@vger.kernel.org/msg10518.html ]
>
>Changes since v3:
>[ https://www.mail-archive.com/linux-arm-msm@vger.kernel.org/msg10288.html ]
>- Fix CONFIG_QCOM_PM Kconfig as bool
>- More clean ups in spm.c and spm-devices.c
> - Removed and re-organized data structures to make initialization simple
> - Remove export of sequence flush functions
> - Updated commit text
> - Comments for use of barriers.
>- Rebase on top of 3.17-rc1
>
>Changes since v2:
>[ https://www.mail-archive.com/linux-arm-msm@vger.kernel.org/msg10148.html ]
>- Prune all the drivers to support basic WFI and power down cpuidle
> functionality. Remove debug code.
>- Integrate KConfig changes into the drivers' patches.
>- Use Lorenzo's ARM idle-states patches as the basis for reading cpuidle
> c-states from DT.
> [ http://marc.info/?l=linux-pm&m=140794514812383&w=2 ]
>- Incorporate review comments
>- Rebase on top of 3.16
>
>Changes since v1/RFC:
>[ https://www.mail-archive.com/linux-arm-msm@vger.kernel.org/msg10065.html ]
>- Remove hotplug from the patch series. Will submit it separately.
>- Fix SPM drivers per the review comments
>- Modify patch sequence to compile SPM drivers independent of msm-pm, so as to
> allow wfi() calls to use SPM even without SoC interface driver.
>
>8074/8084/8064 like any ARM SoC can do architectural clock gating, that helps save
>on power, but not enough of leakage power. Leakage power of the SoC can be
>further reduced by turning off power to the core. To aid this, every core (cpu
>and L2) is accompanied by a Sub-system Power Manager (SPM), that can be
>configured to indicate the low power mode, the core would be put into and the
>SPM programs the peripheral h/w accordingly to enter low power and turn off the
>power rail to the core.
>
>The idle invocation hierarchy -
>
>CPUIDLE
> |
> cpuidle-qcom.c [CPUIdle driver]
> |
> ------> spm.c [SPM driver]
> |
> ------> scm-boot.c [SCM interface layer]
> |
>------------------------|--------------------------
>(EL) Secure Monitor Code
> |
> |
> wfi();
>------------------------|--------------------------
>(HW) [CPU] {clock gate}
> |
> -----> [SPM] {statemachine}
>
>
>The patchset does the following -
>
>- Introduce the SPM driver to control power to the core
>- Add device bindings for 8974, 8084, 8064 CPU SPM devices
>- Add cpuidle driver for QCOM cpus, using ARM generic idle state definitions.
>- Add device bindings for 8974, 8084, 8064 idle-states - WFI and SPC
>
>Thanks,
>Lina
>
>Lina Iyer (10):
> qom: scm: Move scm-boot files to drivers/soc/qcom/ and
> include/soc/qcom
> qcom: scm: Add SCM warmboot support for quad core SoCs
> qcom: spm: Add Subsystem Power Manager driver
> arm: dts: qcom: Add power-controller device node for 8074 Krait CPUs
> arm: dts: qcom: Add power-controller device node for 8084 Krait CPUs
> arm: dts: qcom: Update power-controller device node for 8064 Krait
> CPUs
> qcom: cpuidle: Add cpuidle driver for QCOM cpus
> arm: dts: qcom: Add idle states device nodes for 8074
> arm: dts: qcom: Add idle states device nodes for 8084
> arm: dts: qcom: Add idle state device nodes for 8064
>
> .../bindings/arm/msm/qcom,idle-state.txt | 81 +++++
> .../devicetree/bindings/arm/msm/qcom,saw2.txt | 31 +-
> arch/arm/boot/dts/qcom-apq8064.dtsi | 37 ++-
> arch/arm/boot/dts/qcom-apq8084.dtsi | 46 ++-
> arch/arm/boot/dts/qcom-msm8974.dtsi | 46 ++-
> arch/arm/mach-qcom/Makefile | 1 -
> arch/arm/mach-qcom/platsmp.c | 2 +-
> drivers/cpuidle/Kconfig.arm | 7 +
> drivers/cpuidle/Makefile | 1 +
> drivers/cpuidle/cpuidle-qcom.c | 72 +++++
> drivers/soc/qcom/Kconfig | 8 +
> drivers/soc/qcom/Makefile | 3 +-
> .../arm/mach-qcom => drivers/soc/qcom}/scm-boot.c | 33 +-
> drivers/soc/qcom/spm.c | 332 +++++++++++++++++++++
> include/soc/qcom/pm.h | 31 ++
> .../arm/mach-qcom => include/soc/qcom}/scm-boot.h | 3 +-
> 16 files changed, 712 insertions(+), 22 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/arm/msm/qcom,idle-state.txt
> create mode 100644 drivers/cpuidle/cpuidle-qcom.c
> rename {arch/arm/mach-qcom => drivers/soc/qcom}/scm-boot.c (63%)
> create mode 100644 drivers/soc/qcom/spm.c
> create mode 100644 include/soc/qcom/pm.h
> rename {arch/arm/mach-qcom => include/soc/qcom}/scm-boot.h (91%)
>
>--
>2.1.0
>
WARNING: multiple messages have this Message-ID (diff)
From: lina.iyer@linaro.org (Lina Iyer)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v10 00/10] cpuidle driver for QCOM SoCs: 8064, 8074, 8084
Date: Tue, 25 Nov 2014 12:11:37 -0700 [thread overview]
Message-ID: <20141125191137.GA594@linaro.org> (raw)
In-Reply-To: <1416593037-27527-1-git-send-email-lina.iyer@linaro.org>
Any comments?
On Fri, Nov 21 2014 at 11:04 -0700, Lina Iyer wrote:
>Changes since v9:
>[ https://www.mail-archive.com/linux-arm-msm at vger.kernel.org/msg11714.html ]
>- Address review comments on v9
>Dependent patchsets -
> https://lkml.org/lkml/2014/8/4/767
> http://www.spinics.net/lists/linux-arm-msm/msg10799.html
> http://www.spinics.net/lists/linux-arm-msm/msg10795.html
>
>Changes since v8:
>[ https://www.mail-archive.com/linux-arm-msm at vger.kernel.org/msg11473.html ]
>- Flatten out the file structure - merge pm.c into spm.c after discussions
>- Add a new function to set warm boot address, in scm-boot.c
>- Support for 8064 (New)
>- Tested on 8074, 8084. 8064 was tested with a WIP tree
>- Address review comments from v8
>- Looking into possiblility of initializing the cpuidle device for a cpu,
>only when the corresponding spm device is probed successfully.
>
>Changes since v7:
>[ https://www.mail-archive.com/linux-arm-msm at vger.kernel.org/msg11199.html ]
>- Address review comments
>- Tested on 8974 but not 8084
>- WFI renamed to Standby
>- Update commit text with original author and link to the downstream tree
>
>Changes since v6:
>[ https://www.mail-archive.com/linux-arm-msm at vger.kernel.org/msg11012.html ]
>- SPM device nodes merged with existing SAW DT nodes
>- SPM register information is handled within the driver
>- Clean up from using 'msm' to 'qcom'
> - Shorten some enumerations as well
>- Review comments from v6 addressed
>- New: Support for 8084 SoC
> - Not tested. I do not have a board with this SoC, but the SPM
> configuration should be identical for WFI and SPC
>
>Changes since v5:
>[ https://www.mail-archive.com/linux-arm-msm at vger.kernel.org/msg10559.html ]
>- Merge spm-devices.c and spm.c into one file and one patch
> - Simplify implementation of the driver.
> - Update documentation mapping the DT properties with corresponding
> SPM register information.
>- Removed scm-boot changes for quad core warmboot, its has been pulled in.
>
>Changes since v4:
>[ https://www.mail-archive.com/linux-arm-msm at vger.kernel.org/msg10327.html ]
>- Update to the v8 of ARM generic idle states patches
>- Use platform device model for cpuidle-qcom
>- Clean up msm-pm.c to remove unnecessary include files and functions
>- Update commit text and documentation for all idle states
>- Remove scm-boot relocate patch from this series, submitted earlier
>[ https://www.mail-archive.com/linux-arm-msm at vger.kernel.org/msg10518.html ]
>
>Changes since v3:
>[ https://www.mail-archive.com/linux-arm-msm at vger.kernel.org/msg10288.html ]
>- Fix CONFIG_QCOM_PM Kconfig as bool
>- More clean ups in spm.c and spm-devices.c
> - Removed and re-organized data structures to make initialization simple
> - Remove export of sequence flush functions
> - Updated commit text
> - Comments for use of barriers.
>- Rebase on top of 3.17-rc1
>
>Changes since v2:
>[ https://www.mail-archive.com/linux-arm-msm at vger.kernel.org/msg10148.html ]
>- Prune all the drivers to support basic WFI and power down cpuidle
> functionality. Remove debug code.
>- Integrate KConfig changes into the drivers' patches.
>- Use Lorenzo's ARM idle-states patches as the basis for reading cpuidle
> c-states from DT.
> [ http://marc.info/?l=linux-pm&m=140794514812383&w=2 ]
>- Incorporate review comments
>- Rebase on top of 3.16
>
>Changes since v1/RFC:
>[ https://www.mail-archive.com/linux-arm-msm at vger.kernel.org/msg10065.html ]
>- Remove hotplug from the patch series. Will submit it separately.
>- Fix SPM drivers per the review comments
>- Modify patch sequence to compile SPM drivers independent of msm-pm, so as to
> allow wfi() calls to use SPM even without SoC interface driver.
>
>8074/8084/8064 like any ARM SoC can do architectural clock gating, that helps save
>on power, but not enough of leakage power. Leakage power of the SoC can be
>further reduced by turning off power to the core. To aid this, every core (cpu
>and L2) is accompanied by a Sub-system Power Manager (SPM), that can be
>configured to indicate the low power mode, the core would be put into and the
>SPM programs the peripheral h/w accordingly to enter low power and turn off the
>power rail to the core.
>
>The idle invocation hierarchy -
>
>CPUIDLE
> |
> cpuidle-qcom.c [CPUIdle driver]
> |
> ------> spm.c [SPM driver]
> |
> ------> scm-boot.c [SCM interface layer]
> |
>------------------------|--------------------------
>(EL) Secure Monitor Code
> |
> |
> wfi();
>------------------------|--------------------------
>(HW) [CPU] {clock gate}
> |
> -----> [SPM] {statemachine}
>
>
>The patchset does the following -
>
>- Introduce the SPM driver to control power to the core
>- Add device bindings for 8974, 8084, 8064 CPU SPM devices
>- Add cpuidle driver for QCOM cpus, using ARM generic idle state definitions.
>- Add device bindings for 8974, 8084, 8064 idle-states - WFI and SPC
>
>Thanks,
>Lina
>
>Lina Iyer (10):
> qom: scm: Move scm-boot files to drivers/soc/qcom/ and
> include/soc/qcom
> qcom: scm: Add SCM warmboot support for quad core SoCs
> qcom: spm: Add Subsystem Power Manager driver
> arm: dts: qcom: Add power-controller device node for 8074 Krait CPUs
> arm: dts: qcom: Add power-controller device node for 8084 Krait CPUs
> arm: dts: qcom: Update power-controller device node for 8064 Krait
> CPUs
> qcom: cpuidle: Add cpuidle driver for QCOM cpus
> arm: dts: qcom: Add idle states device nodes for 8074
> arm: dts: qcom: Add idle states device nodes for 8084
> arm: dts: qcom: Add idle state device nodes for 8064
>
> .../bindings/arm/msm/qcom,idle-state.txt | 81 +++++
> .../devicetree/bindings/arm/msm/qcom,saw2.txt | 31 +-
> arch/arm/boot/dts/qcom-apq8064.dtsi | 37 ++-
> arch/arm/boot/dts/qcom-apq8084.dtsi | 46 ++-
> arch/arm/boot/dts/qcom-msm8974.dtsi | 46 ++-
> arch/arm/mach-qcom/Makefile | 1 -
> arch/arm/mach-qcom/platsmp.c | 2 +-
> drivers/cpuidle/Kconfig.arm | 7 +
> drivers/cpuidle/Makefile | 1 +
> drivers/cpuidle/cpuidle-qcom.c | 72 +++++
> drivers/soc/qcom/Kconfig | 8 +
> drivers/soc/qcom/Makefile | 3 +-
> .../arm/mach-qcom => drivers/soc/qcom}/scm-boot.c | 33 +-
> drivers/soc/qcom/spm.c | 332 +++++++++++++++++++++
> include/soc/qcom/pm.h | 31 ++
> .../arm/mach-qcom => include/soc/qcom}/scm-boot.h | 3 +-
> 16 files changed, 712 insertions(+), 22 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/arm/msm/qcom,idle-state.txt
> create mode 100644 drivers/cpuidle/cpuidle-qcom.c
> rename {arch/arm/mach-qcom => drivers/soc/qcom}/scm-boot.c (63%)
> create mode 100644 drivers/soc/qcom/spm.c
> create mode 100644 include/soc/qcom/pm.h
> rename {arch/arm/mach-qcom => include/soc/qcom}/scm-boot.h (91%)
>
>--
>2.1.0
>
next prev parent reply other threads:[~2014-11-25 19:11 UTC|newest]
Thread overview: 56+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-21 18:03 [PATCH v10 00/10] cpuidle driver for QCOM SoCs: 8064, 8074, 8084 Lina Iyer
2014-11-21 18:03 ` Lina Iyer
2014-11-21 18:03 ` [PATCH v10 01/10] qom: scm: Move scm-boot files to drivers/soc/qcom/ and include/soc/qcom Lina Iyer
2014-11-21 18:03 ` Lina Iyer
2014-11-26 19:41 ` Stephen Boyd
2014-11-26 19:41 ` Stephen Boyd
2014-11-21 18:03 ` [PATCH v10 02/10] qcom: scm: Add SCM warmboot support for quad core SoCs Lina Iyer
2014-11-21 18:03 ` Lina Iyer
2014-11-26 9:41 ` Daniel Lezcano
2014-11-26 9:41 ` Daniel Lezcano
2014-11-26 19:48 ` Stephen Boyd
2014-11-26 19:48 ` Stephen Boyd
2014-11-26 19:56 ` Lina Iyer
2014-11-26 19:56 ` Lina Iyer
2014-11-21 18:03 ` [PATCH v10 03/10] qcom: spm: Add Subsystem Power Manager driver Lina Iyer
2014-11-21 18:03 ` Lina Iyer
2014-11-26 20:00 ` Stephen Boyd
2014-11-26 20:00 ` Stephen Boyd
2014-11-21 18:03 ` [PATCH v10 04/10] arm: dts: qcom: Add power-controller device node for 8074 Krait CPUs Lina Iyer
2014-11-21 18:03 ` Lina Iyer
2014-11-26 20:01 ` Stephen Boyd
2014-11-26 20:01 ` Stephen Boyd
2014-11-21 18:03 ` [PATCH v10 05/10] arm: dts: qcom: Add power-controller device node for 8084 " Lina Iyer
2014-11-21 18:03 ` Lina Iyer
2014-11-26 20:05 ` Stephen Boyd
2014-11-26 20:05 ` Stephen Boyd
2014-11-21 18:03 ` [PATCH v10 06/10] arm: dts: qcom: Update power-controller device node for 8064 " Lina Iyer
2014-11-21 18:03 ` Lina Iyer
2014-11-26 20:06 ` Stephen Boyd
2014-11-26 20:06 ` Stephen Boyd
2014-11-21 18:03 ` [PATCH v10 07/10] qcom: cpuidle: Add cpuidle driver for QCOM cpus Lina Iyer
2014-11-21 18:03 ` Lina Iyer
2014-11-26 10:04 ` Daniel Lezcano
2014-11-26 10:04 ` Daniel Lezcano
2014-11-26 19:43 ` Kevin Hilman
2014-11-26 19:43 ` Kevin Hilman
2014-11-27 10:23 ` Lorenzo Pieralisi
2014-11-27 10:23 ` Lorenzo Pieralisi
2014-11-26 17:59 ` Lorenzo Pieralisi
2014-11-26 17:59 ` Lorenzo Pieralisi
2014-11-26 21:03 ` Lina Iyer
2014-11-26 21:03 ` Lina Iyer
[not found] ` <1416593037-27527-1-git-send-email-lina.iyer-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2014-11-21 18:03 ` [PATCH v10 08/10] arm: dts: qcom: Add idle states device nodes for 8074 Lina Iyer
2014-11-21 18:03 ` Lina Iyer
2014-11-26 20:15 ` Stephen Boyd
2014-11-26 20:15 ` Stephen Boyd
2014-11-21 18:03 ` [PATCH v10 09/10] arm: dts: qcom: Add idle states device nodes for 8084 Lina Iyer
2014-11-21 18:03 ` Lina Iyer
2014-11-26 20:16 ` Stephen Boyd
2014-11-26 20:16 ` Stephen Boyd
2014-11-21 18:03 ` [PATCH v10 10/10] arm: dts: qcom: Add idle state device nodes for 8064 Lina Iyer
2014-11-21 18:03 ` Lina Iyer
2014-11-26 20:18 ` Stephen Boyd
2014-11-26 20:18 ` Stephen Boyd
2014-11-25 19:11 ` Lina Iyer [this message]
2014-11-25 19:11 ` [PATCH v10 00/10] cpuidle driver for QCOM SoCs: 8064, 8074, 8084 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=20141125191137.GA594@linaro.org \
--to=lina.iyer@linaro.org \
--cc=daniel.lezcano@linaro.org \
--cc=devicetree@vger.kernel.org \
--cc=galak@codeaurora.org \
--cc=khilman@linaro.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=msivasub@codeaurora.org \
--cc=sboyd@codeaurora.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 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.