|
Michal Suchanek |
42562a |
From 4abe60c6448bf1dba48689450ad1348e5fc6f7b7 Mon Sep 17 00:00:00 2001
|
|
Michal Suchanek |
42562a |
From: Nathan Lynch <nathanl@linux.ibm.com>
|
|
Michal Suchanek |
42562a |
Date: Fri, 12 Jun 2020 00:12:36 -0500
|
|
Michal Suchanek |
42562a |
Subject: [PATCH] powerpc/pseries: remove memory "re-add" implementation
|
|
Michal Suchanek |
42562a |
|
|
Michal Suchanek |
42562a |
References: bsc#1181674 ltc#189159
|
|
Michal Suchanek |
42562a |
Patch-mainline: v5.9-rc1
|
|
Michal Suchanek |
42562a |
Git-commit: 4abe60c6448bf1dba48689450ad1348e5fc6f7b7
|
|
Michal Suchanek |
42562a |
|
|
Michal Suchanek |
42562a |
dlpar_memory() no longer has any callers which pass
|
|
Michal Suchanek |
42562a |
PSERIES_HP_ELOG_ACTION_READD. Remove this case and the corresponding
|
|
Michal Suchanek |
42562a |
unreachable code.
|
|
Michal Suchanek |
42562a |
|
|
Michal Suchanek |
42562a |
Signed-off-by: Nathan Lynch <nathanl@linux.ibm.com>
|
|
Michal Suchanek |
42562a |
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
|
|
Michal Suchanek |
42562a |
Link: https://lore.kernel.org/r/20200612051238.1007764-17-nathanl@linux.ibm.com
|
|
Michal Suchanek |
42562a |
Acked-by: Michal Suchanek <msuchanek@suse.de>
|
|
Michal Suchanek |
42562a |
---
|
|
Michal Suchanek |
42562a |
arch/powerpc/include/asm/rtas.h | 1 -
|
|
Michal Suchanek |
42562a |
.../platforms/pseries/hotplug-memory.c | 42 -------------------
|
|
Michal Suchanek |
42562a |
2 files changed, 43 deletions(-)
|
|
Michal Suchanek |
42562a |
|
|
Michal Suchanek |
42562a |
diff --git a/arch/powerpc/include/asm/rtas.h b/arch/powerpc/include/asm/rtas.h
|
|
Michal Suchanek |
42562a |
index 0107d724e9da..55f9a154c95d 100644
|
|
Michal Suchanek |
42562a |
--- a/arch/powerpc/include/asm/rtas.h
|
|
Michal Suchanek |
42562a |
+++ b/arch/powerpc/include/asm/rtas.h
|
|
Michal Suchanek |
42562a |
@@ -215,7 +215,6 @@ inline uint16_t pseries_errorlog_length(struct pseries_errorlog *sect)
|
|
Michal Suchanek |
42562a |
|
|
Michal Suchanek |
42562a |
#define PSERIES_HP_ELOG_ACTION_ADD 1
|
|
Michal Suchanek |
42562a |
#define PSERIES_HP_ELOG_ACTION_REMOVE 2
|
|
Michal Suchanek |
42562a |
-#define PSERIES_HP_ELOG_ACTION_READD 3
|
|
Michal Suchanek |
42562a |
|
|
Michal Suchanek |
42562a |
#define PSERIES_HP_ELOG_ID_DRC_NAME 1
|
|
Michal Suchanek |
42562a |
#define PSERIES_HP_ELOG_ID_DRC_INDEX 2
|
|
Michal Suchanek |
42562a |
diff --git a/arch/powerpc/platforms/pseries/hotplug-memory.c b/arch/powerpc/platforms/pseries/hotplug-memory.c
|
|
Michal Suchanek |
42562a |
--- a/arch/powerpc/platforms/pseries/hotplug-memory.c
|
|
Michal Suchanek |
42562a |
+++ b/arch/powerpc/platforms/pseries/hotplug-memory.c
|
|
Michal Suchanek |
42562a |
@@ -487,40 +487,6 @@ static int dlpar_memory_remove_by_index(u32 drc_index)
|
|
Michal Suchanek |
42562a |
return rc;
|
|
Michal Suchanek |
42562a |
}
|
|
Michal Suchanek |
42562a |
|
|
Michal Suchanek |
42562a |
-static int dlpar_memory_readd_by_index(u32 drc_index)
|
|
Michal Suchanek |
42562a |
-{
|
|
Michal Suchanek |
42562a |
- struct drmem_lmb *lmb;
|
|
Michal Suchanek |
42562a |
- int lmb_found;
|
|
Michal Suchanek |
42562a |
- int rc;
|
|
Michal Suchanek |
42562a |
-
|
|
Michal Suchanek |
42562a |
- pr_info("Attempting to update LMB, drc index %x\n", drc_index);
|
|
Michal Suchanek |
42562a |
-
|
|
Michal Suchanek |
42562a |
- lmb_found = 0;
|
|
Michal Suchanek |
42562a |
- for_each_drmem_lmb(lmb) {
|
|
Michal Suchanek |
42562a |
- if (lmb->drc_index == drc_index) {
|
|
Michal Suchanek |
42562a |
- lmb_found = 1;
|
|
Michal Suchanek |
42562a |
- rc = dlpar_remove_lmb(lmb);
|
|
Michal Suchanek |
42562a |
- if (!rc) {
|
|
Michal Suchanek |
42562a |
- rc = dlpar_add_lmb(lmb);
|
|
Michal Suchanek |
42562a |
- if (rc)
|
|
Michal Suchanek |
42562a |
- dlpar_release_drc(lmb->drc_index);
|
|
Michal Suchanek |
42562a |
- }
|
|
Michal Suchanek |
42562a |
- break;
|
|
Michal Suchanek |
42562a |
- }
|
|
Michal Suchanek |
42562a |
- }
|
|
Michal Suchanek |
42562a |
-
|
|
Michal Suchanek |
42562a |
- if (!lmb_found)
|
|
Michal Suchanek |
42562a |
- rc = -EINVAL;
|
|
Michal Suchanek |
42562a |
-
|
|
Michal Suchanek |
42562a |
- if (rc)
|
|
Michal Suchanek |
42562a |
- pr_info("Failed to update memory at %llx\n",
|
|
Michal Suchanek |
42562a |
- lmb->base_addr);
|
|
Michal Suchanek |
42562a |
- else
|
|
Michal Suchanek |
42562a |
- pr_info("Memory at %llx was updated\n", lmb->base_addr);
|
|
Michal Suchanek |
42562a |
-
|
|
Michal Suchanek |
42562a |
- return rc;
|
|
Michal Suchanek |
42562a |
-}
|
|
Michal Suchanek |
42562a |
-
|
|
Michal Suchanek |
42562a |
static int dlpar_memory_remove_by_ic(u32 lmbs_to_remove, u32 drc_index)
|
|
Michal Suchanek |
42562a |
{
|
|
Michal Suchanek |
42562a |
struct drmem_lmb *lmb, *start_lmb, *end_lmb;
|
|
Michal Suchanek |
42562a |
@@ -617,10 +583,6 @@ static int dlpar_memory_remove_by_index(u32 drc_index)
|
|
Michal Suchanek |
42562a |
{
|
|
Michal Suchanek |
42562a |
return -EOPNOTSUPP;
|
|
Michal Suchanek |
42562a |
}
|
|
Michal Suchanek |
42562a |
-static int dlpar_memory_readd_by_index(u32 drc_index)
|
|
Michal Suchanek |
42562a |
-{
|
|
Michal Suchanek |
42562a |
- return -EOPNOTSUPP;
|
|
Michal Suchanek |
42562a |
-}
|
|
Michal Suchanek |
42562a |
|
|
Michal Suchanek |
42562a |
static int dlpar_memory_remove_by_ic(u32 lmbs_to_remove, u32 drc_index)
|
|
Michal Suchanek |
42562a |
{
|
|
Michal Suchanek |
42562a |
@@ -902,10 +864,6 @@ int dlpar_memory(struct pseries_hp_errorlog *hp_elog)
|
|
Michal Suchanek |
42562a |
rc = -EINVAL;
|
|
Michal Suchanek |
42562a |
}
|
|
Michal Suchanek |
42562a |
|
|
Michal Suchanek |
42562a |
- break;
|
|
Michal Suchanek |
42562a |
- case PSERIES_HP_ELOG_ACTION_READD:
|
|
Michal Suchanek |
42562a |
- drc_index = hp_elog->_drc_u.drc_index;
|
|
Michal Suchanek |
42562a |
- rc = dlpar_memory_readd_by_index(drc_index);
|
|
Michal Suchanek |
42562a |
break;
|
|
Michal Suchanek |
42562a |
default:
|
|
Michal Suchanek |
42562a |
pr_err("Invalid action (%d) specified\n", hp_elog->action);
|
|
Michal Suchanek |
42562a |
--
|
|
Michal Suchanek |
42562a |
2.26.2
|
|
Michal Suchanek |
42562a |
|