From e32c176c55bb1a7fd9b05a63f903b9bb33c6ff75 Mon Sep 17 00:00:00 2001 From: Zane Shelley Date: Mon, 26 Aug 2019 12:56:59 -0500 Subject: PRD: fix OBUS workaround for non-SMP mode There were a couple functions that checked for non-SMP mode that could be called for types other than OBUS. This would cause an assert when calling the SMP mode check. Change-Id: I044108e40c305cd87861989c0dd69bda3bd79480 CQ: SW473849 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/82851 Reviewed-by: Caleb N Palmer Reviewed-by: Paul Greenwood Tested-by: Jenkins Server Reviewed-by: Zane C Shelley Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/82880 Tested-by: Jenkins OP Build CI Tested-by: FSP CI Jenkins Tested-by: Jenkins OP HW --- src/usr/diag/prdf/common/plat/p9/prdfLaneRepair.C | 24 +++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/src/usr/diag/prdf/common/plat/p9/prdfLaneRepair.C b/src/usr/diag/prdf/common/plat/p9/prdfLaneRepair.C index 3168d77b7..88a179bc7 100644 --- a/src/usr/diag/prdf/common/plat/p9/prdfLaneRepair.C +++ b/src/usr/diag/prdf/common/plat/p9/prdfLaneRepair.C @@ -1039,7 +1039,11 @@ int32_t spareDeployed( ExtensibleChip * i_chip, { // TODO: Temporary fix to avoid asserts for bits that are reused for // OpenCAPI. - if ( !obusInSmpMode(i_chip->getTrgt()) ) return SUCCESS; + if ( TYPE_OBUS == i_chip->getType() && + !obusInSmpMode(i_chip->getTrgt()) ) + { + return SUCCESS; + } if ( CHECK_STOP != io_sc.service_data->getPrimaryAttnType() ) return handleLaneRepairEvent(i_chip, io_sc, true); @@ -1065,7 +1069,11 @@ int32_t maxSparesExceeded( ExtensibleChip * i_chip, { // TODO: Temporary fix to avoid asserts for bits that are reused for // OpenCAPI. - if ( !obusInSmpMode(i_chip->getTrgt()) ) return SUCCESS; + if ( TYPE_OBUS == i_chip->getType() && + !obusInSmpMode(i_chip->getTrgt()) ) + { + return SUCCESS; + } if ( CHECK_STOP != io_sc.service_data->getPrimaryAttnType() ) return handleLaneRepairEvent(i_chip, io_sc, false); @@ -1091,7 +1099,11 @@ int32_t tooManyBusErrors( ExtensibleChip * i_chip, { // TODO: Temporary fix to avoid asserts for bits that are reused for // OpenCAPI. - if ( !obusInSmpMode(i_chip->getTrgt()) ) return SUCCESS; + if ( TYPE_OBUS == i_chip->getType() && + !obusInSmpMode(i_chip->getTrgt()) ) + { + return SUCCESS; + } if ( CHECK_STOP != io_sc.service_data->getPrimaryAttnType() ) return handleLaneRepairEvent(i_chip, io_sc, false); @@ -1117,7 +1129,11 @@ int32_t calloutBusInterfacePlugin( ExtensibleChip * i_chip, { // TODO: Temporary fix to avoid asserts for bits that are reused for // OpenCAPI. - if ( !obusInSmpMode(i_chip->getTrgt()) ) return SUCCESS; + if ( TYPE_OBUS == i_chip->getType() && + !obusInSmpMode(i_chip->getTrgt()) ) + { + return SUCCESS; + } calloutBusInterface(i_chip, io_sc, MRU_LOW); return SUCCESS; -- cgit v1.2.3