8747bf36f312356f8a295a0c39ff092d65ce75ae.
Fixes: 8747bf36f312 ("powerpc/powernv/idle: Replace CPU feature check with PVR
check")
Signed-off-by: Pratik Rajesh Sampat
---
@mpe: This revert would resolve a staging issue wherein the P10 stop
driver is not yet ready while cpuidle stop states need not be b
ce renaming the variable to be coherent
to its semantics.
Signed-off-by: Pratik Rajesh Sampat
---
arch/powerpc/platforms/powernv/idle.c | 18 +-
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/arch/powerpc/platforms/powernv/idle.c
b/arch/powerpc/platforms/pow
POWER9 onwards the support for the registers HID1, HID4, HID5 has been
receded.
Although mfspr on the above registers worked in Power9, In Power10
simulator is unrecognized. Moving their assignment under the
check for machines lower than Power9
Signed-off-by: Pratik Rajesh Sampat
Reviewed-by
e PVR check on the outer level function, subsequently in
the hierarchy keeping the CPU_FTR_ARCH_300 check intact as it is a
faster check to do because of static branches
Signed-off-by: Pratik Rajesh Sampat
---
arch/powerpc/platforms/powernv/idle.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
ion
pnv_probe_idle_states and let the rest of the checks be DT based because
it is faster to do so
Pratik Rajesh Sampat (3):
powerpc/powernv/idle: Replace CPU features check with PVR check
powerpc/powernv/idle: Rename pnv_first_spr_loss_level variable
powerpc/powernv/idle: Exclude mfspr on HID1,4,5 on P9
9 10911
10 10912
11 12100
12 73276
Expected timeout(ns): 1200
Observed Average timeout diff(ns): 23589
Pratik Rajesh Sampat (2):
cpuidle: Trace IPI based and timer b
for the IPI and timer tests; first disable all idle states
and then test for latency measurements incrementally enabling each state
Signed-off-by: Pratik Rajesh Sampat
---
tools/testing/selftests/Makefile | 1 +
tools/testing/selftests/cpuidle/Makefile | 6 +
tools/testing/selftests
fix some of the time calculation]
[e...@linux.vnet.ibm.com: Fix some whitespace and tab errors and
increase the resolution of IPI wakeup]
Signed-off-by: Pratik Rajesh Sampat
Reviewed-by: Gautham R. Shenoy
---
drivers/cpuidle/Makefile | 1 +
drivers/cpuidle/test-cpuidle_latenc
POWER9 onwards the support for the registers HID1, HID4, HID5 has been
receded.
Although mfspr on the above registers worked in Power9, In Power10
simulator is unrecognized. Moving their assignment under the
check for machines lower than Power9
Signed-off-by: Pratik Rajesh Sampat
Reviewed-by
terminology.
Signed-off-by: Pratik Rajesh Sampat
---
arch/powerpc/platforms/powernv/idle.c | 18 +-
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/arch/powerpc/platforms/powernv/idle.c
b/arch/powerpc/platforms/powernv/idle.c
index f62904f70fc6..d439e11af101 10064
ave multiple ways to handling idle
2. Removed saving-restoring DAWR, DAWRX patch for P10 systems. Based on
discussions it has become evident that checks based on PVR is the way
to go; however, P10 PVR is yet to up-stream hence shelving this patch
for later.
Pratik Rajesh Sampat (3):
powe
ratik Rajesh Sampat
---
arch/powerpc/platforms/powernv/idle.c | 14 +++---
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/arch/powerpc/platforms/powernv/idle.c
b/arch/powerpc/platforms/powernv/idle.c
index 2dd467383a88..f62904f70fc6 100644
--- a/arch/powerpc/platforms/powernv/i
for the IPI and timer tests; first disable all idle states
and then test for latency measurements incrementally enabling each state
Signed-off-by: Pratik Rajesh Sampat
---
tools/testing/selftests/Makefile | 1 +
tools/testing/selftests/cpuidle/Makefile | 6 +
tools/testing/selftests
fix some of the time calculation]
[e...@linux.vnet.ibm.com: Fix some whitespace and tab errors and
increase the resolution of IPI wakeup]
Signed-off-by: Pratik Rajesh Sampat
---
drivers/cpuidle/Makefile | 1 +
drivers/cpuidle/test-cpuidle_latency.c |
12 73276
Expected timeout(ns): 10000200
Observed Average timeout diff(ns): 23589
Pratik Rajesh Sampat (2):
cpuidle: Trace IPI based and timer based wakeup latency from idle
states
selftest/cpuidle: Add support for cpuidle latency measurement
drive
POWER9 onwards the support for the registers HID1, HID4, HID5 has been
receded.
Although mfspr on the above registers worked in Power9, In Power10
simulator is unrecognized. Moving their assignment under the
check for machines lower than Power9
Signed-off-by: Pratik Rajesh Sampat
Reviewed-by
terminology.
Signed-off-by: Pratik Rajesh Sampat
---
arch/powerpc/platforms/powernv/idle.c | 18 +-
1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/arch/powerpc/platforms/powernv/idle.c
b/arch/powerpc/platforms/powernv/idle.c
index f2e2a6a4c274..d54e7ef234e3 10064
Additional registers DAWR0, DAWRX0 may be lost on Power 10 for
stop levels < 4.
Therefore save the values of these SPRs before entering a "stop"
state and restore their values on wakeup.
Signed-off-by: Pratik Rajesh Sampat
---
arch/powerpc/platforms/powernv/idle.c | 10 +
Changelog v1 --> v2:
1. Save-restore DAWR and DAWRX unconditionally as they are lost in
shallow idle states too
2. Rename pnv_first_spr_loss_level to pnv_first_fullstate_loss_level to
correct naming terminology
Pratik Rajesh Sampat (3):
powerpc/powernv/idle: Exclude mfspr on HID1,4,5 on P9
for the IPI and timer tests; first disable all idle states
and then test for latency measurements incrementally enabling each state
Signed-off-by: Pratik Rajesh Sampat
---
tools/testing/selftests/Makefile | 1 +
tools/testing/selftests/cpuidle/Makefile | 6 +
tools/testing/selftests
fix some of the time calculation]
[e...@linux.vnet.ibm.com: Fix some whitespace and tab errors and
increase the resolution of IPI wakeup]
Signed-off-by: Pratik Rajesh Sampat
---
drivers/cpuidle/Makefile | 1 +
drivers/cpuidle/test-cpuidle_latency.c |
22 2198
32421 2325
. . . .
Expected timeout(ns): 200
Baseline Average timeout diff(ns): 2513
Observed Average timeout diff(ns): 2189
Pratik Rajesh Sampat (2):
cpuidle: Trace IPI based and timer based wakeup latency from idle
states
selftest/cpuidle: Add supp
Additional registers DAWR0, DAWRX0 may be lost on Power 10 for
stop levels < 4.
Therefore save the values of these SPRs before entering a "stop"
state and restore their values on wakeup.
Signed-off-by: Pratik Rajesh Sampat
---
arch/powerpc/platforms/powernv/idle.c | 10 +
POWER9 onwards the support for the registers HID1, HID4, HID5 has been
receded.
Although mfspr on the above registers worked in Power9, In Power10
simulator is unrecognized. Moving their assignment under the
check for machines lower than Power9
Signed-off-by: Pratik Rajesh Sampat
---
arch
device-tree
node signifying support for self-save after verifying the stop API
version compatibility.
The commit also documents both the self-save and the self-restore API
calls along with their working and usage.
Signed-off-by: Pratik Rajesh Sampat
---
doc/opal-api/opal-slw-self-save-reg-181
property "ibm,opal-self-save"
If self-save is supported then for all SPRs self-save is invoked for all
P9 supported registers. In the case self-save fails corresponding
self-restore call is invoked as a fallback.
Signed-off-by: Pratik Rajesh Sampat
---
arch/powerpc/include/asm/opal-api.h
ementation.
The device tree is parsed looking for the property "ibm,opal-self-save"
If self-save is supported then for all SPRs self-save is invoked for all
P9 supported registers. In the case self-save fails corresponding
self-restore call is invoked as a fallback.
Pratik Rajesh Sampat
Reviewed-by: Jennifer A. Stofer
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/66587
Reviewed-by: Christian R. Geddes
Signed-off-by: Prem Shanker Jha
Signed-off-by: Akshay Adiga
Signed-off-by: Pratik Rajesh Sampat
2. The commit also incorporates changes that make STOP API project
agnostic
git01.rchland.ibm.com/gerrit1/77614
Tested-by: Jenkins OP Build CI
Tested-by: Jenkins OP HW
Reviewed-by: Daniel M Crowell
Signed-off-by: Pratik Rajesh Sampat
---
include/p9_stop_api.H| 25 ++
libpore/p9_cpu_reg_restore_instruction.H | 7 ++-
libpore/p9_hcd_memmap_b
ls.
Patch 2:
Commit adds API to determine the version of the STOP API. This helps
to identify support for self save in the firmware
Patch 3:
commit adds wrappers for the self save api for which an opal call can
be made. The commit also advertises the self-save feature if the STOP
API versions are consi
STORE << PREFERENCE_SHIFT) | FIRMWARE_SELF_SAVE)
-
|... | Self restore | Self save |
-
MSB LSB
Signed-off-by: Pratik Rajesh Sampat
---
arch/powerpc/platforms/powernv/idle.c | 88 +---
firmware self-save, self-restore
and kernel save restore then the preference of execution is also in the
same order as above.
Signed-off-by: Pratik Rajesh Sampat
---
.../bindings/powerpc/opal/power-mgt.txt | 18 +++
arch/powerpc/include/asm/opal-api.h | 3 +-
arch/powerpc/include
Introduces an interface that helps determine support for the
self-restore API. The commit is isomorphic to the original interface of
declaring SPRs to self-restore.
Signed-off-by: Pratik Rajesh Sampat
Reviewed-by: Gautham R. Shenoy
---
arch/powerpc/platforms/powernv/idle.c | 200
e more
over the one when both both modes are supported. This optimization can
allow for better performance for the SPRs that don't change in value and
hence self-restore is a better alternative, and in cases when it is
known for values to change self-save is more convenient.
Pratik Rajesh Sampat (3):
with that of the POWER architecture set for that
register.
Signed-off-by: Pratik Rajesh Sampat
Reviewed-by: Gautham R. Shenoy
---
.../ibm,opal/power-mgt/self-restore.rst | 27
.../ibm,opal/power-mgt/self-save.rst | 27
hw/slw.c
git01.rchland.ibm.com/gerrit1/77614
Tested-by: Jenkins OP Build CI
Tested-by: Jenkins OP HW
Reviewed-by: Daniel M Crowell
Signed-off-by: Pratik Rajesh Sampat
---
include/p9_stop_api.H| 26 +++
libpore/p9_cpu_reg_restore_instruction.H | 7 ++-
libpore/p9_hcd_memmap_b
Reviewed-by: Jennifer A. Stofer
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/66587
Reviewed-by: Christian R. Geddes
Signed-off-by: Prem Shanker Jha
Signed-off-by: Akshay Adiga
Signed-off-by: Pratik Rajesh Sampat
2. The commit also incorporates changes that make STOP API project
agnostic
also documents both the self-save and the self-restore API
calls along with their working and usage.
Signed-off-by: Pratik Rajesh Sampat
Reviewed-by: Gautham R. Shenoy
---
doc/opal-api/opal-slw-self-save-reg-181.rst | 49
doc/opal-api/opal-slw-set-reg-100.rst | 5 ++
doc
self save in the firmware
Patch 4:
Commit adds device tree attributes to advertise self save and self
restore functionality along with the register set as a bitmask
currently supported in the firmware. It also uses the versioning API
to determine support for the self-save feature as a whole.
Pr
STORE << PREFERENCE_SHIFT) | FIRMWARE_SELF_SAVE)
-
|... | Self restore | Self save |
-
MSB LSB
Signed-off-by: Pratik Rajesh Sampat
---
arch/powerpc/platforms/powernv/idle.c | 88 +---
firmware self-save, self-restore
and kernel save restore then the preference of execution is also in the
same order as above.
Signed-off-by: Pratik Rajesh Sampat
---
.../bindings/powerpc/opal/power-mgt.txt | 18 +++
arch/powerpc/include/asm/opal-api.h | 3 +-
arch/powerpc/include
Introduces an interface that helps determine support for the
self-restore API. The commit is isomorphic to the original interface of
declaring SPRs to self-restore.
Signed-off-by: Pratik Rajesh Sampat
---
arch/powerpc/platforms/powernv/idle.c | 200 +++---
1 file changed
low for better performance for the SPRs that don't change in value and
hence self-restore is a better alternative, and in cases when it is
known for values to change self-save is more convenient.
Pratik Rajesh Sampat (3):
powerpc/powernv: Introduce interface for self-restore support
powerpc/
with that of the POWER architecture set for that
register.
Signed-off-by: Pratik Rajesh Sampat
---
.../ibm,opal/power-mgt/self-restore.rst | 27
.../ibm,opal/power-mgt/self-save.rst | 27
hw/slw.c | 116 ++
include
git01.rchland.ibm.com/gerrit1/77614
Tested-by: Jenkins OP Build CI
Tested-by: Jenkins OP HW
Reviewed-by: Daniel M Crowell
Signed-off-by: Pratik Rajesh Sampat
---
include/p9_stop_api.H| 26 +++
libpore/p9_cpu_reg_restore_instruction.H | 7 ++-
libpore/p9_hcd_memmap_b
also documents both the self-save and the self-restore API
calls along with their working and usage.
Signed-off-by: Pratik Rajesh Sampat
---
doc/opal-api/opal-slw-self-save-reg-181.rst | 49
doc/opal-api/opal-slw-set-reg-100.rst | 5 ++
doc/power-management.rst
Reviewed-by: Jennifer A. Stofer
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/66587
Reviewed-by: Christian R. Geddes
Signed-off-by: Prem Shanker Jha
Signed-off-by: Akshay Adiga
Signed-off-by: Pratik Rajesh Sampat
2. The commit also incorporates changes that make STOP API project
agnostic
Commit adds device tree attributes to advertise self save and self
restore functionality along with the register set as a bitmask
currently supported in the firmware. It also uses the versioning API
to determine support for the self-save feature as a whole.
Pratik Rajesh Sampat (2):
Self save
be self restored and |
| | cannot be self saved |
'---'--------'
Pratik Rajesh Sampat (3):
powerpc/powernv: Interface to define support and preference for a SPR
pow
Parse the device tree for nodes self-save, self-restore and populate
support for the preferred SPRs based what was advertised by the device
tree.
Signed-off-by: Pratik Rajesh Sampat
Reviewed-by: Ram Pai
---
.../bindings/powerpc/opal/power-mgt.txt | 10 +++
arch/powerpc/platforms/powernv
t for the SPRs, which
means that a SPR can be self restored while another SPR be self saved if
they support and prefer it to be so.
Signed-off-by: Pratik Rajesh Sampat
Reviewed-by: Ram Pai
---
arch/powerpc/include/asm/opal-api.h| 3 ++-
arch/powerpc/include/asm/opal.h| 1 +
ferred and supported with defaults of both being set to support
legacy firmware.
This commit also implements using the above interface and retains the
legacy functionality of self restore.
Signed-off-by: Pratik Rajesh Sampat
Reviewed-by: Ram Pai
---
arch/powerpc/platforms/powernv/idle.c
The patch avoids allocating cpufreq_policy on stack hence fixing frame
size overflow in 'powernv_cpufreq_work_fn'
Fixes: 227942809b52 ("cpufreq: powernv: Restore cpu frequency to policy->cur on
unthrottling")
Signed-off-by: Pratik Rajesh Sampat
---
drivers/cpufreq
The patch avoids allocating cpufreq_policy on stack hence fixing frame
size overflow in 'powernv_cpufreq_work_fn'
Signed-off-by: Pratik Rajesh Sampat
---
drivers/cpufreq/powernv-cpufreq.c | 13 -
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/drivers/cpufr
stop.
Signed-off-by: Pratik Rajesh Sampat
---
arch/powerpc/include/asm/processor.h | 1 +
arch/powerpc/kernel/dt_cpu_ftrs.c| 9 +
2 files changed, 10 insertions(+)
diff --git a/arch/powerpc/include/asm/processor.h
b/arch/powerpc/include/asm/processor.h
index 277dbabafd02
Concept patch demonstrating an idle-stop version discovery from the
device tree, along with population its support and versioning. It also
assigns the function pointer to handle any idle-stop specific quirks.
Signed-off-by: Pratik Rajesh Sampat
---
arch/powerpc/include/asm/processor.h | 1
encapsulate the support and corresponding handling
Corresponding RFC skiboot patch:
https://lists.ozlabs.org/pipermail/skiboot/2020-March/016552.html
Pratik Rajesh Sampat (3):
Interface for an idle-stop dependency structure
Demonstration of handling an idle-stop quirk version
Introduce capability for
foundation for other idle-stop versions to be added
and handled cleanly based on their specified requirments.
Currently it handles the existing "idle-stop" version by setting the
discovery bits and the function pointer.
Signed-off-by: Pratik Rajesh Sampat
---
arch/powerpc/include/asm/p
upon the LE OPAL series.
Signed-off-by: Pratik Rajesh Sampat
---
core/cpufeatures.c | 22 ++
1 file changed, 22 insertions(+)
diff --git a/core/cpufeatures.c b/core/cpufeatures.c
index ec30c975..b9875e7b 100644
--- a/core/cpufeatures.c
+++ b/core/cpufeatures.c
@@ -510,6
ferred and supported with defaults of both being set to support
legacy firmware.
This commit also implements using the above interface and retains the
legacy functionality of self restore.
Signed-off-by: Pratik Rajesh Sampat
Reviewed-by: Ram Pai
---
arch/powerpc/platforms/powernv/idle.c
t for the SPRs, which
means that a SPR can be self restored while another SPR be self saved if
they support and prefer it to be so.
Signed-off-by: Pratik Rajesh Sampat
Reviewed-by: Ram Pai
---
arch/powerpc/include/asm/opal-api.h| 3 ++-
arch/powerpc/include/asm/opal.h| 1 +
Parse the device tree for nodes self-save, self-restore and populate
support for the preferred SPRs based what was advertised by the device
tree.
Signed-off-by: Pratik Rajesh Sampat
Reviewed-by: Ram Pai
---
arch/powerpc/platforms/powernv/idle.c | 82 +++
1 file changed
elf restored and |
| | cannot be self saved |
'---'--------'
Pratik Rajesh Sampat (3):
powerpc/powernv: Interface to define support and preference for a SPR
powerpc/power
Parse the device tree for nodes self-save, self-restore and populate
support for the preferred SPRs based what was advertised by the device
tree.
Signed-off-by: Pratik Rajesh Sampat
Reviewed-by: Ram Pai
---
arch/powerpc/platforms/powernv/idle.c | 104 ++
1 file changed
t for the SPRs, which
means that a SPR can be self restored while another SPR be self saved if
they support and prefer it to be so.
Signed-off-by: Pratik Rajesh Sampat
Reviewed-by: Ram Pai
---
arch/powerpc/include/asm/opal-api.h| 3 ++-
arch/powerpc/include/asm/opal.h| 1 +
ferred and supported with defaults of both being set to support
legacy firmware.
This commit also implements using the above interface and retains the
legacy functionality of self restore.
Signed-off-by: Pratik Rajesh Sampat
Reviewed-by: Ram Pai
---
arch/powerpc/platforms/powernv/idle.c
ved |
'---'--------'
Pratik Rajesh Sampat (3):
powerpc/powernv: Interface to define support and preference for a SPR
powerpc/powernv: Introduce Self save support
powerpc/powernv: Parse device tree, population of SPR support
arch/powerpc/include/asm/opal-api.h
Parse the device tree for nodes self-save, self-restore and populate
support for the preferred SPRs based what was advertised by the device
tree.
Signed-off-by: Pratik Rajesh Sampat
---
arch/powerpc/platforms/powernv/idle.c | 104 ++
1 file changed, 104 insertions
t for the SPRs, which
means that a SPR can be self restored while another SPR be self saved if
they support and prefer it to be so.
Signed-off-by: Pratik Rajesh Sampat
---
arch/powerpc/include/asm/opal-api.h| 3 ++-
arch/powerpc/include/asm/opal.h| 1 +
arch/powerpc/plat
ferred and supported with defaults of both being set to support
legacy firmware.
This commit also implements using the above interface and retains the
legacy functionality of self restore.
Signed-off-by: Pratik Rajesh Sampat
---
arch/powerpc/platforms/powernv/idle.c | 327 +--
and |
| | cannot be self saved |
'---'--------'
Pratik Rajesh Sampat (3):
powerpc/powernv: Interface to define support and preference for a SPR
powerpc/powernv: Introduce Self save support
powerpc/powernv:
Parse the device tree for nodes self-save, self-restore and populate
support for the preferred SPRs based what was advertised by the device
tree.
Signed-off-by: Pratik Rajesh Sampat
---
arch/powerpc/platforms/powernv/idle.c | 104 ++
1 file changed, 104 insertions
t for the SPRs, which
means that a SPR can be self restored while another SPR be self saved if
they support and prefer it to be so.
Signed-off-by: Pratik Rajesh Sampat
---
arch/powerpc/include/asm/opal-api.h| 3 ++-
arch/powerpc/include/asm/opal.h| 1 +
arch/powerpc/plat
ferred and supported with defaults of both being set to support
legacy firmware.
This commit also implements using the above interface and retains the
legacy functionality of self restore.
Signed-off-by: Pratik Rajesh Sampat
---
arch/powerpc/platforms/powernv/idle.c | 327 +--
----'
Pratik Rajesh Sampat (3):
powerpc/powernv: Interface to define support and preference for a SPR
powerpc/powernv: Introduce Self save support
powerpc/powernv: Parse device tree, population of SPR support
arch/powerpc/include/asm/opal-api.h| 3 +-
arch/powerpc/
Parse the device tree for nodes self-save, self-restore and populate
support for the preferred SPRs based what was advertised by the device
tree.
Signed-off-by: Pratik Rajesh Sampat
---
arch/powerpc/platforms/powernv/idle.c | 104 ++
1 file changed, 104 insertions
|
| | HID0 is needed to be self restored and |
| | cannot be self saved |
'---'----'
Pratik Rajesh Sampat (3):
powerpc/powernv: Interface to def
t for the SPRs, which
means that a SPR can be self restored while another SPR be self saved if
they support and prefer it to be so.
Signed-off-by: Pratik Rajesh Sampat
---
arch/powerpc/include/asm/opal-api.h| 3 ++-
arch/powerpc/include/asm/opal.h| 1 +
arch/powerpc/plat
ferred and supported with defaults of both being set to support
legacy firmware.
This commit also implements using the above interface and retains the
legacy functionality of self restore.
Signed-off-by: Pratik Rajesh Sampat
---
arch/powerpc/platforms/powernv/idle.c | 325 +--
Parse the device tree for nodes self-save, self-restore and populate
support for the preferred SPRs based what was advertised by the device
tree.
Signed-off-by: Pratik Rajesh Sampat
---
arch/powerpc/platforms/powernv/idle.c | 104 ++
1 file changed, 104 insertions
t for the SPRs, which
means that a SPR can be self restored while another SPR be self saved if
they support and prefer it to be so.
Signed-off-by: Pratik Rajesh Sampat
---
arch/powerpc/include/asm/opal-api.h| 3 ++-
arch/powerpc/include/asm/opal.h| 1 +
arch/powerpc/plat
ferred and supported with defaults of both being set to support
legacy firmware.
This commit also implements using the above interface and retains the
legacy functionality of self restore.
Signed-off-by: Pratik Rajesh Sampat
---
arch/powerpc/platforms/powernv/idle.c | 284 +--
self saved |
'---'----'
Pratik Rajesh Sampat (3):
powerpc/powernv: Interface to define support and preference for a SPR
powerpc/powernv: Introduce Self save support
powerpc/powernv: Pa
83 matches
Mail list logo