Skip to content

Commit dfb45d7

Browse files
committed
PRD: RTC TODO updates for memory subsystem
Change-Id: I898bee4977df94c54cf1f9a4bae66c6a522a5c37 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/38593 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Caleb N. Palmer <cnpalmer@us.ibm.com> Reviewed-by: Benjamin J. Weisenbeck <bweisenb@us.ibm.com> Reviewed-by: Zane C. Shelley <zshelle@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/38699 Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
1 parent 5284cb4 commit dfb45d7

15 files changed

+69
-56
lines changed

src/usr/diag/prdf/common/plat/prdfPlatServices_common.C

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -39,11 +39,11 @@
3939
#include <prdfTrace.H>
4040
#include <prdfErrlUtil.H>
4141

42-
//#include <prdfCenAddress.H> TODO RTC 136126
43-
//#include <prdfCenDqBitmap.H> TODO RTC 136126
44-
//#include <prdfCenMarkstore.H> TODO RTC 136126
42+
//#include <prdfCenAddress.H> TODO RTC 157888
43+
//#include <prdfCenDqBitmap.H> TODO RTC 157888
44+
//#include <prdfCenMarkstore.H> TODO RTC 157888
4545

46-
//#include <dimmBadDqBitmapFuncs.H> // for dimm[S|G]etBadDqBitmap() TODO RTC 136126
46+
//#include <dimmBadDqBitmapFuncs.H> // for dimm[S|G]etBadDqBitmap() TODO RTC 164707
4747

4848
//#include <io_read_erepair.H> TODO RTC 136120
4949
//#include <io_power_down_lanes.H> TODO RTC 136120
@@ -269,7 +269,7 @@ int32_t erepairFirIsolation(TargetHandle_t i_rxBusTgt)
269269
//## Memory specific functions
270270
//##############################################################################
271271

272-
/* TODO RTC 136126
272+
/* TODO RTC 157888
273273
// Helper function for the for several other memory functions.
274274
int32_t getMemAddrRange( TargetHandle_t i_mba, uint8_t i_mrank,
275275
ecmdDataBufferBase & o_startAddr,
@@ -343,7 +343,7 @@ int32_t getMemAddrRange( TargetHandle_t i_mba, uint8_t i_mrank,
343343

344344
//------------------------------------------------------------------------------
345345

346-
/* TODO RTC 136126
346+
/* TODO RTC 164707
347347
int32_t getBadDqBitmap( TargetHandle_t i_mba, const CenRank & i_rank,
348348
CenDqBitmap & o_bitmap, bool i_allowNoDimm )
349349
{
@@ -391,7 +391,7 @@ int32_t getBadDqBitmap( TargetHandle_t i_mba, const CenRank & i_rank,
391391

392392
//------------------------------------------------------------------------------
393393

394-
/* TODO RTC 136126
394+
/* TODO RTC 164707
395395
int32_t setBadDqBitmap( TargetHandle_t i_mba, const CenRank & i_rank,
396396
const CenDqBitmap & i_bitmap )
397397
{
@@ -429,7 +429,7 @@ int32_t setBadDqBitmap( TargetHandle_t i_mba, const CenRank & i_rank,
429429

430430
//------------------------------------------------------------------------------
431431

432-
/* TODO RTC 136126
432+
/* TODO RTC 157888
433433
int32_t mssGetMarkStore( TargetHandle_t i_mba, const CenRank & i_rank,
434434
CenMark & o_mark )
435435
{
@@ -495,7 +495,7 @@ int32_t mssGetMarkStore( TargetHandle_t i_mba, const CenRank & i_rank,
495495

496496
//------------------------------------------------------------------------------
497497

498-
/* TODO RTC 136126
498+
/* TODO RTC 157888
499499
int32_t mssSetMarkStore( TargetHandle_t i_mba, const CenRank & i_rank,
500500
CenMark & io_mark, bool & o_writeBlocked,
501501
bool i_allowWriteBlocked )
@@ -554,7 +554,7 @@ int32_t mssSetMarkStore( TargetHandle_t i_mba, const CenRank & i_rank,
554554

555555
//------------------------------------------------------------------------------
556556

557-
/* TODO RTC 136126
557+
/* TODO RTC 157888
558558
int32_t mssGetSteerMux( TargetHandle_t i_mba, const CenRank & i_rank,
559559
CenSymbol & o_port0Spare, CenSymbol & o_port1Spare,
560560
CenSymbol & o_eccSpare )
@@ -588,7 +588,7 @@ int32_t mssGetSteerMux( TargetHandle_t i_mba, const CenRank & i_rank,
588588

589589
//------------------------------------------------------------------------------
590590

591-
/* TODO RTC 136126
591+
/* TODO RTC 157888
592592
int32_t mssSetSteerMux( TargetHandle_t i_mba, const CenRank & i_rank,
593593
const CenSymbol & i_symbol, bool i_x4EccSpare )
594594
{
@@ -616,7 +616,7 @@ int32_t mssSetSteerMux( TargetHandle_t i_mba, const CenRank & i_rank,
616616

617617
//------------------------------------------------------------------------------
618618

619-
/* TODO RTC 136126
619+
/* TODO RTC 157888
620620
int32_t getMemAddrRange( TargetHandle_t i_mba, CenAddr & o_startAddr,
621621
CenAddr & o_endAddr )
622622
{
@@ -642,7 +642,7 @@ int32_t getMemAddrRange( TargetHandle_t i_mba, CenAddr & o_startAddr,
642642

643643
//------------------------------------------------------------------------------
644644

645-
/* TODO RTC 136126
645+
/* TODO RTC 157888
646646
int32_t getMemAddrRange( TargetHandle_t i_mba, const CenRank & i_rank,
647647
CenAddr & o_startAddr, CenAddr & o_endAddr,
648648
bool i_slaveOnly )
@@ -916,7 +916,7 @@ int32_t getMemBufRawCardType( TargetHandle_t i_mba,
916916
//## Maintenance Command class wrapper
917917
//##############################################################################
918918

919-
/* TODO RTC 136126
919+
/* TODO RTC 157888
920920
mss_MaintCmdWrapper::mss_MaintCmdWrapper( mss_MaintCmd * i_maintCmd ) :
921921
iv_cmd(i_maintCmd)
922922
{}

src/usr/diag/prdf/common/plat/prdfPlatServices_common.H

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
#include <prdfTimer.H>
4444
#include <prdfParserEnums.H>
4545

46-
//#include <dimmConsts.H> // for DIMM_DQ_RANK_BITMAP_SIZE TODO RTC 136126
46+
//#include <dimmConsts.H> // for DIMM_DQ_RANK_BITMAP_SIZE TODO RTC 164707
4747

4848
#include <plat_hwp_invoker.H>
4949

@@ -213,7 +213,7 @@ int32_t erepairFirIsolation(TARGETING::TargetHandle_t i_rxBusTgt);
213213
* possible ranks. Default is FALSE.
214214
* @return Non-SUCCESS if an internal function fails, SUCCESS otherwise.
215215
*/
216-
/* TODO RTC 136126
216+
/* TODO RTC 164707
217217
int32_t getBadDqBitmap( TARGETING::TargetHandle_t i_mba, const CenRank & i_rank,
218218
CenDqBitmap & o_bitmap, bool i_allowNoDimm = false );
219219
*/
@@ -226,7 +226,7 @@ int32_t getBadDqBitmap( TARGETING::TargetHandle_t i_mba, const CenRank & i_rank,
226226
* @note This is a no-op if DRAM Repairs are disabled in manufacturing.
227227
* @return Non-SUCCESS if an internal function fails, SUCCESS otherwise.
228228
*/
229-
/* TODO RTC 136126
229+
/* TODO RTC 164707
230230
int32_t setBadDqBitmap( TARGETING::TargetHandle_t i_mba, const CenRank & i_rank,
231231
const CenDqBitmap & i_bitmap );
232232
*/
@@ -238,7 +238,7 @@ int32_t setBadDqBitmap( TARGETING::TargetHandle_t i_mba, const CenRank & i_rank,
238238
* @param o_mark The returned mark.
239239
* @return Non-SUCCESS in internal function fails, SUCCESS otherwise.
240240
*/
241-
/* TODO RTC 136126
241+
/* TODO RTC 157888
242242
int32_t mssGetMarkStore( TARGETING::TargetHandle_t i_mba,
243243
const CenRank & i_rank, CenMark & o_mark );
244244
*/
@@ -263,7 +263,7 @@ int32_t mssGetMarkStore( TARGETING::TargetHandle_t i_mba,
263263
* time, so do a RMW operation to avoid overwritting a previous mark.
264264
* @return Non-SUCCESS in internal function fails, SUCCESS otherwise.
265265
*/
266-
/* TODO RTC 136126
266+
/* TODO RTC 157888
267267
int32_t mssSetMarkStore( TARGETING::TargetHandle_t i_mba,
268268
const CenRank & i_rank, CenMark & io_mark,
269269
bool & o_writeBlocked,
@@ -279,7 +279,7 @@ int32_t mssSetMarkStore( TARGETING::TargetHandle_t i_mba,
279279
* @param o_eccSpare A symbol associated with the ECC spare (x4 mode only).
280280
* @return Non-SUCCESS in internal function fails, SUCCESS otherwise.
281281
*/
282-
/* TODO RTC 136126
282+
/* TODO RTC 157888
283283
int32_t mssGetSteerMux( TARGETING::TargetHandle_t i_mba, const CenRank & i_rank,
284284
CenSymbol & o_port0Spare, CenSymbol & o_port1Spare,
285285
CenSymbol & o_eccSpare );
@@ -294,7 +294,7 @@ int32_t mssGetSteerMux( TARGETING::TargetHandle_t i_mba, const CenRank & i_rank,
294294
* @note The procedure will be able to derive the port from the given symbol.
295295
* @return Non-SUCCESS in internal function fails, SUCCESS otherwise.
296296
*/
297-
/* TODO RTC 136126
297+
/* TODO RTC 157888
298298
int32_t mssSetSteerMux( TARGETING::TargetHandle_t i_mba, const CenRank & i_rank,
299299
const CenSymbol & i_symbol, bool i_x4EccSpare );
300300
*/
@@ -306,7 +306,7 @@ int32_t mssSetSteerMux( TARGETING::TargetHandle_t i_mba, const CenRank & i_rank,
306306
* @param o_endAddr The return end address.
307307
* @return Non-SUCCESS in internal function fails, SUCCESS otherwise.
308308
*/
309-
/* TODO RTC 136126
309+
/* TODO RTC 157888
310310
int32_t getMemAddrRange( TARGETING::TargetHandle_t i_mba, CenAddr & o_startAddr,
311311
CenAddr & o_endAddr );
312312
*/
@@ -321,7 +321,7 @@ int32_t getMemAddrRange( TARGETING::TargetHandle_t i_mba, CenAddr & o_startAddr,
321321
* @param i_slaveOnly true = slave rank only, false = master rank (default).
322322
* @return Non-SUCCESS in internal function fails, SUCCESS otherwise.
323323
*/
324-
/* TODO RTC 136126
324+
/* TODO RTC 157888
325325
int32_t getMemAddrRange( TARGETING::TargetHandle_t i_mba,
326326
const CenRank & i_rank, CenAddr & o_startAddr,
327327
CenAddr & o_endAddr, bool i_slaveOnly = false );
@@ -347,7 +347,7 @@ TARGETING::TargetHandle_t getMasterCore( TARGETING::TargetHandle_t i_procTgt );
347347
* spare can be on High nibble or low nibble. This function will
348348
* populate spare config information in o_spareConfig.
349349
*/
350-
/* TODO RTC 136126
350+
/* TODO RTC 157888
351351
int32_t getDimmSpareConfig( TARGETING::TargetHandle_t i_mba, CenRank i_rank,
352352
uint8_t i_ps, uint8_t & o_spareConfig );
353353
*/
@@ -377,7 +377,7 @@ void getDimmDqAttr( TARGETING::TargetHandle_t i_target,
377377
//## Maintenance Command class wrapper
378378
//##############################################################################
379379

380-
// TODO: RTC 136126
380+
// TODO: RTC 157888
381381
///**
382382
// * @brief This is a wrapper class for underlying maintenance class object
383383
// *
@@ -473,7 +473,7 @@ void getDimmDqAttr( TARGETING::TargetHandle_t i_target,
473473
* that contains i_rank, but the target address range can be modified
474474
* with i_flags and/or i_sAddrOverride.
475475
*/
476-
/* TODO RTC 136126
476+
/* TODO RTC 157888
477477
mss_MaintCmdWrapper * createMssCmd( mss_MaintCmdWrapper::CmdType i_cmdType,
478478
TARGETING::TargetHandle_t i_mba,
479479
const CenRank & i_rank, uint32_t i_stopCond,
@@ -490,7 +490,7 @@ mss_MaintCmdWrapper * createMssCmd( mss_MaintCmdWrapper::CmdType i_cmdType,
490490
* @note This function allocates memory on heap for mss_MaintCmdWrapper
491491
* object. It is the caller's responsibilty to delete this object.
492492
*/
493-
/* TODO RTC 136126
493+
/* TODO RTC 157888
494494
mss_MaintCmdWrapper * createIncAddrMssCmd( TARGETING::TargetHandle_t i_mba );
495495
*/
496496

src/usr/diag/prdf/common/plat/prdfRasServices_common.C

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@
3737
#include <prdfCallouts.H>
3838
#include <prdfMemoryMru.H>
3939
#include <prdfPlatServices.H>
40-
//#include <prdfCenMbaCaptureData.H> TODO: RTC 136126
4140

4241
// For compression routines
4342
#define PRDF_COMPRESSBUFFER_COMPRESS_FUNCTIONS

src/usr/diag/prdf/common/plat/prdfTargetServices.C

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@
4444

4545
// External includes
4646
#include <algorithm>
47-
//#include <fapi.H> TODO RTC 136126
4847
#include <targeting/common/targetservice.H>
4948
#include <targeting/common/utilFilter.H>
5049

src/usr/diag/prdf/common/plugins/prdfLogParse_common.C

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -431,11 +431,13 @@ bool parseCaptureData( void * i_buffer, uint32_t i_buflen,
431431
{
432432
parseMemCeTable( sigData, sigDataSize, i_parser );
433433
}
434-
/* TODO: RTC 136126
434+
/* TODO: RTC 157888
435435
else if ( Util::hashString("MEM_RCE_TABLE") == sigId )
436436
{
437437
parseMemRceTable( sigData, sigDataSize, i_parser );
438438
}
439+
*/
440+
/* TODO: RTC 164707
439441
else if ( Util::hashString("DRAM_REPAIRS_DATA") == sigId )
440442
{
441443
parseDramRepairsData( sigData, sigDataSize, i_parser );

src/usr/diag/prdf/common/plugins/prdfMemLogParse.C

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2774,7 +2774,7 @@ uint8_t dqSiteIdx2DramSiteIdx( uint8_t i_dqSiteIdx, bool i_isX4Dram )
27742774
// Helper functions
27752775
//------------------------------------------------------------------------------
27762776

2777-
/* TODO RTC 136126
2777+
/* TODO RTC 164707
27782778
// Displays symbol value. If symbol is not valid, will display '--' in output.
27792779
void getDramRepairSymbolStr( uint8_t i_value, char * o_str, uint32_t i_strSize )
27802780
{
@@ -3176,7 +3176,7 @@ bool parseMemCeTable( uint8_t * i_buffer, uint32_t i_buflen,
31763176

31773177
//------------------------------------------------------------------------------
31783178

3179-
/* TODO RTC 136126
3179+
/* TODO RTC 157888
31803180
bool parseMemRceTable( uint8_t * i_buffer, uint32_t i_buflen,
31813181
ErrlUsrParser & i_parser )
31823182
{
@@ -3224,7 +3224,7 @@ bool parseMemRceTable( uint8_t * i_buffer, uint32_t i_buflen,
32243224

32253225
//------------------------------------------------------------------------------
32263226

3227-
/* TODO RTC 136126
3227+
/* TODO RTC 164707
32283228
bool parseDramRepairsData( uint8_t * i_buffer, uint32_t i_buflen,
32293229
ErrlUsrParser & i_parser )
32303230
{
@@ -3294,7 +3294,7 @@ bool parseDramRepairsData( uint8_t * i_buffer, uint32_t i_buflen,
32943294

32953295
//------------------------------------------------------------------------------
32963296

3297-
/* TODO RTC 136126
3297+
/* TODO RTC 164707
32983298
bool parseDramRepairsVpd( uint8_t * i_buffer, uint32_t i_buflen,
32993299
ErrlUsrParser & i_parser )
33003300
{
@@ -3320,7 +3320,7 @@ bool parseDramRepairsVpd( uint8_t * i_buffer, uint32_t i_buflen,
33203320

33213321
//------------------------------------------------------------------------------
33223322

3323-
/* TODO RTC 136126
3323+
/* TODO RTC 164707
33243324
bool parseBadDqBitmap( uint8_t * i_buffer, uint32_t i_buflen,
33253325
ErrlUsrParser & i_parser )
33263326
{

src/usr/diag/prdf/common/plugins/prdfParserEnums.H

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ namespace RCE_TABLE
153153

154154
} // namespace RCE_TABLE
155155

156-
/* TODO: RTC 136126
156+
/* TODO: RTC 164707
157157
namespace DQ_BITMAP
158158
{
159159
enum

src/usr/diag/prdf/plat/mem/prdfMemTdCtlr_rt.C

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,10 @@ uint32_t MemTdCtlr<T>::handleTdEvent( STEP_CODE_DATA_STRUCT & io_sc,
7777
break;
7878
}
7979

80+
// Since we had to manually stop the maintenance command, refresh all
81+
// relevant registers that may have changed since the initial capture.
82+
// TODO: RTC 166837
83+
8084
// Move onto the next step in the state machine.
8185
o_rc = nextStep( io_sc );
8286
if ( SUCCESS != o_rc )
@@ -107,7 +111,7 @@ uint32_t MemTdCtlr<T>::initialize()
107111
if ( iv_initialized ) break; // nothing to do
108112

109113
// Add any unverified chip marks to the TD queue
110-
// TODO: RTC 136126
114+
// TODO: RTC 171866
111115

112116
// At this point, the TD controller is initialized.
113117
iv_initialized = true;
@@ -139,6 +143,8 @@ uint32_t MemTdCtlr<T>::defaultStep( STEP_CODE_DATA_STRUCT & io_sc )
139143
nextRank.getRank().getSlave() );
140144

141145
// Restart background scrubbing on the next rank.
146+
// TODO: RTC 171875 Need mechanism to resume on next address (via HWP)
147+
// if no targeted diagnostics have been run.
142148
o_rc = startBgScrub<T>( nextRank.getChip(), nextRank.getRank() );
143149
if ( SUCCESS != o_rc )
144150
{
@@ -168,7 +174,7 @@ uint32_t MemTdCtlr<TYPE_MCBIST>::checkEcc( bool & o_errorsFound,
168174

169175
o_errorsFound = false;
170176

171-
/* TODO: RTC 136126
177+
/* TODO: RTC 171915
172178
MemRank rank = iv_stoppedRank.getRank();
173179
174180
do
@@ -220,7 +226,7 @@ uint32_t MemTdCtlr<TYPE_MBA>::checkEcc( bool & o_errorsFound,
220226

221227
o_errorsFound = false;
222228

223-
/* TODO: RTC 136126
229+
/* TODO: RTC 171915
224230
MemRank rank = iv_stoppedRank.getRank();
225231
226232
o_rc = __checkEcc<TYPE_MBA>( iv_chip, rank, iv_queue, io_sc,

src/usr/diag/prdf/plat/mem/prdfMemTps_rt.C

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
/* */
66
/* OpenPOWER HostBoot Project */
77
/* */
8-
/* Contributors Listed Below - COPYRIGHT 2016 */
8+
/* Contributors Listed Below - COPYRIGHT 2016,2017 */
99
/* [+] International Business Machines Corp. */
1010
/* */
1111
/* */
@@ -35,7 +35,7 @@ namespace PRDF
3535

3636
//------------------------------------------------------------------------------
3737

38-
// TODO: RTC 136126 Actual implementation of this procedure will be done later.
38+
// TODO: RTC 171914 Actual implementation of this procedure will be done later.
3939
template<>
4040
uint32_t TpsEvent<TYPE_MCA>::nextStep( STEP_CODE_DATA_STRUCT & io_sc,
4141
bool & o_done )

src/usr/diag/prdf/plat/mem/prdfMemVcm_rt.C

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
/* */
66
/* OpenPOWER HostBoot Project */
77
/* */
8-
/* Contributors Listed Below - COPYRIGHT 2016 */
8+
/* Contributors Listed Below - COPYRIGHT 2016,2017 */
99
/* [+] International Business Machines Corp. */
1010
/* */
1111
/* */
@@ -35,7 +35,7 @@ namespace PRDF
3535

3636
//------------------------------------------------------------------------------
3737

38-
// TODO: RTC 136126 Actual implementation of this procedure will be done later.
38+
// TODO: RTC 171913 Actual implementation of this procedure will be done later.
3939
template<>
4040
uint32_t VcmEvent<TYPE_MCA>::nextStep( STEP_CODE_DATA_STRUCT & io_sc,
4141
bool & o_done )

0 commit comments

Comments
 (0)