From 201a39f54be6ac246e72819ee8171dec90bdaf6f Mon Sep 17 00:00:00 2001 From: Corey Swenson Date: Fri, 29 Mar 2019 15:42:33 -0500 Subject: [PATCH] Add part callout for the Backup Power Module Callouts were previously added for the NVDIMM controller and the BPM cable. This callout handles the BPM itself. Change-Id: I4ad680a1434ed7d3680f14f6081e456c07239c36 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/75254 Reviewed-by: Christian R. Geddes Reviewed-by: Roland Veloz Tested-by: Jenkins Server Tested-by: Jenkins OP Build CI Tested-by: FSP CI Jenkins Tested-by: Jenkins OP HW Reviewed-by: William G. Hoffa --- src/include/usr/hwas/common/hwasCallout.H | 5 +++-- src/usr/diag/prdf/plat/mem/prdfP9Mca.C | 2 +- src/usr/errl/plugins/errludcallout.H | 1 + src/usr/errldisplay/errldisplay.C | 1 + src/usr/isteps/nvdimm/nvdimm.C | 3 +++ src/usr/isteps/nvdimm/runtime/nvdimm_rt.C | 3 +++ 6 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/include/usr/hwas/common/hwasCallout.H b/src/include/usr/hwas/common/hwasCallout.H index a91367a26fa..a39e4a229fe 100644 --- a/src/include/usr/hwas/common/hwasCallout.H +++ b/src/include/usr/hwas/common/hwasCallout.H @@ -223,8 +223,9 @@ enum partTypeEnum PCI_REF_CLOCK = 11, // @TODO 195920 Remove SMP_CABLE once HWSV code no longer references it SMP_CABLE = 12, //Target is SMPGROUP - BPM_CABLE_PART_TYPE = 13, //Backup Power Module for NVDIMM - NV_CONTROLLER_PART_TYPE = 14, + BPM_CABLE_PART_TYPE = 13, //Backup Power Module Cable for NVDIMM + NV_CONTROLLER_PART_TYPE = 14, //Controller for NVDIMM + BPM_PART_TYPE = 15, //Backup Power Module for NVDIMM }; enum sensorTypeEnum diff --git a/src/usr/diag/prdf/plat/mem/prdfP9Mca.C b/src/usr/diag/prdf/plat/mem/prdfP9Mca.C index f0cc25075a9..1722314f160 100644 --- a/src/usr/diag/prdf/plat/mem/prdfP9Mca.C +++ b/src/usr/diag/prdf/plat/mem/prdfP9Mca.C @@ -349,7 +349,7 @@ uint32_t __addBpmCallout( TargetHandle_t i_dimm, break; } - mainErrl->addPartCallout( i_dimm, HWAS::BPM_CABLE_PART_TYPE, + mainErrl->addPartCallout( i_dimm, HWAS::BPM_PART_TYPE, i_priority ); }while(0); diff --git a/src/usr/errl/plugins/errludcallout.H b/src/usr/errl/plugins/errludcallout.H index b063f44b806..fc45e5590c6 100644 --- a/src/usr/errl/plugins/errludcallout.H +++ b/src/usr/errl/plugins/errludcallout.H @@ -151,6 +151,7 @@ case HWAS::_type: i_parser.PrintString( "Part Type", #_type); break; case_PART_TYPE(SMP_CABLE) case_PART_TYPE(BPM_CABLE_PART_TYPE) case_PART_TYPE(NV_CONTROLLER_PART_TYPE) + case_PART_TYPE(BPM_PART_TYPE) default: i_parser.PrintNumber( "Part Type", "UNKNOWN: 0x%X", diff --git a/src/usr/errldisplay/errldisplay.C b/src/usr/errldisplay/errldisplay.C index 9dc44d72f12..b8c26614e9d 100644 --- a/src/usr/errldisplay/errldisplay.C +++ b/src/usr/errldisplay/errldisplay.C @@ -299,6 +299,7 @@ case HWAS::_type: CONSOLE::displayf(NULL, " Part Type : %s", #_t case_PART_TYPE(SPIVID_SLAVE_PART_TYPE) case_PART_TYPE(BPM_CABLE_PART_TYPE) case_PART_TYPE(NV_CONTROLLER_PART_TYPE) + case_PART_TYPE(BPM_PART_TYPE) default: CONSOLE::displayf(NULL, " Part Type : UNKNOWN 0x%X", callout->partType); diff --git a/src/usr/isteps/nvdimm/nvdimm.C b/src/usr/isteps/nvdimm/nvdimm.C index a704c5071a9..877d3772272 100644 --- a/src/usr/isteps/nvdimm/nvdimm.C +++ b/src/usr/isteps/nvdimm/nvdimm.C @@ -710,6 +710,9 @@ errlHndl_t nvdimmSetESPolicy(Target* i_nvdimm) // Failure setting the energy source policy could mean error on the // battery or even the cabling + l_err->addPartCallout( i_nvdimm, + HWAS::BPM_PART_TYPE, + HWAS::SRCI_PRIORITY_HIGH); l_err->addPartCallout( i_nvdimm, HWAS::BPM_CABLE_PART_TYPE, HWAS::SRCI_PRIORITY_HIGH); diff --git a/src/usr/isteps/nvdimm/runtime/nvdimm_rt.C b/src/usr/isteps/nvdimm/runtime/nvdimm_rt.C index 68b9559f3c3..c4568675432 100644 --- a/src/usr/isteps/nvdimm/runtime/nvdimm_rt.C +++ b/src/usr/isteps/nvdimm/runtime/nvdimm_rt.C @@ -315,6 +315,9 @@ errlHndl_t nvdimmCheckArmSuccess(TARGETING::Target *i_nvdimm) l_err->addPartCallout( i_nvdimm, HWAS::NV_CONTROLLER_PART_TYPE, HWAS::SRCI_PRIORITY_HIGH); + l_err->addPartCallout( i_nvdimm, + HWAS::BPM_PART_TYPE, + HWAS::SRCI_PRIORITY_MED); l_err->addPartCallout( i_nvdimm, HWAS::BPM_CABLE_PART_TYPE, HWAS::SRCI_PRIORITY_MED);