diff options
author | Sachin Gupta <sgupta2m@in.ibm.com> | 2014-02-28 21:45:30 +0530 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2014-03-13 13:55:44 -0500 |
commit | 6aed7e19917252fe8b7e4313c66b56928d1b428b (patch) | |
tree | f8667aae80f149da20b29826ceec1fdbbec44560 /src/usr/diag | |
parent | 6ca50f051f3311f696cad90c18d0a407ed003147 (diff) | |
download | talos-hostboot-6aed7e19917252fe8b7e4313c66b56928d1b428b.tar.gz talos-hostboot-6aed7e19917252fe8b7e4313c66b56928d1b428b.zip |
PRD: Rank | BG scrub bug fixes
Change-Id: I96a33701210c0d0c40584d3cd411b6c8485c1c11
CQ: SW249455
Backport: release-fips810
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/9232
Reviewed-by: Christopher T. Phan <cphan@us.ibm.com>
Tested-by: Jenkins Server
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/9570
Diffstat (limited to 'src/usr/diag')
3 files changed, 9 insertions, 3 deletions
diff --git a/src/usr/diag/prdf/common/plat/pegasus/prdfCenAddress.C b/src/usr/diag/prdf/common/plat/pegasus/prdfCenAddress.C index 4e3ac7818..396216638 100755 --- a/src/usr/diag/prdf/common/plat/pegasus/prdfCenAddress.C +++ b/src/usr/diag/prdf/common/plat/pegasus/prdfCenAddress.C @@ -5,7 +5,7 @@ /* */ /* IBM CONFIDENTIAL */ /* */ -/* COPYRIGHT International Business Machines Corp. 2013 */ +/* COPYRIGHT International Business Machines Corp. 2013,2014 */ /* */ /* p1 */ /* */ @@ -190,8 +190,10 @@ int32_t getCenMaintStartAddr( ExtensibleChip * i_mbaChip, CenAddr & o_addr ) } // Read from hardware + // We have to use ForceRead here. Value of this register is changed by + // HW when we resume maintenance command. SCAN_COMM_REGISTER_CLASS * reg = i_mbaChip->getRegister("MBMACA"); - o_rc = reg->Read(); + o_rc = reg->ForceRead(); if ( SUCCESS != o_rc ) { PRDF_ERR( PRDF_FUNC"Read() failed on MBMACA" ); diff --git a/src/usr/diag/prdf/common/plat/pegasus/prdfCenMbaTdCtlr_common.H b/src/usr/diag/prdf/common/plat/pegasus/prdfCenMbaTdCtlr_common.H index f2c2399ef..310e208b4 100644 --- a/src/usr/diag/prdf/common/plat/pegasus/prdfCenMbaTdCtlr_common.H +++ b/src/usr/diag/prdf/common/plat/pegasus/prdfCenMbaTdCtlr_common.H @@ -111,6 +111,10 @@ class CenMbaTdCtlrCommon mss_MaintCmd::STOP_ON_UE | mss_MaintCmd::STOP_IMMEDIATE | mss_MaintCmd::ENABLE_CMD_COMPLETE_ATTENTION, + + COND_FAST_SCRUB = + COND_BG_SCRUB | + mss_MaintCmd::STOP_ON_END_ADDRESS, }; public: // functions diff --git a/src/usr/diag/prdf/plat/pegasus/prdfCenMbaTdCtlr.C b/src/usr/diag/prdf/plat/pegasus/prdfCenMbaTdCtlr.C index 966d437f5..87c3fd3f5 100644 --- a/src/usr/diag/prdf/plat/pegasus/prdfCenMbaTdCtlr.C +++ b/src/usr/diag/prdf/plat/pegasus/prdfCenMbaTdCtlr.C @@ -248,7 +248,7 @@ int32_t CenMbaTdCtlr::startInitialBgScrub() // Start the initial fast scrub. iv_mssCmd = createMssCmd( mss_MaintCmdWrapper::TIMEBASE_SCRUB, iv_mbaTrgt, startAddr.getRank(), - COND_TARGETED_CMD, + COND_FAST_SCRUB, mss_MaintCmdWrapper::END_OF_MEMORY ); if ( NULL == iv_mssCmd ) { |