Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1406561
| From | Shreyas B Prabhu <shreyas@linux.vnet.ibm.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH v3 7/9] powerpc/powernv: Add platform support for stop instruction |
| Date | 2016-05-25 04:20 +0200 |
| Message-ID | <rCwAp-3nw-5@gated-at.bofh.it> (permalink) |
| References | <rBZOa-7tz-11@gated-at.bofh.it> <rBZXQ-7DR-25@gated-at.bofh.it> <rChL4-21U-19@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
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
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH v3 0/9] powerpc/powernv/cpuidle: Add support for POWER ISA v3 idle states "Shreyas B. Prabhu" <shreyas@linux.vnet.ibm.com> - 2016-05-23 17:20 +0200
[PATCH v3 2/9] powerpc/powernv: Rename idle_power7.S to idle_power_common.S "Shreyas B. Prabhu" <shreyas@linux.vnet.ibm.com> - 2016-05-23 17:20 +0200
Re: [PATCH v3 2/9] powerpc/powernv: Rename idle_power7.S to idle_power_common.S Gautham R Shenoy <ego@linux.vnet.ibm.com> - 2016-05-24 10:30 +0200
[PATCH v3 1/9] powerpc/kvm: make hypervisor state restore a function "Shreyas B. Prabhu" <shreyas@linux.vnet.ibm.com> - 2016-05-23 17:30 +0200
[PATCH v3 4/9] powerpc/powernv: Make power7_powersave_common more generic "Shreyas B. Prabhu" <shreyas@linux.vnet.ibm.com> - 2016-05-23 17:30 +0200
Re: [PATCH v3 4/9] powerpc/powernv: Make power7_powersave_common more generic Gautham R Shenoy <ego@linux.vnet.ibm.com> - 2016-05-24 11:00 +0200
[PATCH v3 3/9] powerpc/powernv: Rename reusable idle functions to hardware agnostic names "Shreyas B. Prabhu" <shreyas@linux.vnet.ibm.com> - 2016-05-23 17:30 +0200
Re: [PATCH v3 3/9] powerpc/powernv: Rename reusable idle functions to hardware agnostic names Gautham R Shenoy <ego@linux.vnet.ibm.com> - 2016-05-24 10:40 +0200
[PATCH v3 7/9] powerpc/powernv: Add platform support for stop instruction "Shreyas B. Prabhu" <shreyas@linux.vnet.ibm.com> - 2016-05-23 17:30 +0200
Re: [PATCH v3 7/9] powerpc/powernv: Add platform support for stop instruction Gautham R Shenoy <ego@linux.vnet.ibm.com> - 2016-05-24 12:30 +0200
Re: [PATCH v3 7/9] powerpc/powernv: Add platform support for stop instruction Shreyas B Prabhu <shreyas@linux.vnet.ibm.com> - 2016-05-25 04:20 +0200
Re: [PATCH v3 7/9] powerpc/powernv: Add platform support for stop instruction Madhavan Srinivasan <maddy@linux.vnet.ibm.com> - 2016-05-24 14:20 +0200
Re: [PATCH v3 7/9] powerpc/powernv: Add platform support for stop instruction Shreyas B Prabhu <shreyas@linux.vnet.ibm.com> - 2016-05-25 04:20 +0200
csiph-web