summaryrefslogtreecommitdiffstats
path: root/src/usr/fapi2
diff options
context:
space:
mode:
authorChristian Geddes <crgeddes@us.ibm.com>2019-09-20 14:23:21 -0500
committerDaniel M Crowell <dcrowell@us.ibm.com>2019-09-27 17:29:55 -0500
commit0f3e041cbe1c7d6d2ae203187f843b1714b287db (patch)
tree3ae30da8ad9a402c9b11dbd2ccb20eec024db199 /src/usr/fapi2
parent7b87226522ddaf755b241c8352f5c7e9ed273741 (diff)
downloadtalos-hostboot-0f3e041cbe1c7d6d2ae203187f843b1714b287db.tar.gz
talos-hostboot-0f3e041cbe1c7d6d2ae203187f843b1714b287db.zip
Add new DDR4 DDIMM keyword ENTIRE_SPD_WITHOUT_EFD
With the DDR4 DDIMM SPD there are really two parts. There is the 640 bytes of information you typically see in a DIMM's SPD and then there are 2 KB - 640 bytes of EFD (extensible function descriptors) to give vendors space to add customized data. In many cases we want the ENTIRE_SPD (including the EFD area) but in other cases we want to save some time/space and only read in the first 640 bytes. This new keyword will give us that flexibility. Change-Id: I88ed58b37417b576f2ec4a779ee0c114791c6c21 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/84070 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> 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: Matt Derksen <mderkse1@us.ibm.com> Reviewed-by: Matthew Raybuck <matthew.raybuck@ibm.com> Reviewed-by: Daniel M Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/fapi2')
-rw-r--r--src/usr/fapi2/plat_spd_access.C5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/usr/fapi2/plat_spd_access.C b/src/usr/fapi2/plat_spd_access.C
index 0d354020d..6f3107f0c 100644
--- a/src/usr/fapi2/plat_spd_access.C
+++ b/src/usr/fapi2/plat_spd_access.C
@@ -108,7 +108,10 @@ fapi2::ReturnCode getSPD(
if( l_memModule == SPD::MEM_DDIMM )
{
- o_size = SPD::DDIMM_DDR4_SPD_SIZE;
+ // currently getSPD only supports the ENTIRE_SPD
+ // keyword. In the DDIMM case this include the EFD
+ // data so be sure to reflect that in the size we return.
+ o_size = SPD::OCMB_SPD_EFD_COMBINED_SIZE;
}
else
{
OpenPOWER on IntegriCloud