From: Shreyas B Prabhu <shreyas@linux.vnet.ibm.com>
To: ego@linux.vnet.ibm.com
Cc: mpe@ellerman.id.au, linuxppc-dev@lists.ozlabs.org,
paulus@ozlabs.org, linux-kernel@vger.kernel.org,
mikey@neuling.org
Subject: Re: [PATCH v3 7/9] powerpc/powernv: Add platform support for stop instruction
Date: Wed, 25 May 2016 07:46:42 +0530 [thread overview]
Message-ID: <57450B0A.8080309@linux.vnet.ibm.com> (raw)
In-Reply-To: <20160524102449.GE12860@in.ibm.com>
On 05/24/2016 03:54 PM, Gautham R Shenoy wrote:
> Hi Shreyas,
>
> On Mon, May 23, 2016 at 08:48:40PM +0530, Shreyas B. Prabhu wrote:
>> @@ -412,7 +517,8 @@ subcore_state_restored:
>> first_thread_in_core:
>>
>> /*
>> - * First thread in the core waking up from fastsleep. It needs to
>> + * First thread in the core waking up from any state which can cause
>> + * partial or complete hypervisor state loss. It needs to
>> * call the fastsleep workaround code if the platform requires it.
>> * Call it unconditionally here. The below branch instruction will
>> * be patched out when the idle states are discovered if platform
>
> Please update the comment to
>
> "The below branch instruction will be patched out if the platform does
> not have fastsleep or does not require the workaround. Patching will
> be performed during the discovery of idle-states."
I've updated this in v4.
>
>> @@ -423,8 +529,10 @@ pnv_fastsleep_workaround_at_exit:
>> b fastsleep_workaround_at_exit
>>
>> timebase_resync:
>> - /* Do timebase resync if we are waking up from sleep. Use cr3 value
>> - * set in exceptions-64s.S */
>> + /*
>> + * Use cr3 which indicates that we are waking up with atleast partial
>> + * hypervisor state loss to determine if TIMEBASE RESYNC is needed.
>> + */
>> ble cr3,clear_lock
>> /* Time base re-sync */
>> li r0,OPAL_RESYNC_TIMEBASE
>
>
> [..snip..]
>> @@ -264,6 +275,32 @@ static int __init pnv_init_idle_states(void)
>> goto out_free;
>> }
>>
>> + if (cpu_has_feature(CPU_FTR_ARCH_300)) {
>> + psscr_val = kcalloc(dt_idle_states, sizeof(*psscr_val),
>> + GFP_KERNEL);
>> + if (!psscr_val)
>> + goto out_free;
>> + if (of_property_read_u64_array(power_mgt,
>> + "ibm,cpu-idle-state-psscr",
>> + psscr_val, dt_idle_states)) {
>> + pr_warn("cpuidle-powernv: missing ibm,cpu-idle-states-psscr in DT\n");
>> + goto out_free_psscr;
>> + }
>> +
>> + /*
>> + * Set pnv_first_deep_stop_state to the first stop level
>> + * to cause hypervisor state loss
>> + */
>> + pnv_first_deep_stop_state = 0xF;
>
> #define MAX_STOP_STATES 0xF ?
I changed this to MAX_POSSIBLE_STOP_STATE since 0xF is the max possible
stop state allowed by the ISA.
Thanks for the review,
-Shreyas
next prev parent reply other threads:[~2016-05-25 2:19 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-23 15:18 [PATCH v3 0/9] powerpc/powernv/cpuidle: Add support for POWER ISA v3 idle states Shreyas B. Prabhu
2016-05-23 15:18 ` [PATCH v3 1/9] powerpc/kvm: make hypervisor state restore a function Shreyas B. Prabhu
2016-05-23 15:18 ` [PATCH v3 2/9] powerpc/powernv: Rename idle_power7.S to idle_power_common.S Shreyas B. Prabhu
2016-05-24 8:27 ` Gautham R Shenoy
2016-05-23 15:18 ` [PATCH v3 3/9] powerpc/powernv: Rename reusable idle functions to hardware agnostic names Shreyas B. Prabhu
2016-05-24 8:30 ` Gautham R Shenoy
2016-05-23 15:18 ` [PATCH v3 4/9] powerpc/powernv: Make power7_powersave_common more generic Shreyas B. Prabhu
2016-05-24 8:54 ` Gautham R Shenoy
2016-05-23 15:18 ` [PATCH v3 5/9] powerpc/powernv: abstraction for saving SPRs before entering deep idle states Shreyas B. Prabhu
2016-05-24 8:55 ` Gautham R Shenoy
2016-05-23 15:18 ` [PATCH v3 6/9] powerpc/powernv: set power_save func after the idle states are initialized Shreyas B. Prabhu
2016-05-23 15:18 ` [PATCH v3 7/9] powerpc/powernv: Add platform support for stop instruction Shreyas B. Prabhu
2016-05-24 8:47 ` Madhavan Srinivasan
2016-05-24 10:24 ` Gautham R Shenoy
2016-05-25 2:16 ` Shreyas B Prabhu [this message]
[not found] ` <886163be-b915-b60f-b25b-bf770f3ed821@linux.vnet.ibm.com>
2016-05-25 2:12 ` Shreyas B Prabhu
2016-05-23 15:18 ` [PATCH v3 8/9] cpuidle/powernv: Add support for POWER ISA v3 idle states Shreyas B. Prabhu
2016-05-24 10:37 ` Gautham R Shenoy
2016-05-23 15:18 ` [PATCH v3 9/9] powerpc/powernv: Use deepest stop state when cpu is offlined Shreyas B. Prabhu
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=57450B0A.8080309@linux.vnet.ibm.com \
--to=shreyas@linux.vnet.ibm.com \
--cc=ego@linux.vnet.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=mikey@neuling.org \
--cc=mpe@ellerman.id.au \
--cc=paulus@ozlabs.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).