summaryrefslogtreecommitdiffstats
path: root/src/import/chips/p9/procedures
diff options
context:
space:
mode:
authorAndre Marin <aamarin@us.ibm.com>2018-07-24 00:02:23 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2018-08-06 09:32:54 -0500
commit6a03e838d00c6fb01525019c9b8c1cc3c667c7d3 (patch)
treeb2d8639f14c4e910c5a5b6efc60f17f34cde096f /src/import/chips/p9/procedures
parent95b925b6af0e553da06f61d89d2a0c1616882e29 (diff)
downloadtalos-hostboot-6a03e838d00c6fb01525019c9b8c1cc3c667c7d3.tar.gz
talos-hostboot-6a03e838d00c6fb01525019c9b8c1cc3c667c7d3.zip
Generalize byte reading from SPD reading, for exp i2c reuse
Change-Id: I388e5abd6639464514fb9ca2d555362e431b753c Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/63209 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: HWSV CI <hwsv-ci+hostboot@us.ibm.com> Reviewed-by: STEPHEN GLANCY <sglancy@us.ibm.com> Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com> Reviewed-by: Louis Stermole <stermole@us.ibm.com> Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com> Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/63538 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> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/import/chips/p9/procedures')
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/dimm/eff_dimm.C25
-rw-r--r--src/import/chips/p9/procedures/hwp/memory/lib/shared/mss_const.H3
-rw-r--r--src/import/chips/p9/procedures/xml/error_info/p9_memory_mss_general_errors.xml24
-rw-r--r--src/import/chips/p9/procedures/xml/error_info/p9_memory_mss_spd_decode.xml22
4 files changed, 42 insertions, 32 deletions
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/dimm/eff_dimm.C b/src/import/chips/p9/procedures/hwp/memory/lib/dimm/eff_dimm.C
index 4e52d5083..2e2a49540 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/dimm/eff_dimm.C
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/dimm/eff_dimm.C
@@ -937,6 +937,7 @@ fapi_try_exit:
///
fapi2::ReturnCode eff_dimm::primary_stack_type()
{
+ constexpr size_t BYTE = 6;
uint8_t l_stack_type = 0;
uint8_t l_package_type = 0;
@@ -952,22 +953,26 @@ fapi2::ReturnCode eff_dimm::primary_stack_type()
// JEDEC standard says if the SPD says monolithic in A[7],
// stack type must be 00 or "SDP" which is what our enum is set to
FAPI_ASSERT( (l_stack_type == fapi2::ENUM_ATTR_EFF_PRIM_STACK_TYPE_SDP),
- fapi2::MSS_BAD_SPD()
- .set_VALUE(l_stack_type)
- .set_BYTE(6)
- .set_DIMM_TARGET(iv_dimm),
- "Invalid SPD for calculating ATTR_EFF_PRIM_STACK_TYPE");
+ fapi2::MSS_FAILED_DATA_INTEGRITY_CHECK().
+ set_VALUE(l_stack_type).
+ set_BYTE(BYTE).
+ set_TARGET(iv_dimm).
+ set_FFDC_CODE(PRIMARY_STACK_TYPE),
+ "Invalid SPD for calculating ATTR_EFF_PRIM_STACK_TYPE for %s",
+ mss::c_str(iv_dimm) );
break;
case mss::spd::NON_MONOLITHIC:
FAPI_ASSERT( (l_stack_type == fapi2::ENUM_ATTR_EFF_PRIM_STACK_TYPE_DDP_QDP) ||
(l_stack_type == fapi2::ENUM_ATTR_EFF_PRIM_STACK_TYPE_3DS),
- fapi2::MSS_BAD_SPD()
- .set_VALUE(l_stack_type)
- .set_BYTE(6)
- .set_DIMM_TARGET(iv_dimm),
- "Invalid SPD for calculating ATTR_EFF_PRIM_STACK_TYPE");
+ fapi2::MSS_FAILED_DATA_INTEGRITY_CHECK().
+ set_VALUE(l_stack_type).
+ set_BYTE(BYTE).
+ set_TARGET(iv_dimm).
+ set_FFDC_CODE(PRIMARY_STACK_TYPE),
+ "Invalid SPD for calculating ATTR_EFF_PRIM_STACK_TYPE for %s",
+ mss::c_str(iv_dimm) );
break;
default:
diff --git a/src/import/chips/p9/procedures/hwp/memory/lib/shared/mss_const.H b/src/import/chips/p9/procedures/hwp/memory/lib/shared/mss_const.H
index 6535cab1e..d8187e549 100644
--- a/src/import/chips/p9/procedures/hwp/memory/lib/shared/mss_const.H
+++ b/src/import/chips/p9/procedures/hwp/memory/lib/shared/mss_const.H
@@ -212,6 +212,9 @@ enum ffdc_function_codes
FREQ_SCOREBOARD_MAX_SUPPORTED_FREQ = 113,
FREQ_SCOREBOARD_SUPPORTED_FREQS = 114,
LIMIT_FREQ_BY_VPD = 115,
+
+ // eff_dimm.C
+ PRIMARY_STACK_TYPE = 116,
};
enum states
diff --git a/src/import/chips/p9/procedures/xml/error_info/p9_memory_mss_general_errors.xml b/src/import/chips/p9/procedures/xml/error_info/p9_memory_mss_general_errors.xml
index 4f63f6bc1..fc5d460eb 100644
--- a/src/import/chips/p9/procedures/xml/error_info/p9_memory_mss_general_errors.xml
+++ b/src/import/chips/p9/procedures/xml/error_info/p9_memory_mss_general_errors.xml
@@ -141,4 +141,28 @@
</callout>
</hwpError>
+
+ <hwpError>
+ <rc>RC_MSS_FAILED_DATA_INTEGRITY_CHECK</rc>
+ <description>
+ Bad data received.
+ Settings are incorrect for received data.
+ This could be code problem (decoding) or bad data.
+ </description>
+ <ffdc>VALUE</ffdc>
+ <ffdc>BYTE</ffdc>
+ <ffdc>FFDC_CODE</ffdc>
+ <callout>
+ <procedure>CODE</procedure>
+ <priority>MEDIUM</priority>
+ </callout>
+ <callout>
+ <target>TARGET</target>
+ <priority>HIGH</priority>
+ </callout>
+ <deconfigure>
+ <target>TARGET</target>
+ </deconfigure>
+ </hwpError>
+
</hwpErrors>
diff --git a/src/import/chips/p9/procedures/xml/error_info/p9_memory_mss_spd_decode.xml b/src/import/chips/p9/procedures/xml/error_info/p9_memory_mss_spd_decode.xml
index e37308594..a1310dec2 100644
--- a/src/import/chips/p9/procedures/xml/error_info/p9_memory_mss_spd_decode.xml
+++ b/src/import/chips/p9/procedures/xml/error_info/p9_memory_mss_spd_decode.xml
@@ -97,28 +97,6 @@
</hwpError>
<hwpError>
- <rc>RC_MSS_BAD_SPD</rc>
- <description>
- Bad SPD data received.
- Settings are incorrect within SPD.
- This could be code problem (decoding) or bad SPD
- </description>
- <ffdc>VALUE</ffdc>
- <ffdc>BYTE</ffdc>
- <callout>
- <procedure>CODE</procedure>
- <priority>MEDIUM</priority>
- </callout>
- <callout>
- <target>DIMM_TARGET</target>
- <priority>HIGH</priority>
- </callout>
- <deconfigure>
- <target>DIMM_TARGET</target>
- </deconfigure>
- </hwpError>
-
- <hwpError>
<rc>RC_MSS_INVALID_DRAM_GEN</rc>
<description>
Received a DRAM gen unsupported by the SPD decoder factory
OpenPOWER on IntegriCloud