diff options
author | Matt Derksen <mderkse1@us.ibm.com> | 2018-05-23 13:38:38 -0500 |
---|---|---|
committer | Zane C. Shelley <zshelle@us.ibm.com> | 2018-06-08 22:45:50 -0400 |
commit | 3302fd380ebaf395839932ab00e009567a829037 (patch) | |
tree | ba2c2288bb4aae41ecbe857bd4b7bbb4e5a64dde /src/usr/diag/prdf/plat/mem/prdfMemDsd_ipl.C | |
parent | 38666ab58f157b82c3dca2d782667cf071a75cb2 (diff) | |
download | talos-hostboot-3302fd380ebaf395839932ab00e009567a829037.tar.gz talos-hostboot-3302fd380ebaf395839932ab00e009567a829037.zip |
Additional DRAM sparing support functions
Ported isSpareAvailable(), setDramSpare(), and setEccSpare()
Created common updateSpared method for MemSymbol
Change-Id: I02d4616137f65cf5216b83495594e45f52a93470
RTC: 189221
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/59388
Reviewed-by: Caleb N. Palmer <cnpalmer@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Zane C. Shelley <zshelle@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/60137
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Diffstat (limited to 'src/usr/diag/prdf/plat/mem/prdfMemDsd_ipl.C')
-rw-r--r-- | src/usr/diag/prdf/plat/mem/prdfMemDsd_ipl.C | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/usr/diag/prdf/plat/mem/prdfMemDsd_ipl.C b/src/usr/diag/prdf/plat/mem/prdfMemDsd_ipl.C index a7de2d38c..559e384fa 100644 --- a/src/usr/diag/prdf/plat/mem/prdfMemDsd_ipl.C +++ b/src/usr/diag/prdf/plat/mem/prdfMemDsd_ipl.C @@ -128,10 +128,10 @@ uint32_t DsdEvent<TYPE_MBA>::verifySpare( const uint32_t & i_eccAttns, // Set the bad spare in the VPD. At this point, the chip mark // should have already been set in the VPD because it was recently // verified. + MemDqBitmap<DIMMS_PER_RANK::MBA> bitmap; + o_rc = getBadDqBitmap<DIMMS_PER_RANK::MBA>( iv_chip->getTrgt(), + iv_rank, bitmap ); - /* TODO: RTC 189221 - CenDqBitmap bitmap; - o_rc = getBadDqBitmap( iv_mbaTrgt, iv_rank, bitmap ); if ( SUCCESS != o_rc ) { PRDF_ERR( PRDF_FUNC "getBadDqBitmap() failed" ); @@ -143,7 +143,7 @@ uint32_t DsdEvent<TYPE_MBA>::verifySpare( const uint32_t & i_eccAttns, } else { - o_rc = bitmap.setDramSpare( iv_mark.getCM().getPortSlct() ); + o_rc = bitmap.setDramSpare( iv_mark.getSymbol().getPortSlct() ); if ( SUCCESS != o_rc ) { PRDF_ERR( PRDF_FUNC "setDramSpare() failed" ); @@ -151,13 +151,14 @@ uint32_t DsdEvent<TYPE_MBA>::verifySpare( const uint32_t & i_eccAttns, } } - o_rc = setBadDqBitmap( iv_mbaTrgt, iv_rank, bitmap ); + o_rc = setBadDqBitmap<DIMMS_PER_RANK::MBA>( iv_chip->getTrgt(), + iv_rank, bitmap ); if ( SUCCESS != o_rc ) { PRDF_ERR( PRDF_FUNC "setBadDqBitmap() failed" ); break; } - */ + } else { |