Skip to content

Commit 201da82

Browse files
brs332dcrowell77
authored andcommitted
Add enforcement of DDR4 DRAM on Nimbus via plug rules
Change-Id: I6e4dd602c16eddc4e6b604b02b55910ba31bdb92 Original-Change-Id: I4e98cf7a1af5176c89f611585fbd72d425d99751 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/29245 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com> Reviewed-by: ANDRE A. MARIN <aamarin@us.ibm.com> Reviewed-by: STEPHEN GLANCY <sglancy@us.ibm.com> Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com> Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/66303 Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Tested-by: Daniel M. Crowell <dcrowell@us.ibm.com>
1 parent 14c430f commit 201da82

File tree

1 file changed

+17
-2
lines changed
  • src/import/chips/p9/procedures/hwp/memory/lib/eff_config

1 file changed

+17
-2
lines changed

src/import/chips/p9/procedures/hwp/memory/lib/eff_config/plug_rules.C

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -137,13 +137,28 @@ fapi2::ReturnCode dimm_type_mixing(std::vector<dimm::kind>& io_kinds)
137137
for (const auto& k : io_kinds)
138138
{
139139
// Sets fapi2::current_err
140-
MSS_ASSERT_NOEXIT( ((k.iv_dimm_type == l_winner.first) || (k.iv_dimm_type == fapi2::ENUM_ATTR_EFF_DIMM_TYPE_EMPTY)),
140+
MSS_ASSERT_NOEXIT( ((k.iv_dimm_type == l_winner.first) ||
141+
(k.iv_dimm_type == fapi2::ENUM_ATTR_EFF_DIMM_TYPE_EMPTY)),
141142
fapi2::MSS_PLUG_RULES_INVALID_DIMM_TYPE_MIX()
142143
.set_DIMM_TYPE(k.iv_dimm_type)
143144
.set_MAJORITY_DIMM_TYPE(l_winner.first)
144145
.set_DIMM_TARGET(k.iv_target),
145146
"%s of type %d can not be plugged in with DIMM of type %d",
146-
mss::c_str(k.iv_target), k.iv_dimm_type, l_winner.first);
147+
mss::c_str(k.iv_target), k.iv_dimm_type, l_winner.first );
148+
149+
// This should never fail ... but Just In Case a little belt-and-suspenders never hurt.
150+
// Later on down the line we make the assumption that effective config caught any mimatched
151+
// DRAM generations - so we ought to at least do that ...
152+
// TODO RTC:160395 This needs to change for controllers which support different generations, of which
153+
// Nimbus does not.
154+
MSS_ASSERT_NOEXIT( ((k.iv_dram_generation == fapi2::ENUM_ATTR_EFF_DRAM_GEN_DDR4) ||
155+
(k.iv_dram_generation == fapi2::ENUM_ATTR_EFF_DRAM_GEN_EMPTY)),
156+
fapi2::MSS_PLUG_RULES_INVALID_DRAM_GEN()
157+
.set_DRAM_GEN(k.iv_dimm_type)
158+
.set_DIMM_TARGET(k.iv_target),
159+
"%s is not DDR4 it is %d",
160+
mss::c_str(k.iv_target), k.iv_dram_generation );
161+
147162
}
148163

149164
return fapi2::current_err;

0 commit comments

Comments
 (0)