Skip to content

Commit 21ea16b

Browse files
cnpalmerzane131
authored andcommitted
PRD: Runtime TPS Analyze CEs
Change-Id: I175c14c65df216ccfc81bf7d8b1fa3e5a05902b2 RTC: 171914 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/44809 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Benjamin J. Weisenbeck <bweisenb@us.ibm.com> Reviewed-by: Brian J. Stegmiller <bjs@us.ibm.com> Reviewed-by: Zane C. Shelley <zshelle@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/45389 Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
1 parent df6f5ce commit 21ea16b

File tree

5 files changed

+518
-5
lines changed

5 files changed

+518
-5
lines changed

src/usr/diag/prdf/common/plat/mem/prdfMemMark.H

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,18 @@ class MemMark
6363
iv_symbol( MemSymbol::fromGalois(i_trgt, i_rank, i_galois) )
6464
{}
6565

66+
/**
67+
* @brief Cosntructor from components.
68+
* @param i_trgt MBA or MCA target.
69+
* @param i_rank The rank this mark is on.
70+
* @param i_symbol The symbol representing this mark.
71+
*/
72+
MemMark( TARGETING::TargetHandle_t i_trgt, const MemRank & i_rank,
73+
const MemSymbol & i_symbol ) :
74+
iv_galois( i_symbol.getGalois() ),
75+
iv_symbol( i_symbol )
76+
{}
77+
6678
public: // functions
6779

6880
/** @return The Galois field representing this mark. */

src/usr/diag/prdf/common/plat/mem/prdfMemSymbol.C

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,13 @@ uint8_t MemSymbol::getDramPins() const
151151
return iv_pins << (((spd - 1) - (iv_symbol % spd)) * dps);
152152
}
153153

154+
//------------------------------------------------------------------------------
155+
156+
uint8_t MemSymbol::getGalois() const
157+
{
158+
return symbol2Galois[iv_symbol];
159+
}
160+
154161
//------------------------------------------------------------------------------
155162
// Symbol Accessor Functions
156163
//------------------------------------------------------------------------------

src/usr/diag/prdf/common/plat/mem/prdfMemSymbol.H

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,9 @@ class MemSymbol
118118
* (x4 mode is 4-bits, x8 mode is 8-bits). */
119119
uint8_t getDramPins() const;
120120

121+
/** @return The Galois field associated with this symbol. */
122+
uint8_t getGalois() const;
123+
121124
/** @return Marks this symbol as steered to a DRAM spare. */
122125
void setDramSpared() { iv_isDramSpared = true; }
123126

src/usr/diag/prdf/plat/mem/prdfMemTps.H

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,23 @@ class TpsEvent : public TdEntry
9797
STEP_CODE_DATA_STRUCT & io_sc,
9898
bool & o_done );
9999

100+
/**
101+
* @brief Analyzes the counts that summarize the symbol CE counts.
102+
* @param i_badDqCount Number of nibbles with a bad DQ
103+
* @param i_badChipCount Number of nibbles with a bad Chip
104+
* @param i_nonZeroSumCount Number of nibbles under threshold with a
105+
* non-zero sum
106+
* @param i_singleSymCount Number of nibbles under threshold with a
107+
* single symbol count greater than one
108+
* @param i_symList Vector of all symbols with counts > 0.
109+
* @param io_sc The step code data struct.
110+
* @return Non-SUCCESS if an internal function fails, SUCCESS otherwise.
111+
*/
112+
uint32_t analyzeCeSymbolCounts( CeCount i_badDqCount,
113+
CeCount i_badChipCount, CeCount i_nonZeroSumCount,
114+
CeCount i_singleSymCount, MemUtils::MaintSymbols i_symList,
115+
STEP_CODE_DATA_STRUCT & io_sc );
116+
100117
/**
101118
* @brief Gets the counts that summarize the symbol CE counts.
102119
* @param io_badDqCount Number of nibbles with a bad DQ
@@ -121,6 +138,7 @@ class TpsEvent : public TdEntry
121138
*/
122139
uint32_t analyzeCe( STEP_CODE_DATA_STRUCT & io_sc );
123140

141+
124142
#endif // __HOSTBOOT_RUNTIME
125143

126144
};

0 commit comments

Comments
 (0)