summaryrefslogtreecommitdiffstats
path: root/src/import/chips/centaur
diff options
context:
space:
mode:
authorLuke Mulkey <lwmulkey@us.ibm.com>2017-06-09 13:38:49 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2017-09-25 22:55:27 -0400
commit4930d04b18415303cac72d1b203719c1b9443cbd (patch)
tree8e09ec47f71f5e3beaa05a756ef12a006e2ccc43 /src/import/chips/centaur
parent3027cb5ef916d5d47be892dfe4ef37b01e40861b (diff)
downloadtalos-hostboot-4930d04b18415303cac72d1b203719c1b9443cbd.tar.gz
talos-hostboot-4930d04b18415303cac72d1b203719c1b9443cbd.zip
Memory buffer vpd accessor functions
Patch set 1 is fapi1 version for comparison Change-Id: I9b8c7bb634ee51df3960991fc853a38ae734bbd0 Original-Change-Id: I533ad241a5baa4c13b5b6db9207cf7016761370b Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/41627 Dev-Ready: Steven B. Janssen <janssens@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com> Reviewed-by: Brent Wieman <bwieman@us.ibm.com> Reviewed-by: ANDRE A. MARIN <aamarin@us.ibm.com> Reviewed-by: Steven B. Janssen <janssens@us.ibm.com> Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/46348 Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/import/chips/centaur')
-rw-r--r--src/import/chips/centaur/procedures/vpd_accessors/getMBvpdDram2NModeEnabled.C106
1 files changed, 106 insertions, 0 deletions
diff --git a/src/import/chips/centaur/procedures/vpd_accessors/getMBvpdDram2NModeEnabled.C b/src/import/chips/centaur/procedures/vpd_accessors/getMBvpdDram2NModeEnabled.C
new file mode 100644
index 000000000..c58b38099
--- /dev/null
+++ b/src/import/chips/centaur/procedures/vpd_accessors/getMBvpdDram2NModeEnabled.C
@@ -0,0 +1,106 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/import/chips/centaur/procedures/vpd_accessors/getMBvpdDram2NModeEnabled.C $ */
+/* */
+/* OpenPOWER HostBoot Project */
+/* */
+/* Contributors Listed Below - COPYRIGHT 2017 */
+/* [+] International Business Machines Corp. */
+/* */
+/* */
+/* Licensed under the Apache License, Version 2.0 (the "License"); */
+/* you may not use this file except in compliance with the License. */
+/* You may obtain a copy of the License at */
+/* */
+/* http://www.apache.org/licenses/LICENSE-2.0 */
+/* */
+/* Unless required by applicable law or agreed to in writing, software */
+/* distributed under the License is distributed on an "AS IS" BASIS, */
+/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or */
+/* implied. See the License for the specific language governing */
+/* permissions and limitations under the License. */
+/* */
+/* IBM_PROLOG_END_TAG */
+/// @file getMBvpdDram2NModeEnabled.C
+/// @brief MBVPD Accessor for providing the ATTR_VPD_DRAM_2N_MODE_ENABLED attribute
+///
+/// *HWP HWP Owner: Luke Mulkey <lwmulkey@us.ibm.com>
+/// *HWP HWP Backup: Andre Marin <aamarin@us.ibm.com>
+/// *HWP Team: Memory
+/// *HWP Level: 2
+/// *HWP Consumed by: HB
+
+#include <stdint.h>
+
+// fapi support
+#include <fapi2.H>
+#include <getMBvpdDram2NModeEnabled.H>
+#include <getMBvpdAttr.H>
+
+extern "C"
+{
+
+///
+/// @brief Get the ATTR_DRAM_2N_MODE_ENABLED FAPI attribute
+///
+/// Return whether Dram 2N Mode is enabled based on the MR keyword
+/// DRAM_2N_MODE value. The DRAM_2N_Mode values for both ports of the mba
+/// must be equal, otherwise an error is returned.
+///
+/// @param[in] i_mbaTarget - Reference to mba Target
+/// @param[out] o_val - ATTR_VPD_DRAM_2N_MODE_ENABLED enumeration value
+/// @return fapi::ReturnCode FAPI_RC_SUCCESS if success, else error code
+///
+ fapi2::ReturnCode getMBvpdDram2NModeEnabled(
+ const fapi2::Target<fapi2::TARGET_TYPE_MBA>& i_mbaTarget,
+ uint8_t& o_val)
+ {
+ fapi2::ReturnCode l_fapirc;
+ uint8_t l_dram2NMode [2] = {0, 0};
+ const uint8_t DRAM_2N_MODE = 0x02;
+
+ FAPI_DBG("getMBvpdDram2NModeEnabled: entry ");
+
+ // Retrieve the Dram 2N Mode from the MR keyword
+ FAPI_EXEC_HWP(l_fapirc,
+ getMBvpdAttr,
+ i_mbaTarget,
+ fapi2::ATTR_CEN_VPD_DRAM_2N_MODE_ENABLED,
+ &l_dram2NMode,
+ sizeof(l_dram2NMode));
+
+ if (l_fapirc)
+ {
+ FAPI_ERR("getMBvpdDram2NModeEnabled: Read of VZ keyword failed");
+ return l_fapirc; // break out with fapirc
+ }
+
+ // ensure values match
+ FAPI_ASSERT(l_dram2NMode[0] == l_dram2NMode[1],
+ fapi2::CEN_MBVPD_DRAM_2N_MODE_NOT_EQUAL().
+ set_PORT0(l_dram2NMode[0]).
+ set_PORT1(l_dram2NMode[1]).
+ set_MBA_TARGET(i_mbaTarget),
+ "getMBvpdDram2NModeEnabled:"
+ " ports should have same value 0x%02x != 0x%02x",
+ l_dram2NMode[0], l_dram2NMode[1]);
+
+ // return value
+ if (DRAM_2N_MODE == l_dram2NMode[0] )
+ {
+ o_val = fapi2::ENUM_ATTR_CEN_VPD_DRAM_2N_MODE_ENABLED_TRUE;
+ }
+ else
+ {
+ o_val = fapi2::ENUM_ATTR_CEN_VPD_DRAM_2N_MODE_ENABLED_FALSE;
+ }
+
+ FAPI_DBG("getMBvpdDram2NModeEnabled: exit rc=0x%08x)",
+ static_cast<uint32_t>(l_fapirc));
+
+ fapi_try_exit:
+ return fapi2::current_err;
+ }
+
+} // extern "C"
OpenPOWER on IntegriCloud