diff options
author | Caleb Palmer <cnpalmer@us.ibm.com> | 2019-04-09 15:29:07 -0500 |
---|---|---|
committer | Zane C. Shelley <zshelle@us.ibm.com> | 2019-04-18 10:33:07 -0500 |
commit | 9d139bd7d99a87c6d11f6569482218badb49cc8b (patch) | |
tree | de94afe1294c8faa0acb828b21929746afa1482a /src/usr/diag/prdf/common/plugins/prdfParserUtils.C | |
parent | 36a58f1f80473c1ee39e449c85f78ead269c0348 (diff) | |
download | talos-hostboot-9d139bd7d99a87c6d11f6569482218badb49cc8b.tar.gz talos-hostboot-9d139bd7d99a87c6d11f6569482218badb49cc8b.zip |
PRD: Axone/Explorer Misc Updates needed for TdCtlr/DataBundles
Change-Id: Ia769f949f984c810b998c19fd32c7c3af2e06244
RTC: 207388
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/75791
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Paul Greenwood <paul.greenwood@ibm.com>
Reviewed-by: Brian J. Stegmiller <bjs@us.ibm.com>
Reviewed-by: Zane C. Shelley <zshelle@us.ibm.com>
Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/76086
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>
Diffstat (limited to 'src/usr/diag/prdf/common/plugins/prdfParserUtils.C')
-rw-r--r-- | src/usr/diag/prdf/common/plugins/prdfParserUtils.C | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/src/usr/diag/prdf/common/plugins/prdfParserUtils.C b/src/usr/diag/prdf/common/plugins/prdfParserUtils.C index c2ccd38f2..9d2233e75 100644 --- a/src/usr/diag/prdf/common/plugins/prdfParserUtils.C +++ b/src/usr/diag/prdf/common/plugins/prdfParserUtils.C @@ -87,6 +87,15 @@ uint8_t symbol2Dq<TARGETING::TYPE_MCA>( uint8_t i_symbol ) //------------------------------------------------------------------------------ template<> +uint8_t symbol2Dq<TARGETING::TYPE_MEM_PORT>( uint8_t i_symbol ) +{ + // MEM_PORT case is identical to MCA + return symbol2Dq<TARGETING::TYPE_MCA>(i_symbol); +} + +//------------------------------------------------------------------------------ + +template<> uint8_t symbol2PortSlct<TARGETING::TYPE_MBA>( uint8_t i_symbol ) { uint8_t portSlct = MAX_PORT_PER_MBA; @@ -113,6 +122,16 @@ uint8_t symbol2PortSlct<TARGETING::TYPE_MCA>( uint8_t i_symbol ) //------------------------------------------------------------------------------ template<> +uint8_t symbol2PortSlct<TARGETING::TYPE_MEM_PORT>( uint8_t i_symbol ) +{ + // Port select does not exist on MEM_PORT. Always return 0 so that code will + // continue to work. + return 0; +} + +//------------------------------------------------------------------------------ + +template<> uint8_t dq2Symbol<TARGETING::TYPE_MBA>( uint8_t i_dq, uint8_t i_ps ) { uint8_t sym = SYMBOLS_PER_RANK; @@ -199,6 +218,15 @@ uint8_t nibble2Symbol<TARGETING::TYPE_MCA>( uint8_t i_x4Dram ) //------------------------------------------------------------------------------ template<> +uint8_t nibble2Symbol<TARGETING::TYPE_MEM_PORT>( uint8_t i_x4Dram ) +{ + // MEM_PORT case is identical to MCA + return nibble2Symbol<TARGETING::TYPE_MCA>(i_x4Dram); +} + +//------------------------------------------------------------------------------ + +template<> uint8_t byte2Symbol<TARGETING::TYPE_MBA>( uint8_t i_x8Dram ) { return (MBA_BYTES_PER_RANK > i_x8Dram) ? (i_x8Dram * MBA_SYMBOLS_PER_BYTE) @@ -230,6 +258,15 @@ uint8_t byte2Symbol<TARGETING::TYPE_MCA>( uint8_t i_x8Dram ) //------------------------------------------------------------------------------ template<> +uint8_t byte2Symbol<TARGETING::TYPE_MEM_PORT>( uint8_t i_x8Dram ) +{ + // MEM_PORT case is identical to MCA + return byte2Symbol<TARGETING::TYPE_MCA>(i_x8Dram); +} + +//------------------------------------------------------------------------------ + +template<> uint8_t symbol2Nibble<TARGETING::TYPE_MBA>( uint8_t i_symbol ) { return (SYMBOLS_PER_RANK > i_symbol) ? (i_symbol / MBA_SYMBOLS_PER_NIBBLE) @@ -249,6 +286,15 @@ uint8_t symbol2Nibble<TARGETING::TYPE_MCA>( uint8_t i_symbol ) //------------------------------------------------------------------------------ template<> +uint8_t symbol2Nibble<TARGETING::TYPE_MEM_PORT>( uint8_t i_symbol ) +{ + // MEM_PORT case is identical to MCA + return symbol2Nibble<TARGETING::TYPE_MCA>(i_symbol); +} + +//------------------------------------------------------------------------------ + +template<> uint8_t symbol2Byte<TARGETING::TYPE_MBA>( uint8_t i_symbol ) { return (SYMBOLS_PER_RANK > i_symbol) ? (i_symbol / MBA_SYMBOLS_PER_BYTE) @@ -265,6 +311,16 @@ uint8_t symbol2Byte<TARGETING::TYPE_MCA>( uint8_t i_symbol ) : MEM_BYTES_PER_RANK; } +//------------------------------------------------------------------------------ + +template<> +uint8_t symbol2Byte<TARGETING::TYPE_MEM_PORT>( uint8_t i_symbol ) +{ + // MEM_PORT case is identical to MCA + return symbol2Byte<TARGETING::TYPE_MCA>(i_symbol); +} + +//------------------------------------------------------------------------------ /** * @brief Find the first symbol of the given DRAM index |