summaryrefslogtreecommitdiffstats
path: root/src/usr/diag
diff options
context:
space:
mode:
authorSachin Gupta <sgupta2m@in.ibm.com>2014-02-28 21:45:30 +0530
committerA. Patrick Williams III <iawillia@us.ibm.com>2014-03-13 13:55:44 -0500
commit6aed7e19917252fe8b7e4313c66b56928d1b428b (patch)
treef8667aae80f149da20b29826ceec1fdbbec44560 /src/usr/diag
parent6ca50f051f3311f696cad90c18d0a407ed003147 (diff)
downloadtalos-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')
-rwxr-xr-xsrc/usr/diag/prdf/common/plat/pegasus/prdfCenAddress.C6
-rw-r--r--src/usr/diag/prdf/common/plat/pegasus/prdfCenMbaTdCtlr_common.H4
-rw-r--r--src/usr/diag/prdf/plat/pegasus/prdfCenMbaTdCtlr.C2
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 )
{
OpenPOWER on IntegriCloud