devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Stephen Boyd <sboyd@codeaurora.org>
To: Arnd Bergmann <arnd@arndb.de>,
	Daniel Lezcano <daniel.lezcano@linaro.org>
Cc: Lina Iyer <lina.iyer@linaro.org>,
	khilman@linaro.org, galak@codeaurora.org,
	linux-arm-msm@vger.kernel.org, linux-pm@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org, lorenzo.pieralisi@arm.com,
	msivasub@codeaurora.org, devicetree@vger.kernel.org
Subject: Re: [PATCH v14 03/10] qcom: spm: Add Subsystem Power Manager driver
Date: Tue, 16 Dec 2014 11:18:18 -0800	[thread overview]
Message-ID: <5490857A.1000808@codeaurora.org> (raw)
In-Reply-To: <2663853.2Q3kHisMT7@wuerfel>

On 12/16/2014 06:38 AM, Arnd Bergmann wrote:
> On Tuesday 16 December 2014 15:12:22 Daniel Lezcano wrote:
>> At the beginning, all that become from not including mach files from the 
>> drivers directory which make sense.
>>
>> Perhaps it is time to write a similar mechanism for the cpuidle drivers 
>> where we can still separate the low level PM code from the generic 
>> cpuidle code.
> That way you basically duplicate the same thing we already have, which
> isn't much better.
>
> In the example of drivers/soc/qcom/spm.c, just call cpuidle_register
> from the spm_dev_probe() function and be done with it. You already
> have a device that is responsible for handling this, don't try to
> construct more than you already need.
>
> I would assume that the same can be done for most other platforms.
>
> There are probably cases where the same piece of hardware is responsible
> for both cpuidle and cpufreq, but what that means is really that you
> should have a single driver for it that does both things. Same for
> SMP support: if you have one register block that does both the SMP
> bringup and the cpuidle stuff, then have *one* driver for this block
> that does it all. There are currently a few dependencies that require
> doing SMP bringup early during boot, but we decided years ago that those
> are all artificial dependencies and we should be able to boot secondary
> CPUs much later than we currently do.
>

+1. The SPM harware is used for hotplug, suspend, cpuidle, as well as
provides a regulator for a CPU, so all these things should be done in a
single driver. Booting secondary CPUs early is not hard here either if
we move the smp ops into the same driver. The only downside then is that
it can't be a module, but I would guess that we can work on making that
possible by allowing smp ops to be inserted and removed at any time.

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project

  reply	other threads:[~2014-12-16 19:18 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-02 17:39 [PATCH v14 00/10] cpuidle driver for QCOM SoCs: 8064, 8074, 8084 Lina Iyer
2014-12-02 17:39 ` [PATCH v14 01/10] qcom: scm: Move scm-boot files to drivers/soc/qcom/ and include/soc/qcom Lina Iyer
2014-12-02 17:39 ` [PATCH v14 02/10] qcom: scm: Add SCM warmboot support for quad core SoCs Lina Iyer
2014-12-02 17:39 ` [PATCH v14 03/10] qcom: spm: Add Subsystem Power Manager driver Lina Iyer
2014-12-02 23:05   ` Lina Iyer
2014-12-03  9:11     ` Daniel Lezcano
2014-12-03 14:31       ` Lina Iyer
2014-12-03 14:55         ` Lina Iyer
2014-12-03 20:35         ` Arnd Bergmann
2014-12-04  8:52           ` Daniel Lezcano
2014-12-04  9:01             ` Arnd Bergmann
2014-12-04 16:28               ` Lina Iyer
2014-12-04 18:20                 ` Arnd Bergmann
2014-12-05 15:45                   ` Lina Iyer
2014-12-16 14:39                     ` Arnd Bergmann
2014-12-16 14:12                   ` Daniel Lezcano
2014-12-16 14:38                     ` Arnd Bergmann
2014-12-16 19:18                       ` Stephen Boyd [this message]
2014-12-16 19:44                         ` Arnd Bergmann
2014-12-17 15:22                         ` Lina Iyer
2014-12-17 13:15                       ` Daniel Lezcano
2014-12-17 14:04                         ` Lorenzo Pieralisi
2014-12-02 17:39 ` [PATCH v14 04/10] arm: dts: qcom: Add power-controller device node for 8074 Krait CPUs Lina Iyer
2014-12-02 17:39 ` [PATCH v14 05/10] arm: dts: qcom: Add power-controller device node for 8084 " Lina Iyer
2014-12-02 17:39 ` [PATCH v14 06/10] arm: dts: qcom: Update power-controller device node for 8064 " Lina Iyer
2014-12-02 17:39 ` [PATCH v14 07/10] qcom: cpuidle: Add cpuidle driver for QCOM cpus Lina Iyer
2014-12-02 17:39 ` [PATCH v14 08/10] arm: dts: qcom: Add idle states device nodes for 8074 Lina Iyer
2014-12-02 17:39 ` [PATCH v14 09/10] arm: dts: qcom: Add idle states device nodes for 8084 Lina Iyer
2014-12-02 17:39 ` [PATCH v14 10/10] arm: dts: qcom: Add idle state device nodes for 8064 Lina Iyer
2014-12-17 18:14 ` [PATCH v14 00/10] cpuidle driver for QCOM SoCs: 8064, 8074, 8084 Kevin Hilman
2014-12-17 18:25   ` 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=5490857A.1000808@codeaurora.org \
    --to=sboyd@codeaurora.org \
    --cc=arnd@arndb.de \
    --cc=daniel.lezcano@linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=galak@codeaurora.org \
    --cc=khilman@linaro.org \
    --cc=lina.iyer@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 \
    /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).