Hi Ram,
On 05/28/2016 05:36 AM, Ram Pai wrote:
On Tue, May 24, 2016 at 06:45:12PM +0530, Shreyas B. Prabhu wrote:
[snip]
quoted
@@ -230,11 +236,18 @@ static DEVICE_ATTR(fastsleep_workaround_applyonce, 0600,
show_fastsleep_workaround_applyonce,
store_fastsleep_workaround_applyonce);
+/*
+ * First deep stop state. Used to figure out when to save/restore
+ * hypervisor context.
+ */
+u64 pnv_first_deep_stop_state;
maybe this has to be intialized to some correct default value?
It there a gaurantee that OPAL_PM_STOP_INST_FAST is set only when
CPU_FTR_ARCH_300 is supported?
Stop instruction is newly introduced in POWER ISA v3.0. So it is
guaranteed that OPAL_PM_STOP_INST_FAST is set only when CPU_FTR_ARCH_300
is supported. So the scenario you've described below will not arise.
if cpu_has_feature(CPU_FTR_ARCH_300) is not true, than
pnv_first_deep_stop_state will be not be initialized.
And if supported_cpuidle_states
has OPAL_PM_STOP_INST_FAST flag set, than power_stop0 is called which
will blindly use pnv_first_deep_stop_state thinking it is initialized to
something sane.
Thanks,
Shreyas