Michal Suchanek 7439aa
From c3ae9781d5a64093f161e6cc5dfefb0773106ca9 Mon Sep 17 00:00:00 2001
Michal Suchanek 7439aa
From: Nathan Lynch <nathanl@linux.ibm.com>
Michal Suchanek 7439aa
Date: Mon, 7 Dec 2020 15:51:42 -0600
Michal Suchanek 7439aa
Subject: [PATCH] powerpc/pseries/mobility: use rtas_activate_firmware() on
Michal Suchanek 7439aa
 resume
Michal Suchanek 7439aa
Michal Suchanek 7439aa
References: bsc#1181674 ltc#189159
Michal Suchanek 7439aa
Patch-mainline: v5.11-rc1
Michal Suchanek 7439aa
Git-commit: c3ae9781d5a64093f161e6cc5dfefb0773106ca9
Michal Suchanek 7439aa
Michal Suchanek 7439aa
It's incorrect to abort post-suspend processing if
Michal Suchanek 7439aa
ibm,activate-firmware isn't available. Use rtas_activate_firmware(),
Michal Suchanek 7439aa
which logs this condition appropriately and allows us to proceed.
Michal Suchanek 7439aa
Michal Suchanek 7439aa
Signed-off-by: Nathan Lynch <nathanl@linux.ibm.com>
Michal Suchanek 7439aa
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Michal Suchanek 7439aa
Link: https://lore.kernel.org/r/20201207215200.1785968-11-nathanl@linux.ibm.com
Michal Suchanek 7439aa
Acked-by: Michal Suchanek <msuchanek@suse.de>
Michal Suchanek 7439aa
---
Michal Suchanek 7439aa
 arch/powerpc/platforms/pseries/mobility.c | 15 +--------------
Michal Suchanek 7439aa
 1 file changed, 1 insertion(+), 14 deletions(-)
Michal Suchanek 7439aa
Michal Suchanek 7439aa
diff --git a/arch/powerpc/platforms/pseries/mobility.c b/arch/powerpc/platforms/pseries/mobility.c
Michal Suchanek 7439aa
index 31d81b7da961..01ac7c03558e 100644
Michal Suchanek 7439aa
--- a/arch/powerpc/platforms/pseries/mobility.c
Michal Suchanek 7439aa
+++ b/arch/powerpc/platforms/pseries/mobility.c
Michal Suchanek 7439aa
@@ -312,21 +312,8 @@ int pseries_devicetree_update(s32 scope)
Michal Suchanek 7439aa
 void post_mobility_fixup(void)
Michal Suchanek 7439aa
 {
Michal Suchanek 7439aa
 	int rc;
Michal Suchanek 7439aa
-	int activate_fw_token;
Michal Suchanek 7439aa
 
Michal Suchanek 7439aa
-	activate_fw_token = rtas_token("ibm,activate-firmware");
Michal Suchanek 7439aa
-	if (activate_fw_token == RTAS_UNKNOWN_SERVICE) {
Michal Suchanek 7439aa
-		printk(KERN_ERR "Could not make post-mobility "
Michal Suchanek 7439aa
-		       "activate-fw call.\n");
Michal Suchanek 7439aa
-		return;
Michal Suchanek 7439aa
-	}
Michal Suchanek 7439aa
-
Michal Suchanek 7439aa
-	do {
Michal Suchanek 7439aa
-		rc = rtas_call(activate_fw_token, 0, 1, NULL);
Michal Suchanek 7439aa
-	} while (rtas_busy_delay(rc));
Michal Suchanek 7439aa
-
Michal Suchanek 7439aa
-	if (rc)
Michal Suchanek 7439aa
-		printk(KERN_ERR "Post-mobility activate-fw failed: %d\n", rc);
Michal Suchanek 7439aa
+	rtas_activate_firmware();
Michal Suchanek 7439aa
 
Michal Suchanek 7439aa
 	/*
Michal Suchanek 7439aa
 	 * We don't want CPUs to go online/offline while the device
Michal Suchanek 7439aa
-- 
Michal Suchanek 7439aa
2.26.2
Michal Suchanek 7439aa