diff options
author | Chris Phan <cphan@us.ibm.com> | 2014-09-11 15:43:26 -0500 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2014-09-17 10:54:46 -0500 |
commit | d3c9c2c1316e22503cc1094df325e5cd159628d5 (patch) | |
tree | d218aee174e5806582ab1438608fcb77ee45c869 /src/usr/diag/prdf/common/plat | |
parent | 2e06c508897e6210ec249e7cbefe3e7e157cc4cf (diff) | |
download | talos-hostboot-d3c9c2c1316e22503cc1094df325e5cd159628d5.tar.gz talos-hostboot-d3c9c2c1316e22503cc1094df325e5cd159628d5.zip |
PRD: fix EXPECTED_DATA checking issue in x86 sim
Change-Id: I1a88fa38ad670aa32e7ec6f46f5035095ff196e6
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/13315
Tested-by: Jenkins Server
Reviewed-by: Prem Shanker Jha <premjha2@in.ibm.com>
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Reviewed-by: Zane Shelley <zshelle@us.ibm.com>
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/13421
Diffstat (limited to 'src/usr/diag/prdf/common/plat')
-rwxr-xr-x | src/usr/diag/prdf/common/plat/pegasus/Membuf_regs_NEST.rule | 8 | ||||
-rw-r--r-- | src/usr/diag/prdf/common/plat/pegasus/prdfLaneRepair.C | 41 |
2 files changed, 23 insertions, 26 deletions
diff --git a/src/usr/diag/prdf/common/plat/pegasus/Membuf_regs_NEST.rule b/src/usr/diag/prdf/common/plat/pegasus/Membuf_regs_NEST.rule index 93699b86b..3c5862534 100755 --- a/src/usr/diag/prdf/common/plat/pegasus/Membuf_regs_NEST.rule +++ b/src/usr/diag/prdf/common/plat/pegasus/Membuf_regs_NEST.rule @@ -149,6 +149,14 @@ capture group FirRegs; }; + register MBIFIR_AND + { + name "MBU.MBI.MBI.SCOMFIR.MBIFIRQ AND"; + scomaddr 0x02010801; + capture group never; + access write_only; + }; + register MBIFIR_MASK { name "MBU.MBI.MBI.SCOMFIR.MBIFIRMASK"; diff --git a/src/usr/diag/prdf/common/plat/pegasus/prdfLaneRepair.C b/src/usr/diag/prdf/common/plat/pegasus/prdfLaneRepair.C index ad1b36c7f..d29281ae8 100644 --- a/src/usr/diag/prdf/common/plat/pegasus/prdfLaneRepair.C +++ b/src/usr/diag/prdf/common/plat/pegasus/prdfLaneRepair.C @@ -382,36 +382,25 @@ int32_t cleanupSecondaryFirBits( ExtensibleChip * i_chip, break; } - SCAN_COMM_REGISTER_CLASS * mciFir = - mcsChip->getRegister( "MCIFIR" ); - int32_t rc = mciFir->Read(); - if ( SUCCESS != rc ) - { - PRDF_ERR("cleanupSecondaryFirBits() : Failed to read MCIFIR." - "MCS: 0x%08X", getHuid(mcsTgt) ); - l_rc |= rc; - } - else if ( mciFir->IsBitSet(10)) - { - mciFir->ClearBit(10); - l_rc |= mciFir->Write(); - } + SCAN_COMM_REGISTER_CLASS * mciAnd = mcsChip->getRegister("MCIFIR_AND"); + SCAN_COMM_REGISTER_CLASS * mbiAnd = mbChip->getRegister( "MBIFIR_AND"); - SCAN_COMM_REGISTER_CLASS * mbiFir = - mbChip->getRegister( "MBIFIR" ); - rc = mbiFir->Read(); - if ( SUCCESS != rc ) - { - PRDF_ERR("cleanupSecondaryFirBits() : Failed to read MBIFIR." - "MEMBUF: 0x%08X", getHuid(mbTgt) ); - l_rc |= rc; - } - else if ( mbiFir->IsBitSet(10)) + mciAnd->setAllBits(); mciAnd->ClearBit(10); + mbiAnd->setAllBits(); mbiAnd->ClearBit(10); + + l_rc = mciAnd->Write(); + l_rc |= mbiAnd->Write(); + + if ( SUCCESS != l_rc ) { - mbiFir->ClearBit(10); - l_rc |= mbiFir->Write(); + PRDF_ERR( "[cleanupSecondaryFirBits] Write() failed on " + "MCIFIR/MBIFIR: MCS=0x%08x MEMB=0x%08x", + mcsChip->GetId(), mbChip->GetId() ); + break; } + } while (0); + return l_rc; } |