diff options
author | Christian Geddes <crgeddes@us.ibm.com> | 2019-09-20 14:23:21 -0500 |
---|---|---|
committer | Daniel M Crowell <dcrowell@us.ibm.com> | 2019-09-27 17:29:55 -0500 |
commit | 0f3e041cbe1c7d6d2ae203187f843b1714b287db (patch) | |
tree | 3ae30da8ad9a402c9b11dbd2ccb20eec024db199 /src/usr/fapi2 | |
parent | 7b87226522ddaf755b241c8352f5c7e9ed273741 (diff) | |
download | talos-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.C | 5 |
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 { |