Re: [v3, 1/3] powerpc: Fix cpu_online_cores_map to return only online threads mask

2015-03-30 Thread Shreyas B Prabhu
On Monday 30 March 2015 03:06 PM, Michael Ellerman wrote: > On Sun, 2015-22-03 at 04:42:57 UTC, "Shreyas B. Prabhu" wrote: >> Currently, cpu_online_cores_map returns a mask, which for every core >> that has atleast one online thread, has the first-cpu-of-that-core's

Re: [v3, 3/3] powerpc/powernv: Introduce sysfs control for fastsleep workaround behavior

2015-03-30 Thread Shreyas B Prabhu
On Monday 30 March 2015 03:51 PM, Michael Ellerman wrote: > On Sun, 2015-22-03 at 04:42:59 UTC, "Shreyas B. Prabhu" wrote: >> Fastsleep is one of the idle state which cpuidle subsystem currently >> uses on power8 machines. In this state L2 cache is brought down

Re: [PATCH 3/3] powernv: Fix MCE handler to avoid trashing CR0/CR1 registers.

2016-02-24 Thread Shreyas B Prabhu
store > + * the subcore state. > + */ > + ori r13,r13,1 > + SET_PACA(r13) Note PACA_THREAD_IDLE_STATE(r13) showing PNV_THREAD_WINKLE doesn't necessarily mean we woke up from winkle. It only means we requested for it. So here is possible you are sett

[PATCH 1/3] powerpc/powernv: Move CHECK_HMI_INTERRUPT to exception-64s header

2016-02-29 Thread Shreyas B. Prabhu
CHECK_HMI_INTERRUPT is used to check for HMI's in reset vector. Move the macro to a common location (exception-64s.h) This patch does not change any functionality. Signed-off-by: Shreyas B. Prabhu --- arch/powerpc/include/asm/exception-64s.h | 19 +++ arch/powerpc/k

[PATCH 2/3] powerpc/powernv: Encapsulate idle preparation steps in a macro

2016-02-29 Thread Shreyas B. Prabhu
Before entering any idle state which can result in a state loss we currently save the context in the stack before entering idle. Encapsulate these steps in a macro IDLE_STATE_PREP. Move this and other macros to commonly accessible location. Signed-off-by: Shreyas B. Prabhu --- arch/powerpc

[PATCH 3/3] powerpc/powernv: Refactor hypervisor state restore code

2016-02-29 Thread Shreyas B. Prabhu
: power7_restore_hyp_resource() if (thread needed by kvm) goto kvm_start_guest goto power7_wakeup_loss Signed-off-by: Shreyas B. Prabhu --- arch/powerpc/kernel/exceptions-64s.S | 29 +++- arch/powerpc/kernel/idle_power7.S| 67 2 files

[PATCH 0/3] powerpc/powernv: Cpuidle related cleanup

2016-02-29 Thread Shreyas B. Prabhu
largely ignored these errors. Shreyas B. Prabhu (3): powerpc/powernv: Move CHECK_HMI_INTERRUPT to exception-64s header powerpc/powernv: Encapsulate idle preparation steps in a macro powerpc/powernv: make hypervisor state restore a function arch/powerpc/include/asm/cpuidle.h | 68

Re: [PATCH 0/3] powerpc/powernv: Cpuidle related cleanup

2016-03-10 Thread Shreyas B Prabhu
Hi, Any thoughts on this? On 02/29/2016 05:52 PM, Shreyas B. Prabhu wrote: > These patches are purely code movement and cleanup. > There is no functionality change. > > Note, there are multiple style error reported for patch 1 and 2. > I think this is because checkpatch scri

Re: [PATCH 2/3] powerpc/powernv: Encapsulate idle preparation steps in a macro

2016-03-19 Thread Shreyas B Prabhu
Hi Paul, On 03/17/2016 04:45 PM, Paul Mackerras wrote: > On Mon, Feb 29, 2016 at 05:52:59PM +0530, Shreyas B. Prabhu wrote: >> Before entering any idle state which can result in a state loss >> we currently save the context in the stack before entering idle. >> Encapsulate t

Re: [PATCH 2/3] powerpc/powernv: Encapsulate idle preparation steps in a macro

2016-03-21 Thread Shreyas B Prabhu
On 03/19/2016 05:51 AM, Paul Mackerras wrote: > On Fri, Mar 18, 2016 at 08:23:24PM +0530, Shreyas B Prabhu wrote: >> Hi Paul, >> >> On 03/17/2016 04:45 PM, Paul Mackerras wrote: >>> On Mon, Feb 29, 2016 at 05:52:59PM +0530, Shreyas B. Prabhu wrote: >>>>

[PATCH 0/9] powerpc/powernv/cpuidle: Add support for POWER ISA v3 idle states

2016-04-21 Thread Shreyas B. Prabhu
Neuling Cc: linuxppc-dev@lists.ozlabs.org Shreyas B. Prabhu (9): powerpc/powernv: Move CHECK_HMI_INTERRUPT to exception-64s header powerpc/kvm: make hypervisor state restore a function powerpc/powernv: Move idle code usable by multiple hardware to common location powerpc/powernv: Make

[PATCH 1/9] powerpc/powernv: Move CHECK_HMI_INTERRUPT to exception-64s header

2016-04-21 Thread Shreyas B. Prabhu
CHECK_HMI_INTERRUPT is used to check for HMI's in reset vector. Move the macro to a common location (exception-64s.h) This patch does not change any functionality. Signed-off-by: Shreyas B. Prabhu --- arch/powerpc/include/asm/exception-64s.h | 18 ++ arch/powerpc/k

[PATCH 2/9] powerpc/kvm: make hypervisor state restore a function

2016-04-21 Thread Shreyas B. Prabhu
kvm) goto kvm_start_guest goto power7_wakeup_loss Signed-off-by: Shreyas B. Prabhu --- arch/powerpc/kernel/exceptions-64s.S | 29 +++- arch/powerpc/kernel/idle_power7.S| 67 2 files changed, 41 insertions(+), 55

[PATCH 4/9] powerpc/powernv: Make power7_powersave_common more generic

2016-04-21 Thread Shreyas B. Prabhu
power7_powersave_common does common steps needed before entering idle state and eventually changes MSR to MSR_IDLE and does rfid to power7_enter_nap_mode. Make it more generic by passing the rfid address as a function parameter. Also make function name more generic. Signed-off-by: Shreyas B

[PATCH 3/9] powerpc/powernv: Move idle code usable by multiple hardware to common location

2016-04-21 Thread Shreyas B. Prabhu
CPU-idle related code like context save/restore functions idle_power7.S can reused for adding stop instruction support. Move this code to a new commonly accessible location. Signed-off-by: Shreyas B. Prabhu --- arch/powerpc/kernel/Makefile| 1 + arch/powerpc/kernel/idle_power7.S

[PATCH 5/9] powerpc/powernv: Move idle related macros to cpuidle.h

2016-04-21 Thread Shreyas B. Prabhu
Move idle related macros to a common location asm/cpuidle.h so that they can be used for stop instruction support. Signed-off-by: Shreyas B. Prabhy --- arch/powerpc/include/asm/cpuidle.h | 27 +++ arch/powerpc/kernel/idle_power7.S | 26 -- 2 files

[PATCH 7/9] powerpc/powernv: Add platform support for stop instruction

2016-04-21 Thread Shreyas B. Prabhu
for stop instruction and PSSCR handling. Signed-off-by: Shreyas B. Prabhu --- arch/powerpc/include/asm/cpuidle.h| 2 + arch/powerpc/include/asm/cputable.h | 4 +- arch/powerpc/include/asm/kvm_book3s_asm.h | 2 +- arch/powerpc/include/asm/machdep.h| 1 + arch/powerpc

[PATCH 6/9] powerpc/powernv: set power_save func after the idle states are initialized

2016-04-21 Thread Shreyas B. Prabhu
pnv_init_idle_states discovers supported idle states from the device tree and does the required initialization. Set power_save function pointer only after this initialization is done Signed-off-by: Shreyas B. Prabhy --- arch/powerpc/platforms/powernv/idle.c | 3 +++ arch/powerpc/platforms/power

[PATCH 8/9] cpuidle/powernv: Add support for POWER ISA v3 idle states

2016-04-21 Thread Shreyas B. Prabhu
: Daniel Lezcano Cc: linux...@vger.kernel.org Cc: Michael Ellerman Cc: Paul Mackerras Cc: linuxppc-dev@lists.ozlabs.org Signed-off-by: Shreyas B. Prabhu --- drivers/cpuidle/cpuidle-powernv.c | 57 ++- 1 file changed, 56 insertions(+), 1 deletion(-) diff --git a

[PATCH 9/9] powerpc/powernv: Use deepest stop state when cpu is offlined

2016-04-21 Thread Shreyas B. Prabhu
If hardware supports stop state, use the deepest stop state when the cpu is offlined. Signed-off-by: Shreyas B. Prabhu --- arch/powerpc/platforms/powernv/idle.c| 15 +-- arch/powerpc/platforms/powernv/powernv.h | 1 + arch/powerpc/platforms/powernv/smp.c | 4 +++- 3 files

Re: [PATCH RESEND v4 1/4] cpufreq: powernv: Remove cpu_to_chip_id() from hot-path

2016-01-12 Thread Shreyas B Prabhu
On 01/12/2016 03:54 PM, Shilpasri G Bhat wrote: > cpu_to_chip_id() does a DT walk through to find out the chip id by taking a > contended device tree lock. This adds an unnecessary overhead in a hot-path. > So instead of cpu_to_chip_id() use PIR of the cpu to find the chip id. > > Reported-by: A

Re: [PATCH 1/2] powerpc/64: Re-fix race condition between going idle and entering guest

2016-10-21 Thread Shreyas B. Prabhu
r and shoutier comment > explaining the potential race condition. > > Cc: sta...@vger.kernel.org # v4.8 > Fixes: 4eae2c9ae54a > Signed-off-by: Paul Mackerras > --- > Serious oversight on my part. Thanks for fixing this. Reviewed-by: Shreyas B. Prabhu Thanks, Shreyas

Re: [PATCH] powerpc/64s: relocation, register save fixes for system reset interrupt

2016-11-02 Thread Shreyas B. Prabhu
On Thu, Nov 3, 2016 at 1:21 AM, Nicholas Piggin wrote: > On Wed, 2 Nov 2016 14:15:48 +0530 > Gautham R Shenoy wrote: > >> Hi Nick, >> >> On Wed, Nov 02, 2016 at 07:36:24PM +1100, Nicholas Piggin wrote: >> > >> > Okay, I'll work with that. What's the best way to make a P8 do >> > winkle sleeps? >>

Re: [PATCH] powerpc/64s: relocation, register save fixes for system reset interrupt

2016-11-02 Thread Shreyas B. Prabhu
On Thu, Nov 3, 2016 at 2:17 AM, Nicholas Piggin wrote: > On Thu, 3 Nov 2016 01:56:46 -0400 > "Shreyas B. Prabhu" wrote: > >> On Thu, Nov 3, 2016 at 1:21 AM, Nicholas Piggin wrote: >> > On Wed, 2 Nov 2016 14:15:48 +0530 >> > Gautham R Shenoy wrote: >

Re: [PATCH 7/9] powerpc/powernv: Add platform support for stop instruction

2016-05-02 Thread Shreyas B Prabhu
On 05/03/2016 10:55 AM, Michael Neuling wrote: > >> diff --git a/arch/powerpc/include/asm/cputable.h >> b/arch/powerpc/include/asm/cputable.h >> index df4fb5f..a4739a1 100644 >> --- a/arch/powerpc/include/asm/cputable.h >> +++ b/arch/powerpc/include/asm/cputable.h >> @@ -205,6 +205,7 @@ enum {

[PATCH v2 0/9] powerpc/powernv/cpuidle: Add support for POWER ISA v3 idle states

2016-05-03 Thread Shreyas B. Prabhu
. Wysocki Cc: Daniel Lezcano Cc: linux...@vger.kernel.org Cc: Michael Ellerman Cc: Paul Mackerras Cc: Michael Neuling Cc: linuxppc-dev@lists.ozlabs.org Shreyas B. Prabhu (9): powerpc/powernv: Move CHECK_HMI_INTERRUPT to exception-64s header powerpc/kvm: make hypervisor state restore a

[PATCH v2 1/9] powerpc/powernv: Move CHECK_HMI_INTERRUPT to exception-64s header

2016-05-03 Thread Shreyas B. Prabhu
CHECK_HMI_INTERRUPT is used to check for HMI's in reset vector. Move the macro to a common location (exception-64s.h) This patch does not change any functionality. Signed-off-by: Shreyas B. Prabhu --- arch/powerpc/include/asm/exception-64s.h | 18 ++ arch/powerpc/k

[PATCH v2 2/9] powerpc/kvm: make hypervisor state restore a function

2016-05-03 Thread Shreyas B. Prabhu
kvm) goto kvm_start_guest goto power7_wakeup_loss Signed-off-by: Shreyas B. Prabhu --- arch/powerpc/kernel/exceptions-64s.S | 29 +++- arch/powerpc/kernel/idle_power7.S| 67 2 files changed, 41 insertions(+), 55

[PATCH v2 3/9] powerpc/powernv: Move idle code usable by multiple hardware to common location

2016-05-03 Thread Shreyas B. Prabhu
CPU-idle related code like context save/restore functions idle_power7.S can reused for adding stop instruction support. Move this code to a new commonly accessible location. Signed-off-by: Shreyas B. Prabhu --- arch/powerpc/kernel/Makefile| 1 + arch/powerpc/kernel/idle_power7.S

[PATCH v2 4/9] powerpc/powernv: Make power7_powersave_common more generic

2016-05-03 Thread Shreyas B. Prabhu
power7_powersave_common does common steps needed before entering idle state and eventually changes MSR to MSR_IDLE and does rfid to power7_enter_nap_mode. Make it more generic by passing the rfid address as a function parameter. Also make function name more generic. Signed-off-by: Shreyas B

[PATCH v2 5/9] powerpc/powernv: Move idle related macros to cpuidle.h

2016-05-03 Thread Shreyas B. Prabhu
Move idle related macros to a common location asm/cpuidle.h so that they can be used for stop instruction support. Signed-off-by: Shreyas B. Prabhy --- arch/powerpc/include/asm/cpuidle.h | 27 +++ arch/powerpc/kernel/idle_power7.S | 26 -- 2 files

[PATCH v2 6/9] powerpc/powernv: set power_save func after the idle states are initialized

2016-05-03 Thread Shreyas B. Prabhu
pnv_init_idle_states discovers supported idle states from the device tree and does the required initialization. Set power_save function pointer only after this initialization is done Signed-off-by: Shreyas B. Prabhy --- arch/powerpc/platforms/powernv/idle.c | 3 +++ arch/powerpc/platforms/power

[PATCH v2 7/9] powerpc/powernv: Add platform support for stop instruction

2016-05-03 Thread Shreyas B. Prabhu
for stop instruction and PSSCR handling. Signed-off-by: Shreyas B. Prabhu --- arch/powerpc/include/asm/cpuidle.h| 2 + arch/powerpc/include/asm/kvm_book3s_asm.h | 2 +- arch/powerpc/include/asm/machdep.h| 1 + arch/powerpc/include/asm/opal-api.h | 11 +- arch/powerpc

[PATCH v2 8/9] cpuidle/powernv: Add support for POWER ISA v3 idle states

2016-05-03 Thread Shreyas B. Prabhu
: Daniel Lezcano Cc: linux...@vger.kernel.org Cc: Michael Ellerman Cc: Paul Mackerras Cc: linuxppc-dev@lists.ozlabs.org Signed-off-by: Shreyas B. Prabhu --- drivers/cpuidle/cpuidle-powernv.c | 57 ++- 1 file changed, 56 insertions(+), 1 deletion(-) diff --git a

[PATCH v2 9/9] powerpc/powernv: Use deepest stop state when cpu is offlined

2016-05-03 Thread Shreyas B. Prabhu
If hardware supports stop state, use the deepest stop state when the cpu is offlined. Signed-off-by: Shreyas B. Prabhu --- arch/powerpc/platforms/powernv/idle.c| 15 +-- arch/powerpc/platforms/powernv/powernv.h | 1 + arch/powerpc/platforms/powernv/smp.c | 4 +++- 3 files

Re: [PATCH v2 4/9] powerpc/powernv: Make power7_powersave_common more generic

2016-05-17 Thread Shreyas B Prabhu
On 05/18/2016 12:07 PM, Gautham R Shenoy wrote: > Hi Shreyas, > > On Tue, May 03, 2016 at 01:54:33PM +0530, Shreyas B. Prabhu wrote: >> power7_powersave_common does common steps needed before entering idle >> state and eventually changes MSR to MSR_IDLE and does rfid to >

Re: [PATCH v2 2/9] powerpc/kvm: make hypervisor state restore a function

2016-05-18 Thread Shreyas B Prabhu
Hi Gautham, On 05/18/2016 11:55 AM, Gautham R Shenoy wrote: > Hi Shreyas, > > On Tue, May 03, 2016 at 01:54:31PM +0530, Shreyas B. Prabhu wrote: >> In the current code, when the thread wakes up in reset vector, some >> of the state restore code and check for whether a thre

Re: [PATCH v2 1/9] powerpc/powernv: Move CHECK_HMI_INTERRUPT to exception-64s header

2016-05-18 Thread Shreyas B Prabhu
On 05/18/2016 10:05 AM, Gautham R Shenoy wrote: > On Tue, May 03, 2016 at 01:54:30PM +0530, Shreyas B. Prabhu wrote: >> CHECK_HMI_INTERRUPT is used to check for HMI's in reset vector. Move >> the macro to a common location (exception-64s.h) >> This patch does no

Re: [PATCH v2 7/9] powerpc/powernv: Add platform support for stop instruction

2016-05-19 Thread Shreyas B Prabhu
On 05/20/2016 10:55 AM, Paul Mackerras wrote: > On Tue, May 03, 2016 at 01:54:36PM +0530, Shreyas B. Prabhu wrote: >> POWER ISA v3 defines a new idle processor core mechanism. In summary, >> a) new instruction named stop is added. This instruction replaces >> instruc

[PATCH v3 0/9] powerpc/powernv/cpuidle: Add support for POWER ISA v3 idle states

2016-05-23 Thread Shreyas B. Prabhu
: linux...@vger.kernel.org Cc: Michael Ellerman Cc: Paul Mackerras Cc: Michael Neuling Cc: linuxppc-dev@lists.ozlabs.org Shreyas B. Prabhu (9): powerpc/powernv: Move CHECK_HMI_INTERRUPT to exception-64s header powerpc/kvm: make hypervisor state restore a function powerpc/powernv: Rename

[PATCH v3 1/9] powerpc/kvm: make hypervisor state restore a function

2016-05-23 Thread Shreyas B. Prabhu
kvm) goto kvm_start_guest goto power7_wakeup_loss Reviewed-by: Paul Mackerras Reviewed-by: Gautham R. Shenoy Signed-off-by: Shreyas B. Prabhu --- Changes in v3: = - Retaining GET_PACA(r13) in System Reset vector instead of moving it to

[PATCH v3 2/9] powerpc/powernv: Rename idle_power7.S to idle_power_common.S

2016-05-23 Thread Shreyas B. Prabhu
idle_power7.S handles idle entry/exit for POWER7, POWER8 and in next patch for POWER9. Rename the file to a non-hardware specific name. Signed-off-by: Shreyas B. Prabhu --- Changes in v3: == - Instead of moving few common functions from idle_power7.S to idle_power_common.S

[PATCH v3 3/9] powerpc/powernv: Rename reusable idle functions to hardware agnostic names

2016-05-23 Thread Shreyas B. Prabhu
Functions like power7_wakeup_loss, power7_wakeup_noloss, power7_wakeup_tb_loss are used by POWER7 and POWER8 hardware. They can also be used by POWER9. Hence rename these functions hardware agnostic names. Suggested-by: Gautham R. Shenoy Signed-off-by: Shreyas B. Prabhu --- New in v3 arch

[PATCH v3 4/9] powerpc/powernv: Make power7_powersave_common more generic

2016-05-23 Thread Shreyas B. Prabhu
address as a function parameter. Also make function name more generic. Reviewed-by: Gautham R. Shenoy Signed-off-by: Shreyas B. Prabhu --- Changes in v3: == - Moved HSTATE_HWTHREAD_STATE updation to power_powersave_common arch/powerpc/kernel/idle_power_common.S | 30

[PATCH v3 5/9] powerpc/powernv: abstraction for saving SPRs before entering deep idle states

2016-05-23 Thread Shreyas B. Prabhu
Create a function for saving SPRs before entering deep idle states. This function can be reused for POWER9 deep idle states. Signed-off-by: Shreyas B. Prabhu --- New in v3 arch/powerpc/kernel/idle_power_common.S | 54 +++-- 1 file changed, 32 insertions(+), 22

[PATCH v3 6/9] powerpc/powernv: set power_save func after the idle states are initialized

2016-05-23 Thread Shreyas B. Prabhu
pnv_init_idle_states discovers supported idle states from the device tree and does the required initialization. Set power_save function pointer only after this initialization is done Reviewed-by: Gautham R. Shenoy Signed-off-by: Shreyas B. Prabhu --- arch/powerpc/platforms/powernv/idle.c | 3

[PATCH v3 7/9] powerpc/powernv: Add platform support for stop instruction

2016-05-23 Thread Shreyas B. Prabhu
for stop instruction and PSSCR handling. Signed-off-by: Shreyas B. Prabhu --- Changes in v3: == - Instead of introducing new file idle_power_stop.S, P9 idle support is added to idle_power_common.S using CPU_FTR sections. - Fixed r4 reg clobbering in power_stop0 - Improved

[PATCH v3 8/9] cpuidle/powernv: Add support for POWER ISA v3 idle states

2016-05-23 Thread Shreyas B. Prabhu
: Daniel Lezcano Cc: linux...@vger.kernel.org Cc: Michael Ellerman Cc: Paul Mackerras Cc: linuxppc-dev@lists.ozlabs.org Signed-off-by: Shreyas B. Prabhu --- drivers/cpuidle/cpuidle-powernv.c | 57 ++- 1 file changed, 56 insertions(+), 1 deletion(-) diff --git a

[PATCH v3 9/9] powerpc/powernv: Use deepest stop state when cpu is offlined

2016-05-23 Thread Shreyas B. Prabhu
If hardware supports stop state, use the deepest stop state when the cpu is offlined. Reviewed-by: Gautham R. Shenoy Signed-off-by: Shreyas B. Prabhu --- arch/powerpc/platforms/powernv/idle.c| 15 +-- arch/powerpc/platforms/powernv/powernv.h | 1 + arch/powerpc/platforms

[PATCH v4 00/10] powerpc/powernv/cpuidle: Add support for POWER ISA v3 idle states

2016-05-24 Thread Shreyas B. Prabhu
in v2 = - Rebased on v4.6-rc6 - Using CPU_FTR_ARCH_300 bit instead of CPU_FTR_STOP_INST Cc: Rafael J. Wysocki Cc: Daniel Lezcano Cc: linux...@vger.kernel.org Cc: Michael Ellerman Cc: Paul Mackerras Cc: Michael Neuling Cc: linuxppc-dev@lists.ozlabs.org Shreyas B. Prabh

[PATCH v4 01/10] powerpc/powernv: Use PNV_THREAD_WINKLE macro while requesting for winkle

2016-05-24 Thread Shreyas B. Prabhu
Signed-off-by: Shreyas B. Prabhu --- Changes in v4 = - New in v4 arch/powerpc/kernel/idle_power7.S | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/powerpc/kernel/idle_power7.S b/arch/powerpc/kernel/idle_power7.S index 470ceeb..705c867 100644 --- a/arch

[PATCH v4 02/10] powerpc/kvm: make hypervisor state restore a function

2016-05-24 Thread Shreyas B. Prabhu
kvm) goto kvm_start_guest goto power7_wakeup_loss Reviewed-by: Paul Mackerras Reviewed-by: Gautham R. Shenoy Signed-off-by: Shreyas B. Prabhu --- - No changes in v4 Changes in v3: = - Retaining GET_PACA(r13) in System Reset vector instead of moving it to

[PATCH v4 03/10] powerpc/powernv: Rename idle_power7.S to idle_power_common.S

2016-05-24 Thread Shreyas B. Prabhu
idle_power7.S handles idle entry/exit for POWER7, POWER8 and in next patch for POWER9. Rename the file to a non-hardware specific name. Reviewed-by: Gautham R. Shenoy Signed-off-by: Shreyas B. Prabhu --- - No changes in v4 Changes in v3: == - Instead of moving few common

[PATCH v4 05/10] powerpc/powernv: Make pnv_powersave_common more generic

2016-05-24 Thread Shreyas B. Prabhu
rfid address as a function parameter. Reviewed-by: Gautham R. Shenoy Signed-off-by: Shreyas B. Prabhu --- Changes in v4: == - Moved renaming of power7_powersave_common to earlier patch Changes in v3: == - Moved HSTATE_HWTHREAD_STATE updation to power_powersave_common

[PATCH v4 07/10] powerpc/powernv: set power_save func after the idle states are initialized

2016-05-24 Thread Shreyas B. Prabhu
pnv_init_idle_states discovers supported idle states from the device tree and does the required initialization. Set power_save function pointer only after this initialization is done Reviewed-by: Gautham R. Shenoy Signed-off-by: Shreyas B. Prabhu --- - No changes since v1 arch/powerpc

[PATCH v4 04/10] powerpc/powernv: Rename reusable idle functions to hardware agnostic names

2016-05-24 Thread Shreyas B. Prabhu
Functions like power7_wakeup_loss, power7_wakeup_noloss, power7_wakeup_tb_loss are used by POWER7 and POWER8 hardware. They can also be used by POWER9. Hence rename these functions hardware agnostic names. Suggested-by: Gautham R. Shenoy Reviewed-by: Gautham R. Shenoy Signed-off-by: Shreyas B

[PATCH v4 08/10] powerpc/powernv: Add platform support for stop instruction

2016-05-24 Thread Shreyas B. Prabhu
instruction and PSSCR handling. Signed-off-by: Shreyas B. Prabhu --- Changes in v4: == - Added PSSCR layout to commit message - Improved / Fixed comments - Fixed whitespace error in paca.h - Using MAX_POSSIBLE_STOP_STATE macro instead of hardcoding 0xF has max possible stop state

[PATCH v4 09/10] cpuidle/powernv: Add support for POWER ISA v3 idle states

2016-05-24 Thread Shreyas B. Prabhu
: Daniel Lezcano Cc: linux...@vger.kernel.org Cc: Michael Ellerman Cc: Paul Mackerras Cc: linuxppc-dev@lists.ozlabs.org Reviewed-by: Gautham R. Shenoy Signed-off-by: Shreyas B. Prabhu --- - No changes since v1 drivers/cpuidle/cpuidle-powernv.c | 57 ++- 1 file

[PATCH v4 10/10] powerpc/powernv: Use deepest stop state when cpu is offlined

2016-05-24 Thread Shreyas B. Prabhu
If hardware supports stop state, use the deepest stop state when the cpu is offlined. Reviewed-by: Gautham R. Shenoy Signed-off-by: Shreyas B. Prabhu --- - No changes since v1 arch/powerpc/platforms/powernv/idle.c| 15 +-- arch/powerpc/platforms/powernv/powernv.h | 1 + arch

[PATCH v4 06/10] powerpc/powernv: abstraction for saving SPRs before entering deep idle states

2016-05-24 Thread Shreyas B. Prabhu
Create a function for saving SPRs before entering deep idle states. This function can be reused for POWER9 deep idle states. Reviewed-by: Gautham R. Shenoy Signed-off-by: Shreyas B. Prabhu --- - No changes in v4 Changes in v3: = - Newly added in v3 arch/powerpc/kernel

Re: [PATCH v3 7/9] powerpc/powernv: Add platform support for stop instruction

2016-05-24 Thread Shreyas B Prabhu
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 cor

Re: [PATCH v3 7/9] powerpc/powernv: Add platform support for stop instruction

2016-05-24 Thread Shreyas B Prabhu
On 05/24/2016 02:17 PM, Madhavan Srinivasan wrote: > > > On Monday 23 May 2016 08:48 PM, Shreyas B. Prabhu wrote: >> POWER ISA v3 defines a new idle processor core mechanism. In summary, >> a) new instruction named stop is added. This instruction replaces >> i

Re: [PATCH v4 08/10] powerpc/powernv: Add platform support for stop instruction

2016-05-30 Thread Shreyas B Prabhu
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] >> @@ -230,11 +236,18 @@ static DEVICE_ATTR(fastsleep_workaround_applyonce, >> 0600, >> show_fastsleep

Re: [PATCH v4 09/10] cpuidle/powernv: Add support for POWER ISA v3 idle states

2016-05-31 Thread Shreyas B Prabhu
Hi Daniel, On 05/30/2016 07:56 PM, Daniel Lezcano wrote: > On 05/24/2016 03:15 PM, Shreyas B. Prabhu wrote: >> POWER ISA v3 defines a new idle processor core mechanism. In summary, >> a) new instruction named stop is added. >> b) new per thread SPR named PSSCR is add

[PATCH v5 00/11] powerpc/powernv/cpuidle: Add support for POWER ISA v3 idle states

2016-06-02 Thread Shreyas B. Prabhu
ARCH_300 bit instead of CPU_FTR_STOP_INST Cc: Rafael J. Wysocki Cc: Daniel Lezcano Cc: linux...@vger.kernel.org Cc: Michael Ellerman Cc: Paul Mackerras Cc: Michael Neuling Cc: linuxppc-dev@lists.ozlabs.org Cc: Rob Herring Cc: Lorenzo Pieralisi Shreyas B. Prabhu (11): powerpc/

[PATCH v5 01/11] powerpc/powernv: Use PNV_THREAD_WINKLE macro while requesting for winkle

2016-06-02 Thread Shreyas B. Prabhu
Signed-off-by: Shreyas B. Prabhu --- -No changes in v5 Changes in v4 = - New in v4 arch/powerpc/kernel/idle_power7.S | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/powerpc/kernel/idle_power7.S b/arch/powerpc/kernel/idle_power7.S index 470ceeb..705c867

[PATCH v5 02/11] powerpc/kvm: make hypervisor state restore a function

2016-06-02 Thread Shreyas B. Prabhu
kvm) goto kvm_start_guest goto power7_wakeup_loss Reviewed-by: Paul Mackerras Reviewed-by: Gautham R. Shenoy Signed-off-by: Shreyas B. Prabhu --- - No changes in v4 Changes in v3: = - Retaining GET_PACA(r13) in System Reset vector instead of moving it to

[PATCH v5 03/11] powerpc/powernv: Rename idle_power7.S to idle_power_common.S

2016-06-02 Thread Shreyas B. Prabhu
idle_power7.S handles idle entry/exit for POWER7, POWER8 and in next patch for POWER9. Rename the file to a non-hardware specific name. Reviewed-by: Gautham R. Shenoy Signed-off-by: Shreyas B. Prabhu --- - No changes from v3 Changes in v3: == - Instead of moving few common

[PATCH v5 04/11] powerpc/powernv: Rename reusable idle functions to hardware agnostic names

2016-06-02 Thread Shreyas B. Prabhu
Functions like power7_wakeup_loss, power7_wakeup_noloss, power7_wakeup_tb_loss are used by POWER7 and POWER8 hardware. They can also be used by POWER9. Hence rename these functions hardware agnostic names. Suggested-by: Gautham R. Shenoy Signed-off-by: Shreyas B. Prabhu --- - No changes in v5

[PATCH v5 05/11] powerpc/powernv: Make pnv_powersave_common more generic

2016-06-02 Thread Shreyas B. Prabhu
rfid address as a function parameter. Reviewed-by: Gautham R. Shenoy Signed-off-by: Shreyas B. Prabhu --- - No changes in v5 Changes in v4: == - Moved renaming of power7_powersave_common to earlier patch Changes in v3: == - Moved HSTATE_HWTHREAD_STATE updation to

[PATCH v5 06/11] powerpc/powernv: abstraction for saving SPRs before entering deep idle states

2016-06-02 Thread Shreyas B. Prabhu
Create a function for saving SPRs before entering deep idle states. This function can be reused for POWER9 deep idle states. Reviewed-by: Gautham R. Shenoy Signed-off-by: Shreyas B. Prabhu --- - No changes from v3 Changes in v3: = - Newly added in v3 arch/powerpc/kernel

[PATCH v5 07/11] powerpc/powernv: set power_save func after the idle states are initialized

2016-06-02 Thread Shreyas B. Prabhu
pnv_init_idle_states discovers supported idle states from the device tree and does the required initialization. Set power_save function pointer only after this initialization is done Reviewed-by: Gautham R. Shenoy Signed-off-by: Shreyas B. Prabhu --- - No changes since v1 arch/powerpc

[PATCH v5 08/11] powerpc/powernv: Add platform support for stop instruction

2016-06-02 Thread Shreyas B. Prabhu
instruction and PSSCR handling. Reviewed-by: Gautham R. Shenoy Signed-off-by: Shreyas B. Prabhu --- - No changes in v5 Changes in v4: == - Added PSSCR layout to commit message - Improved / Fixed comments - Fixed whitespace error in paca.h - Using MAX_POSSIBLE_STOP_STATE macro instead of

[PATCH v5 09/11] cpuidle/powernv: Use CPUIDLE_STATE_MAX instead of MAX_POWERNV_IDLE_STATES

2016-06-02 Thread Shreyas B. Prabhu
Use cpuidle's CPUIDLE_STATE_MAX macro instead of powernv specific MAX_POWERNV_IDLE_STATES. Cc: Rafael J. Wysocki Cc: Daniel Lezcano Cc: linux...@vger.kernel.org Suggested-by: Daniel Lezcano Signed-off-by: Shreyas B. Prabhu --- - New in v5 drivers/cpuidle/cpuidle-powernv.c | 4 +--- 1

[PATCH v5 10/11] cpuidle/powernv: Add support for POWER ISA v3 idle states

2016-06-02 Thread Shreyas B. Prabhu
: Daniel Lezcano Cc: Rob Herring Cc: Lorenzo Pieralisi Cc: linux...@vger.kernel.org Cc: Michael Ellerman Cc: Paul Mackerras Cc: linuxppc-dev@lists.ozlabs.org Reviewed-by: Gautham R. Shenoy Signed-off-by: Shreyas B. Prabhu --- Note: Documentation for the device tree bindings is posted here- http

[PATCH v5 11/11] powerpc/powernv: Use deepest stop state when cpu is offlined

2016-06-02 Thread Shreyas B. Prabhu
If hardware supports stop state, use the deepest stop state when the cpu is offlined. Reviewed-by: Gautham R. Shenoy Signed-off-by: Shreyas B. Prabhu --- - No changes since v1 arch/powerpc/platforms/powernv/idle.c| 15 +-- arch/powerpc/platforms/powernv/powernv.h | 1 + arch

[PATCH v6 00/11] powerpc/powernv/cpuidle: Add support for POWER ISA v3 idle states

2016-06-08 Thread Shreyas B. Prabhu
Cc: linuxppc-dev@lists.ozlabs.org Cc: Rob Herring Cc: Lorenzo Pieralisi Shreyas B. Prabhu (11): powerpc/powernv: Use PNV_THREAD_WINKLE macro while requesting for winkle powerpc/kvm: make hypervisor state restore a function powerpc/powernv: Rename idle_power7.S to idle_power_common.S pow

[PATCH v6 02/11] powerpc/kvm: make hypervisor state restore a function

2016-06-08 Thread Shreyas B. Prabhu
kvm) goto kvm_start_guest goto power7_wakeup_loss Reviewed-by: Paul Mackerras Reviewed-by: Gautham R. Shenoy Signed-off-by: Shreyas B. Prabhu --- - No changes since v3 Changes in v3: = - Retaining GET_PACA(r13) in System Reset vector instead of moving it to

[PATCH v6 04/11] powerpc/powernv: Rename reusable idle functions to hardware agnostic names

2016-06-08 Thread Shreyas B. Prabhu
Functions like power7_wakeup_loss, power7_wakeup_noloss, power7_wakeup_tb_loss are used by POWER7 and POWER8 hardware. They can also be used by POWER9. Hence rename these functions hardware agnostic names. Suggested-by: Gautham R. Shenoy Signed-off-by: Shreyas B. Prabhu --- - No changes since

[PATCH v6 03/11] powerpc/powernv: Rename idle_power7.S to idle_power_common.S

2016-06-08 Thread Shreyas B. Prabhu
idle_power7.S handles idle entry/exit for POWER7, POWER8 and in next patch for POWER9. Rename the file to a non-hardware specific name. Reviewed-by: Gautham R. Shenoy Signed-off-by: Shreyas B. Prabhu --- - No changes since v3 Changes in v3: == - Instead of moving few common

[PATCH v6 01/11] powerpc/powernv: Use PNV_THREAD_WINKLE macro while requesting for winkle

2016-06-08 Thread Shreyas B. Prabhu
Signed-off-by: Shreyas B. Prabhu --- -No changes since v4 Changes in v4 = - New in v4 arch/powerpc/kernel/idle_power7.S | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/powerpc/kernel/idle_power7.S b/arch/powerpc/kernel/idle_power7.S index 470ceeb..705c867

[PATCH v6 07/11] powerpc/powernv: set power_save func after the idle states are initialized

2016-06-08 Thread Shreyas B. Prabhu
pnv_init_idle_states discovers supported idle states from the device tree and does the required initialization. Set power_save function pointer only after this initialization is done Reviewed-by: Gautham R. Shenoy Signed-off-by: Shreyas B. Prabhu --- - No changes since v1 arch/powerpc

[PATCH v6 06/11] powerpc/powernv: abstraction for saving SPRs before entering deep idle states

2016-06-08 Thread Shreyas B. Prabhu
Create a function for saving SPRs before entering deep idle states. This function can be reused for POWER9 deep idle states. Reviewed-by: Gautham R. Shenoy Signed-off-by: Shreyas B. Prabhu --- - No changes since v3 Changes in v3: = - Newly added in v3 arch/powerpc/kernel

[PATCH v6 08/11] powerpc/powernv: Add platform support for stop instruction

2016-06-08 Thread Shreyas B. Prabhu
instruction and PSSCR handling. Reviewed-by: Gautham R. Shenoy Signed-off-by: Shreyas B. Prabhu --- Changes in v6 = - Save/restore new P9 SPRs when using deep idle states Changes in v4: == - Added PSSCR layout to commit message - Improved / Fixed comments - Fixed whitespace

[PATCH v6 05/11] powerpc/powernv: Make pnv_powersave_common more generic

2016-06-08 Thread Shreyas B. Prabhu
rfid address as a function parameter. Reviewed-by: Gautham R. Shenoy Signed-off-by: Shreyas B. Prabhu --- - No changes since v4 Changes in v4: == - Moved renaming of power7_powersave_common to earlier patch Changes in v3: == - Moved HSTATE_HWTHREAD_STATE updation to

[PATCH v6 09/11] cpuidle/powernv: Use CPUIDLE_STATE_MAX instead of MAX_POWERNV_IDLE_STATES

2016-06-08 Thread Shreyas B. Prabhu
Use cpuidle's CPUIDLE_STATE_MAX macro instead of powernv specific MAX_POWERNV_IDLE_STATES. Cc: Rafael J. Wysocki Cc: Daniel Lezcano Cc: linux...@vger.kernel.org Suggested-by: Daniel Lezcano Signed-off-by: Shreyas B. Prabhu --- - No changes after v5 Changes in v5 = - New

[PATCH v6 10/11] cpuidle/powernv: Add support for POWER ISA v3 idle states

2016-06-08 Thread Shreyas B. Prabhu
: Daniel Lezcano Cc: Rob Herring Cc: Lorenzo Pieralisi Cc: linux...@vger.kernel.org Cc: Michael Ellerman Cc: Paul Mackerras Cc: linuxppc-dev@lists.ozlabs.org Reviewed-by: Gautham R. Shenoy Signed-off-by: Shreyas B. Prabhu --- Note: Documentation for the device tree bindings is posted here- http

[PATCH v6 11/11] powerpc/powernv: Use deepest stop state when cpu is offlined

2016-06-08 Thread Shreyas B. Prabhu
If hardware supports stop state, use the deepest stop state when the cpu is offlined. Reviewed-by: Gautham R. Shenoy Signed-off-by: Shreyas B. Prabhu --- - No changes since v1 arch/powerpc/platforms/powernv/idle.c| 15 +-- arch/powerpc/platforms/powernv/powernv.h | 1 + arch

Re: [PATCH v5 08/11] powerpc/powernv: Add platform support for stop instruction

2016-06-08 Thread Shreyas B Prabhu
Hi Ben, Sorry for the delayed response. On 06/06/2016 03:58 AM, Benjamin Herrenschmidt wrote: > On Thu, 2016-06-02 at 07:38 -0500, Shreyas B. Prabhu wrote: >> @@ -61,8 +72,13 @@ save_sprs_to_stack: >> * Note all register i.e per-core, per-subcore or per-

Re: [PATCH v5 08/11] powerpc/powernv: Add platform support for stop instruction

2016-06-09 Thread Shreyas B Prabhu
On 06/09/2016 10:12 AM, Sam Bobroff wrote: > On Thu, Jun 02, 2016 at 07:38:58AM -0500, Shreyas B. Prabhu wrote: > > ... > >> +/* Power Management - PSSCR Fields */ > > It might be nice to give the full name of the register, as below with the > FPSCR. > I&#x

Re: [PATCH v6 10/11] cpuidle/powernv: Add support for POWER ISA v3 idle states

2016-06-14 Thread Shreyas B Prabhu
On 06/13/2016 09:04 PM, Daniel Lezcano wrote: > On Wed, Jun 08, 2016 at 11:54:30AM -0500, Shreyas B. Prabhu wrote: >> POWER ISA v3 defines a new idle processor core mechanism. In summary, >> a) new instruction named stop is added. >> b) new per thread SPR named PSSCR is

Re: [PATCH v6 10/11] cpuidle/powernv: Add support for POWER ISA v3 idle states

2016-06-14 Thread Shreyas B Prabhu
On 06/14/2016 03:18 AM, Benjamin Herrenschmidt wrote: > On Wed, 2016-06-08 at 11:54 -0500, Shreyas B. Prabhu wrote: >> >> /* >> * States for dedicated partition case. >> */ >> @@ -167,6 +183,8 @@ static int powernv_add_idle_states(void) >>

Re: [PATCH v6 10/11] cpuidle/powernv: Add support for POWER ISA v3 idle states

2016-06-14 Thread Shreyas B Prabhu
On 06/14/2016 04:59 PM, Benjamin Herrenschmidt wrote: > On Tue, 2016-06-14 at 16:17 +0530, Shreyas B Prabhu wrote: > >> >> I ignored adding this check because this is part of initcall and we are >> unlikely to run out of memory at this state. But I'll add the check

Re: [v6, 07/11] powerpc/powernv: set power_save func after the idle states are initialized

2016-06-14 Thread Shreyas B Prabhu
On 06/15/2016 11:11 AM, Michael Ellerman wrote: > On Wed, 2016-08-06 at 16:54:27 UTC, "Shreyas B. Prabhu" wrote: >> pnv_init_idle_states discovers supported idle states from the >> device tree and does the required initialization. Set power_save >> function pointer

Re: [v6, 08/11] powerpc/powernv: Add platform support for stop instruction

2016-06-15 Thread Shreyas B Prabhu
Hi Michael, On 06/15/2016 04:44 PM, Michael Ellerman wrote: > Hi Shreyas, > > Comments inline ... > > On Wed, 2016-08-06 at 16:54:28 UTC, "Shreyas B. Prabhu" wrote: >> POWER ISA v3 defines a new idle processor core mechanism. In summary, >> a) new

[PATCH] cpuidle/powernv: Fix snooze timeout

2016-06-22 Thread Shreyas B. Prabhu
timeout to 105% of target_residency of next available idle state. This also adds comment around why snooze timeout is necessary. Reported-by: Anton Blanchard Signed-off-by: Shreyas B. Prabhu --- drivers/cpuidle/cpuidle-powernv.c | 14 ++ drivers/cpuidle/cpuidle-pseries.c | 13 ++

Re: cpuidle broken on mainline

2016-06-22 Thread Shreyas B Prabhu
Hi, On 06/22/2016 08:46 PM, Anton Blanchard wrote: > Hi, > > I was noticing some pretty big run to run variations on single threaded > benchmarks, and I've isolated it cpuidle issues. If I look at > the cpuidle tracepoint, I notice we only go into the snooze state. > > Do we have any known bugs

Re: [PATCH] cpuidle/powernv: Fix snooze timeout

2016-06-22 Thread Shreyas B Prabhu
On 06/23/2016 05:18 AM, Balbir Singh wrote: > > > On 23/06/16 05:36, Shreyas B. Prabhu wrote: >> Snooze is a poll idle state in powernv and pseries platforms. Snooze >> has a timeout so that if a cpu stays in snooze for more than target >> residency of the next av

Re: [PATCH] cpuidle/powernv: Fix snooze timeout

2016-06-23 Thread Shreyas B Prabhu
On 06/23/2016 02:58 PM, Balbir Singh wrote: > > > On 23/06/16 14:58, Shreyas B Prabhu wrote: >> >> >> On 06/23/2016 05:18 AM, Balbir Singh wrote: >>> >>> >>> On 23/06/16 05:36, Shreyas B. Prabhu wrote: >>>> Snooze is a poll idle

Re: [PATCH] cpuidle/powernv: Fix snooze timeout

2016-06-23 Thread Shreyas B Prabhu
On 06/23/2016 03:31 PM, Daniel Lezcano wrote: > On 06/23/2016 11:28 AM, Balbir Singh wrote: > > [ ... ] > >>> cpuidle_enter_state() >>> { >>> [...] >>> time_start = local_clock(); >>> [enter idle state] >>> time_end = local_clock(); >>> /* >>> * local_clock() retur

<    1   2   3   >