From 9ed3a8c72f484d1816a86d86e05dfc7f7e3c28f7 Mon Sep 17 00:00:00 2001 From: Caleb Palmer Date: Wed, 15 Apr 2020 13:31:24 -0500 Subject: [PATCH] MDIA: For OCMBs avoid getting parent chip Change-Id: I08a982751cae186755dcd6c136c4bbb040f80b6b CQ: SW489852 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/95129 Tested-by: Jenkins Server Tested-by: Jenkins OP Build CI Reviewed-by: Benjamen G Tyner Reviewed-by: Brian J Stegmiller Tested-by: Jenkins OP HW Tested-by: FSP CI Jenkins Reviewed-by: Zane C Shelley --- src/usr/diag/mdia/mdiamba.C | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/usr/diag/mdia/mdiamba.C b/src/usr/diag/mdia/mdiamba.C index 6f3914d279b..ea9d6ed1a5c 100644 --- a/src/usr/diag/mdia/mdiamba.C +++ b/src/usr/diag/mdia/mdiamba.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2012,2018 */ +/* Contributors Listed Below - COPYRIGHT 2012,2020 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -48,11 +48,14 @@ bool __nimbusDD1Workaround( TargetHandle_t i_trgt ) bool slowRead = false; - ConstTargetHandle_t parent = getParentChip( i_trgt ); + TARGETING::Target* masterProc = nullptr; + TARGETING::targetService().masterProcChipTargetHandle(masterProc); // The workaround only applies to Nimbus - if ( MODEL_NIMBUS == parent->getAttr() ) + if ( MODEL_NIMBUS == masterProc->getAttr() ) { + ConstTargetHandle_t parent = getParentChip( i_trgt ); + // check if DD1.x if ( 0x20 > parent->getAttr() ) {