Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1528258 > unrolled thread

Re: [PATCH v3 3/3] powernv: Pass PSSCR value and mask to power9_idle_stop

Started byMichael Ellerman <mpe@ellerman.id.au>
First post2016-11-23 11:00 +0100
Last post2016-11-23 11:00 +0100
Articles 1 — 1 participant

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [PATCH v3 3/3] powernv: Pass PSSCR value and mask to power9_idle_stop Michael Ellerman <mpe@ellerman.id.au> - 2016-11-23 11:00 +0100

#1528258 — Re: [PATCH v3 3/3] powernv: Pass PSSCR value and mask to power9_idle_stop

FromMichael Ellerman <mpe@ellerman.id.au>
Date2016-11-23 11:00 +0100
SubjectRe: [PATCH v3 3/3] powernv: Pass PSSCR value and mask to power9_idle_stop
Message-ID<sGCvn-3a3-1@gated-at.bofh.it>
"Gautham R. Shenoy" <ego@linux.vnet.ibm.com> writes:

> From: "Gautham R. Shenoy" <ego@linux.vnet.ibm.com>
>
> The power9_idle_stop method currently takes only the requested stop
> level as a parameter and picks up the rest of the PSSCR bits from a
> hand-coded macro. This is not a very flexible design, especially when
> the firmware has the capability to communicate the psscr value and the
> mask associated with a particular stop state via device tree.
>
> This patch modifies the power9_idle_stop API to take as parameters the
> PSSCR value and the PSSCR mask corresponding to the stop state that
> needs to be set. These PSSCR value and mask are respectively obtained
> by parsing the "ibm,cpu-idle-state-psscr" and
> "ibm,cpu-idle-state-psscr-mask" fields from the device tree.
>
> In addition to this, the patch adds support for handling stop states
> for which ESL and EC bits in the PSSCR are zero. As per the
> architecture, a wakeup from these stop states resumes execution from
> the subsequent instruction as opposed to waking up at the System
> Vector.
>
> The older firmware sets only the Requested Level (RL) field in the
> psscr and psscr-mask exposed in the device tree. For older firmware
> where psscr-mask=0xf, this patch will set the default sane values that
> the set for for remaining PSSCR fields (i.e PSLL, MTL, ESL, EC, and
> TR).

So we're using psscr-mas=0xf as a signal that we're running on old
firmware.

That's OK I think, but please send a patch to document it in the device
tree binding.

And call it out below in the code.

cheers

[toc] | [standalone]


Back to top | Article view | linux.kernel


csiph-web