All of lore.kernel.org
 help / color / mirror / Atom feed
From: Balbir Singh <bsingharora@gmail.com>
To: "Gautham R. Shenoy" <ego@linux.vnet.ibm.com>
Cc: Stewart Smith <stewart@linux.vnet.ibm.com>,
	devicetree@vger.kernel.org, Michael Neuling <mikey@neuling.org>,
	linux-pm@vger.kernel.org,
	"Shreyas B. Prabhu" <shreyasbp@gmail.com>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>,
	linux-kernel@vger.kernel.org, Rob Herring <robh+dt@kernel.org>,
	Paul Mackerras <paulus@samba.org>,
	Shilpasri G Bhat <shilpa.bhat@linux.vnet.ibm.com>,
	Oliver O'Halloran <oohall@gmail.com>,
	mark.rutland@arm.com, linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH v5 4/5] powernv: Pass PSSCR value and mask to power9_idle_stop
Date: Thu, 12 Jan 2017 22:48:02 +0530	[thread overview]
Message-ID: <20170112171802.GB7027@localhost.localdomain> (raw)
In-Reply-To: <1484039224-5630-5-git-send-email-ego@linux.vnet.ibm.com>

On Tue, Jan 10, 2017 at 02:37:03PM +0530, Gautham R. Shenoy wrote:
> From: "Gautham R. Shenoy" <ego@linux.vnet.ibm.com>
> 
> The arch300_idle_stop method currently takes only the requested stop
      power9_idle_stop (see subject :) and second paragraph)
> 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). For the new firmware, the patch will validate that the invariants
> required by the ISA for the psscr values are maintained by the
> firmware.
> 
> This skiboot patch that exports fully populated PSSCR values and the
> mask for all the stop states can be found here:
> https://lists.ozlabs.org/pipermail/skiboot/2016-September/004869.html
> 
> [Optimize the number of instructions before entering STOP with
> ESL=EC=0, validate the PSSCR values provided by the firimware
> maintains the invariants required as per the ISA suggested by Balbir
> Singh]
> 
> Signed-off-by: Gautham R. Shenoy <ego@linux.vnet.ibm.com>
> ---

Acked-by: Balbir Singh <bsingharora@gmail.com>

WARNING: multiple messages have this Message-ID (diff)
From: Balbir Singh <bsingharora@gmail.com>
To: "Gautham R. Shenoy" <ego@linux.vnet.ibm.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>,
	Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	Paul Mackerras <paulus@samba.org>,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>,
	Daniel Lezcano <daniel.lezcano@linaro.org>,
	Michael Neuling <mikey@neuling.org>,
	Vaidyanathan Srinivasan <svaidy@linux.vnet.ibm.com>,
	"Shreyas B. Prabhu" <shreyasbp@gmail.com>,
	Shilpasri G Bhat <shilpa.bhat@linux.vnet.ibm.com>,
	Stewart Smith <stewart@linux.vnet.ibm.com>,
	Balbir Singh <bsingharora@gmail.com>,
	Oliver O'Halloran <oohall@gmail.com>,
	linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org,
	linux-pm@vger.kernel.org, devicetree@vger.kernel.org,
	Rob Herring <robh+dt@kernel.org>,
	mark.rutland@arm.com
Subject: Re: [PATCH v5 4/5] powernv: Pass PSSCR value and mask to power9_idle_stop
Date: Thu, 12 Jan 2017 22:48:02 +0530	[thread overview]
Message-ID: <20170112171802.GB7027@localhost.localdomain> (raw)
In-Reply-To: <1484039224-5630-5-git-send-email-ego@linux.vnet.ibm.com>

On Tue, Jan 10, 2017 at 02:37:03PM +0530, Gautham R. Shenoy wrote:
> From: "Gautham R. Shenoy" <ego@linux.vnet.ibm.com>
> 
> The arch300_idle_stop method currently takes only the requested stop
      power9_idle_stop (see subject :) and second paragraph)
> 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). For the new firmware, the patch will validate that the invariants
> required by the ISA for the psscr values are maintained by the
> firmware.
> 
> This skiboot patch that exports fully populated PSSCR values and the
> mask for all the stop states can be found here:
> https://lists.ozlabs.org/pipermail/skiboot/2016-September/004869.html
> 
> [Optimize the number of instructions before entering STOP with
> ESL=EC=0, validate the PSSCR values provided by the firimware
> maintains the invariants required as per the ISA suggested by Balbir
> Singh]
> 
> Signed-off-by: Gautham R. Shenoy <ego@linux.vnet.ibm.com>
> ---

Acked-by: Balbir Singh <bsingharora@gmail.com>

  reply	other threads:[~2017-01-12 17:18 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-10  9:06 [PATCH v5 0/5] powernv:stop: Use psscr_val,mask provided by firmware Gautham R. Shenoy
2017-01-10  9:06 ` Gautham R. Shenoy
2017-01-10  9:07 ` [PATCH v5 1/5] powernv:idle: Add IDLE_STATE_ENTER_SEQ_NORET macro Gautham R. Shenoy
2017-01-10  9:07   ` Gautham R. Shenoy
2017-01-12  9:42   ` Balbir Singh
2017-01-10  9:07 ` [PATCH v5 2/5] powernv:stop: Uniformly rename power9 to arch300 Gautham R. Shenoy
2017-01-10  9:07   ` Gautham R. Shenoy
2017-01-12  9:47   ` Balbir Singh
2017-01-12  9:47     ` Balbir Singh
2017-01-13  3:44     ` Gautham R Shenoy
2017-01-13  3:46       ` Oliver O'Halloran
2017-01-10  9:07 ` [PATCH v5 3/5] cpuidle:powernv: Add helper function to populate powernv idle states Gautham R. Shenoy
2017-01-10  9:07   ` Gautham R. Shenoy
2017-01-12 10:04   ` Balbir Singh
2017-01-12 10:04     ` Balbir Singh
2017-01-10  9:07 ` [PATCH v5 4/5] powernv: Pass PSSCR value and mask to power9_idle_stop Gautham R. Shenoy
2017-01-10  9:07   ` Gautham R. Shenoy
2017-01-12 17:18   ` Balbir Singh [this message]
2017-01-12 17:18     ` Balbir Singh
2017-01-10  9:07 ` [PATCH v5 5/5] Documentation:powerpc: Add device-tree bindings for power-mgt Gautham R. Shenoy
2017-01-10  9:07   ` Gautham R. Shenoy
2017-01-13 16:57   ` Rob Herring
2017-01-13 16:57     ` Rob Herring
2017-01-25  8:09     ` Gautham R Shenoy
2017-01-25  8:09       ` Gautham R Shenoy

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=20170112171802.GB7027@localhost.localdomain \
    --to=bsingharora@gmail.com \
    --cc=daniel.lezcano@linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=ego@linux.vnet.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=mark.rutland@arm.com \
    --cc=mikey@neuling.org \
    --cc=oohall@gmail.com \
    --cc=paulus@samba.org \
    --cc=rjw@rjwysocki.net \
    --cc=robh+dt@kernel.org \
    --cc=shilpa.bhat@linux.vnet.ibm.com \
    --cc=shreyasbp@gmail.com \
    --cc=stewart@linux.vnet.ibm.com \
    /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.