From: robherring2@gmail.com (Rob Herring)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3] [RFC] arm: use PSCI if available
Date: Thu, 28 Mar 2013 13:38:20 -0500 [thread overview]
Message-ID: <51548E1C.4070508@gmail.com> (raw)
In-Reply-To: <alpine.LFD.2.03.1303281135320.1372@syhkavp.arg>
On 03/28/2013 10:39 AM, Nicolas Pitre wrote:
> On Thu, 28 Mar 2013, Rob Herring wrote:
>
>> On 03/28/2013 09:51 AM, Nicolas Pitre wrote:
>>> On Thu, 28 Mar 2013, Stefano Stabellini wrote:
>>>
>>>> - the interface to bring up secondary cpus is different and based on
>>>> PSCI, in fact Xen is going to add a PSCI node to the device tree so that
>>>> Dom0 can use it.
>>>>
>>>> Oh wait, Dom0 is not going to use the PSCI interface even if the node is
>>>> present on device tree because it's going to prefer the platform smp_ops
>>>> instead.
>>>
>>> Waitaminute... I must have missed this part.
>>>
>>> Who said platform specific methods must be used in preference to PSCI?
>>
>> I did. Specifically, I said the platform should be allowed to provide
>> its own smp_ops. A platform may need to do addtional things on top of
>> PSCI for example.
>
> Then the platform should have its special hook that would override the
> default PSCI methods. But, by *default* the PSCI methods should be used
> if the related DT information is present.
Agreed. The special hook to override is setting mach desc smp_ops, right?
>>> If DT does provide PSCI description, then PSCI should be used. Doing
>>> otherwise is senseless. If PSCI is not to be used, then it should not
>>> be present in DT.
>>
>> You can't assume the DT and kernel are in-sync. For example, I've added
>> PSCI in the firmware and DTB (part of the firmware), but the highbank
>> kernel may or may not use it depending if I convert it.
>
> If the kernel does not understand PSCI bindings in the DT, it naturally
> won't use PSCI, right? Conversely, if the firmware and therefore
> provided DT don't have PSCI, then the PSCI enabled kernel won't use PSCI
> either. So what is the problem?
I'm distinguishing the kernel in general is enabled for PSCI and a
platform is enabled. The kernel may have PSCI smp_ops and the DTB may
have PSCI data, but that alone should not make a platform use the
default PSCI smp_ops. The platform has to make the decision and it
cannot be just based on the platform's dtb having PSCI data.
I have firmware (dtb is part of the firmware) with PSCI support and
older firmware without. Old/existing kernels are fine on both firmware
versions and don't use PSCI. New kernels with default PSCI ops should
continue to work with both versions. When/If I convert highbank to use
PSCI in the kernel, only then will new kernels require the new firmware
version. Or perhaps I need to support both in the kernel for a while
before ripping out non PSCI code. There is enough lag in distro kernels
that I don't think this is necessary.
Rob
WARNING: multiple messages have this Message-ID (diff)
From: Rob Herring <robherring2@gmail.com>
To: Nicolas Pitre <nicolas.pitre@linaro.org>
Cc: Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
"xen-devel@lists.xensource.com" <xen-devel@lists.xensource.com>,
"linux@arm.linux.org.uk" <linux@arm.linux.org.uk>,
"arnd@arndb.de" <arnd@arndb.de>,
Marc Zyngier <Marc.Zyngier@arm.com>,
Will Deacon <will.deacon@arm.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>
Subject: Re: [PATCH v3] [RFC] arm: use PSCI if available
Date: Thu, 28 Mar 2013 13:38:20 -0500 [thread overview]
Message-ID: <51548E1C.4070508@gmail.com> (raw)
In-Reply-To: <alpine.LFD.2.03.1303281135320.1372@syhkavp.arg>
On 03/28/2013 10:39 AM, Nicolas Pitre wrote:
> On Thu, 28 Mar 2013, Rob Herring wrote:
>
>> On 03/28/2013 09:51 AM, Nicolas Pitre wrote:
>>> On Thu, 28 Mar 2013, Stefano Stabellini wrote:
>>>
>>>> - the interface to bring up secondary cpus is different and based on
>>>> PSCI, in fact Xen is going to add a PSCI node to the device tree so that
>>>> Dom0 can use it.
>>>>
>>>> Oh wait, Dom0 is not going to use the PSCI interface even if the node is
>>>> present on device tree because it's going to prefer the platform smp_ops
>>>> instead.
>>>
>>> Waitaminute... I must have missed this part.
>>>
>>> Who said platform specific methods must be used in preference to PSCI?
>>
>> I did. Specifically, I said the platform should be allowed to provide
>> its own smp_ops. A platform may need to do addtional things on top of
>> PSCI for example.
>
> Then the platform should have its special hook that would override the
> default PSCI methods. But, by *default* the PSCI methods should be used
> if the related DT information is present.
Agreed. The special hook to override is setting mach desc smp_ops, right?
>>> If DT does provide PSCI description, then PSCI should be used. Doing
>>> otherwise is senseless. If PSCI is not to be used, then it should not
>>> be present in DT.
>>
>> You can't assume the DT and kernel are in-sync. For example, I've added
>> PSCI in the firmware and DTB (part of the firmware), but the highbank
>> kernel may or may not use it depending if I convert it.
>
> If the kernel does not understand PSCI bindings in the DT, it naturally
> won't use PSCI, right? Conversely, if the firmware and therefore
> provided DT don't have PSCI, then the PSCI enabled kernel won't use PSCI
> either. So what is the problem?
I'm distinguishing the kernel in general is enabled for PSCI and a
platform is enabled. The kernel may have PSCI smp_ops and the DTB may
have PSCI data, but that alone should not make a platform use the
default PSCI smp_ops. The platform has to make the decision and it
cannot be just based on the platform's dtb having PSCI data.
I have firmware (dtb is part of the firmware) with PSCI support and
older firmware without. Old/existing kernels are fine on both firmware
versions and don't use PSCI. New kernels with default PSCI ops should
continue to work with both versions. When/If I convert highbank to use
PSCI in the kernel, only then will new kernels require the new firmware
version. Or perhaps I need to support both in the kernel for a while
before ripping out non PSCI code. There is enough lag in distro kernels
that I don't think this is necessary.
Rob
next prev parent reply other threads:[~2013-03-28 18:38 UTC|newest]
Thread overview: 65+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-27 12:50 [PATCH v3] [RFC] arm: use PSCI if available Stefano Stabellini
2013-03-27 12:50 ` Stefano Stabellini
2013-03-27 12:50 ` Stefano Stabellini
2013-03-27 13:35 ` Marc Zyngier
2013-03-27 13:35 ` Marc Zyngier
2013-03-27 16:20 ` Rob Herring
2013-03-27 16:20 ` Rob Herring
2013-03-27 13:38 ` Will Deacon
2013-03-27 13:38 ` Will Deacon
2013-03-27 16:23 ` Stefano Stabellini
2013-03-27 16:23 ` Stefano Stabellini
2013-03-27 16:35 ` Rob Herring
2013-03-27 16:35 ` Rob Herring
2013-03-27 17:10 ` Stefano Stabellini
2013-03-27 17:10 ` Stefano Stabellini
2013-03-27 17:24 ` Nicolas Pitre
2013-03-27 17:24 ` Nicolas Pitre
2013-03-27 18:22 ` Stefano Stabellini
2013-03-27 18:22 ` Stefano Stabellini
2013-03-27 17:45 ` Rob Herring
2013-03-27 17:45 ` Rob Herring
2013-03-27 18:03 ` Arnd Bergmann
2013-03-27 18:03 ` Arnd Bergmann
2013-03-27 18:14 ` Stefano Stabellini
2013-03-27 18:14 ` Stefano Stabellini
2013-03-27 17:23 ` Will Deacon
2013-03-27 17:23 ` Will Deacon
2013-03-28 12:48 ` Stefano Stabellini
2013-03-28 12:48 ` Stefano Stabellini
2013-03-28 14:51 ` Nicolas Pitre
2013-03-28 14:51 ` Nicolas Pitre
2013-03-28 15:04 ` Rob Herring
2013-03-28 15:04 ` Rob Herring
2013-03-28 15:36 ` Stefano Stabellini
2013-03-28 15:36 ` Stefano Stabellini
2013-03-28 15:39 ` Nicolas Pitre
2013-03-28 15:39 ` Nicolas Pitre
2013-03-28 16:00 ` Will Deacon
2013-03-28 16:00 ` Will Deacon
2013-03-28 16:06 ` Nicolas Pitre
2013-03-28 16:06 ` Nicolas Pitre
2013-03-28 16:20 ` Stefano Stabellini
2013-03-28 16:20 ` Stefano Stabellini
2013-03-28 18:38 ` Rob Herring [this message]
2013-03-28 18:38 ` Rob Herring
2013-03-29 13:22 ` Stefano Stabellini
2013-03-29 13:22 ` Stefano Stabellini
2013-03-29 13:54 ` Rob Herring
2013-03-29 13:54 ` Rob Herring
2013-03-29 14:47 ` Stefano Stabellini
2013-03-29 14:47 ` Stefano Stabellini
2013-03-27 16:33 ` Rob Herring
2013-03-27 16:33 ` Rob Herring
2013-03-27 17:05 ` Will Deacon
2013-03-27 17:05 ` Will Deacon
2013-03-27 17:50 ` Arnd Bergmann
2013-03-27 17:50 ` Arnd Bergmann
2013-03-27 18:12 ` Will Deacon
2013-03-27 18:12 ` Will Deacon
2013-03-27 19:10 ` Rob Herring
2013-03-27 19:10 ` Rob Herring
2013-03-27 19:14 ` Arnd Bergmann
2013-03-27 19:14 ` Arnd Bergmann
2013-03-27 14:55 ` Rob Herring
2013-03-27 14:55 ` Rob Herring
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=51548E1C.4070508@gmail.com \
--to=robherring2@gmail.com \
--cc=linux-arm-kernel@lists.infradead.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.