|
Michal Suchanek |
831a3a |
From 366fb13bf13b029c4d43bf19382f7aea69bfa4b7 Mon Sep 17 00:00:00 2001
|
|
Michal Suchanek |
831a3a |
From: Nathan Lynch <nathanl@linux.ibm.com>
|
|
Michal Suchanek |
831a3a |
Date: Mon, 7 Dec 2020 15:51:54 -0600
|
|
Michal Suchanek |
831a3a |
Subject: [PATCH] powerpc/pseries/hibernation: switch to rtas_ibm_suspend_me()
|
|
Michal Suchanek |
831a3a |
|
|
Michal Suchanek |
831a3a |
References: bsc#1181674 ltc#189159
|
|
Michal Suchanek |
831a3a |
Patch-mainline: v5.11-rc1
|
|
Michal Suchanek |
831a3a |
Git-commit: 366fb13bf13b029c4d43bf19382f7aea69bfa4b7
|
|
Michal Suchanek |
831a3a |
|
|
Michal Suchanek |
831a3a |
rtas_suspend_last_cpu() and related code perform a lot of work that
|
|
Michal Suchanek |
831a3a |
isn't relevant to the hibernation workflow. All other CPUs are offline
|
|
Michal Suchanek |
831a3a |
when called so there is no need to place them in H_JOIN or prod them
|
|
Michal Suchanek |
831a3a |
on resume, nor is there need for retries or operations on shared
|
|
Michal Suchanek |
831a3a |
state.
|
|
Michal Suchanek |
831a3a |
|
|
Michal Suchanek |
831a3a |
Call the rtas_ibm_suspend_me() wrapper function directly from
|
|
Michal Suchanek |
831a3a |
pseries_suspend_enter() instead of using rtas_suspend_last_cpu().
|
|
Michal Suchanek |
831a3a |
|
|
Michal Suchanek |
831a3a |
Signed-off-by: Nathan Lynch <nathanl@linux.ibm.com>
|
|
Michal Suchanek |
831a3a |
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
|
|
Michal Suchanek |
831a3a |
Link: https://lore.kernel.org/r/20201207215200.1785968-23-nathanl@linux.ibm.com
|
|
Michal Suchanek |
831a3a |
Acked-by: Michal Suchanek <msuchanek@suse.de>
|
|
Michal Suchanek |
831a3a |
---
|
|
Michal Suchanek |
831a3a |
arch/powerpc/platforms/pseries/suspend.c | 6 +-----
|
|
Michal Suchanek |
831a3a |
1 file changed, 1 insertion(+), 5 deletions(-)
|
|
Michal Suchanek |
831a3a |
|
|
Michal Suchanek |
831a3a |
diff --git a/arch/powerpc/platforms/pseries/suspend.c b/arch/powerpc/platforms/pseries/suspend.c
|
|
Michal Suchanek |
831a3a |
index 3315d698d5ab..703728cb95ec 100644
|
|
Michal Suchanek |
831a3a |
--- a/arch/powerpc/platforms/pseries/suspend.c
|
|
Michal Suchanek |
831a3a |
+++ b/arch/powerpc/platforms/pseries/suspend.c
|
|
Michal Suchanek |
831a3a |
@@ -76,11 +76,7 @@ static void pseries_suspend_enable_irqs(void)
|
|
Michal Suchanek |
831a3a |
**/
|
|
Michal Suchanek |
831a3a |
static int pseries_suspend_enter(suspend_state_t state)
|
|
Michal Suchanek |
831a3a |
{
|
|
Michal Suchanek |
831a3a |
- int rc = rtas_suspend_last_cpu(&suspend_data);
|
|
Michal Suchanek |
831a3a |
-
|
|
Michal Suchanek |
831a3a |
- atomic_set(&suspending, 0);
|
|
Michal Suchanek |
831a3a |
- atomic_set(&suspend_data.done, 1);
|
|
Michal Suchanek |
831a3a |
- return rc;
|
|
Michal Suchanek |
831a3a |
+ return rtas_ibm_suspend_me(NULL);
|
|
Michal Suchanek |
831a3a |
}
|
|
Michal Suchanek |
831a3a |
|
|
Michal Suchanek |
831a3a |
/**
|
|
Michal Suchanek |
831a3a |
--
|
|
Michal Suchanek |
831a3a |
2.26.2
|
|
Michal Suchanek |
831a3a |
|