summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorZane Shelley <zshelle@us.ibm.com>2018-11-30 11:49:31 -0600
committerZane C. Shelley <zshelle@us.ibm.com>2018-12-06 09:35:54 -0600
commitc6b5971be189bd7b4cc4b6898709626bf8501797 (patch)
treed14305f7d472e9a6567f86e74dbb553a08642193 /src
parentbf6ab8287c517a6e25004a61210d7a40681e70b1 (diff)
downloadblackbird-hostboot-c6b5971be189bd7b4cc4b6898709626bf8501797.tar.gz
blackbird-hostboot-c6b5971be189bd7b4cc4b6898709626bf8501797.zip
PRD: limit OBUS callouts when not in SMP mode
Change-Id: I6b44a518bea00c2940b27f864c0cc5d78397b3bf CQ: SW452296 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/69309 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Caleb N. Palmer <cnpalmer@us.ibm.com> Reviewed-by: Brian J. Stegmiller <bjs@us.ibm.com> Reviewed-by: Zane C. Shelley <zshelle@us.ibm.com> Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/69460 Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Diffstat (limited to 'src')
-rw-r--r--src/usr/diag/prdf/common/plat/p9/prdfLaneRepair.C31
1 files changed, 25 insertions, 6 deletions
diff --git a/src/usr/diag/prdf/common/plat/p9/prdfLaneRepair.C b/src/usr/diag/prdf/common/plat/p9/prdfLaneRepair.C
index c7ca9fd94..25978ac6b 100644
--- a/src/usr/diag/prdf/common/plat/p9/prdfLaneRepair.C
+++ b/src/usr/diag/prdf/common/plat/p9/prdfLaneRepair.C
@@ -507,18 +507,37 @@ void obus_getSmpTarget( TargetHandle_t &i_obusTgt,
void obus_smpCallout_link( TargetHandle_t &i_obusTgt, uint32_t i_link,
STEP_CODE_DATA_STRUCT & i_sc )
{
- TargetHandle_t l_smpTarg = nullptr;
+ #define PRDF_FUNC "[LaneRepair::obus_smpCallout_link] "
+ if ( !obusInSmpMode(i_obusTgt) )
+ {
+ // There is no support in for calling out the other end of an NV or
+ // openCAPI bus. By design, any FIR bits associated with those bus types
+ // should not be driving attentions. So instead use the default callout.
+
+ PRDF_ERR( PRDF_FUNC "Bus callouts only supported in SMP mode: "
+ "i_obusTgt=0x%08x", getHuid(i_obusTgt) );
- // Get the associated SMP target for this OBUS target
- obus_getSmpTarget( i_obusTgt, i_link, l_smpTarg );
- PRDF_ASSERT(nullptr != l_smpTarg);
+ i_sc.service_data->SetCallout( LEVEL2_SUPPORT, MRU_MED, NO_GARD );
+ i_sc.service_data->SetCallout( SP_CODE, MRU_MED, NO_GARD );
+ i_sc.service_data->setServiceCall();
+ }
+ else
+ {
+ TargetHandle_t l_smpTarg = nullptr;
- // Callout both SMPGROUPS
- obus_smpCallout( l_smpTarg, i_obusTgt, i_sc );
+ // Get the associated SMP target for this OBUS target
+ obus_getSmpTarget( i_obusTgt, i_link, l_smpTarg );
+ PRDF_ASSERT(nullptr != l_smpTarg);
+ // Callout both SMPGROUPS
+ obus_smpCallout( l_smpTarg, i_obusTgt, i_sc );
+ }
return;
+
+ #undef PRDF_FUNC
+
} // end obus_smpCallout_link - smp link number
OpenPOWER on IntegriCloud