From 0ad8b8c389eed52e19449e97adb5d794716e10aa Mon Sep 17 00:00:00 2001 From: Sangeetha T S Date: Mon, 11 Jan 2016 09:31:06 -0600 Subject: p9_pm_corequad_init : Level 1 - Interface design Change-Id: If56735d281b74fdb6e3c60278fa2e34773d0e995 RTC: 140971 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/10671 Tested-by: Jenkins Server Reviewed-by: Jennifer A. Stofer Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/25499 Tested-by: FSP CI Jenkins Reviewed-by: Daniel M. Crowell --- .../p9/procedures/hwp/pm/p9_pm_corequad_init.C | 91 ++++++++++++++++++++++ .../p9/procedures/hwp/pm/p9_pm_corequad_init.H | 64 +++++++++++++++ .../p9/procedures/hwp/pm/p9_pm_corequad_init.mk | 20 +++++ 3 files changed, 175 insertions(+) create mode 100644 src/import/chips/p9/procedures/hwp/pm/p9_pm_corequad_init.C create mode 100644 src/import/chips/p9/procedures/hwp/pm/p9_pm_corequad_init.H create mode 100644 src/import/chips/p9/procedures/hwp/pm/p9_pm_corequad_init.mk (limited to 'src/import/chips') diff --git a/src/import/chips/p9/procedures/hwp/pm/p9_pm_corequad_init.C b/src/import/chips/p9/procedures/hwp/pm/p9_pm_corequad_init.C new file mode 100644 index 000000000..d912ed197 --- /dev/null +++ b/src/import/chips/p9/procedures/hwp/pm/p9_pm_corequad_init.C @@ -0,0 +1,91 @@ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: chips/p9/procedures/hwp/pm/p9_pm_corequad_init.C $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* EKB Project */ +/* */ +/* COPYRIGHT 2016 */ +/* [+] International Business Machines Corp. */ +/* */ +/* */ +/* The source code for this program is not published or otherwise */ +/* divested of its trade secrets, irrespective of what has been */ +/* deposited with the U.S. Copyright Office. */ +/* */ +/* IBM_PROLOG_END_TAG */ +/// +/// @file p9_pm_corequad_init.C +/// @brief Establish safe settings for Core and Quad. +/// +// *HWP HWP Owner: Greg Still +// *HWP FW Owner: Sangeetha T S +// *HWP Team: PM +// *HWP Level: 1 +// *HWP Consumed by: HS + +// ----------------------------------------------------------------------------- +// Includes +// ----------------------------------------------------------------------------- +#include + +// ----------------------------------------------------------------------------- +// Function prototypes +// ----------------------------------------------------------------------------- + +// Reset function +/// +/// @brief Stop the CMEs and clear the CME FIRs, PPM Errors and their masks +/// for all functional and enabled EX chiplets +/// +/// @param[in] i_target Proc Chip target +/// +/// @return FAPI2_RC_SUCCESS on success or error return code +/// +fapi2::ReturnCode pm_corequad_reset( + const fapi2::Target& i_target); + +// Init function +/// +/// @brief Setup the CME and PPM Core & Quad for all functional and enabled +/// EX chiplets +/// +/// @param[in] i_target Proc Chip target +/// +/// @return FAPI2_RC_SUCCESS on success or error return code +/// +fapi2::ReturnCode pm_corequad_init( + const fapi2::Target& i_target); + +// ---------------------------------------------------------------------- +// Function definitions +// ---------------------------------------------------------------------- + +fapi2::ReturnCode p9_pm_corequad_init( + const fapi2::Target& i_target, + const p9pm::PM_FLOW_MODE i_mode) +{ + FAPI_IMP("Entering p9_pm_corequad_init..."); + + FAPI_IMP("Exiting p9_pm_corequad_init..."); + return fapi2::current_err; +} + +fapi2::ReturnCode pm_corequad_init( + const fapi2::Target& i_target) +{ + FAPI_IMP("Entering pm_corequad_init..."); + + return fapi2::current_err; +} + +fapi2::ReturnCode pm_corequad_reset( + const fapi2::Target& i_target) +{ + FAPI_IMP("Entering pm_corequad_reset..."); + + return fapi2::current_err; +} + diff --git a/src/import/chips/p9/procedures/hwp/pm/p9_pm_corequad_init.H b/src/import/chips/p9/procedures/hwp/pm/p9_pm_corequad_init.H new file mode 100644 index 000000000..03b421423 --- /dev/null +++ b/src/import/chips/p9/procedures/hwp/pm/p9_pm_corequad_init.H @@ -0,0 +1,64 @@ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: chips/p9/procedures/hwp/pm/p9_pm_corequad_init.H $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* EKB Project */ +/* */ +/* COPYRIGHT 2016 */ +/* [+] International Business Machines Corp. */ +/* */ +/* */ +/* The source code for this program is not published or otherwise */ +/* divested of its trade secrets, irrespective of what has been */ +/* deposited with the U.S. Copyright Office. */ +/* */ +/* IBM_PROLOG_END_TAG */ +/// +/// @file p9_pm_corequad_init.H +/// @brief Establish safe settings for Core and Quad. +/// +// *HWP HWP Owner: Greg Still +// *HWP FW Owner: Sangeetha T S +// *HWP Team: PM +// *HWP Level: 1 +// *HWP Consumed by: HS + +#ifndef _P9_COREQ_IN_H_ +#define _P9_COREQ_IN_H_ + +// ----------------------------------------------------------------------------- +// Includes +// ----------------------------------------------------------------------------- +#include +#include +#include + +// function pointer typedef definition for HWP call support +typedef fapi2::ReturnCode (*p9_pm_corequad_init_FP_t) +(const fapi2::Target&, + const p9pm::PM_FLOW_MODE); + +// ----------------------------------------------------------------------------- +// Function Prototype +// ----------------------------------------------------------------------------- +extern "C" +{ +/// +/// @brief Perform necessary actions to Core and Quad PPMs as well as CMEs +/// for reset and initialization. +/// +/// @param[in] i_target Proc Chip target +/// @param[in] i_mode Control mode for the procedure +/// PM_INIT, PM_RESET +/// +/// @return FAPI2_RC_SUCCESS on success or error return code +/// + fapi2::ReturnCode p9_pm_corequad_init( + const fapi2::Target& i_target, + const p9pm::PM_FLOW_MODE i_mode); +} // extern "C" + +#endif // _P9_COREQ_IN_H_ diff --git a/src/import/chips/p9/procedures/hwp/pm/p9_pm_corequad_init.mk b/src/import/chips/p9/procedures/hwp/pm/p9_pm_corequad_init.mk new file mode 100644 index 000000000..7307ac36e --- /dev/null +++ b/src/import/chips/p9/procedures/hwp/pm/p9_pm_corequad_init.mk @@ -0,0 +1,20 @@ +# IBM_PROLOG_BEGIN_TAG +# This is an automatically generated prolog. +# +# $Source: chips/p9/procedures/hwp/pm/p9_pm_corequad_init.mk $ +# +# IBM CONFIDENTIAL +# +# EKB Project +# +# COPYRIGHT 2016 +# [+] International Business Machines Corp. +# +# +# The source code for this program is not published or otherwise +# divested of its trade secrets, irrespective of what has been +# deposited with the U.S. Copyright Office. +# +# IBM_PROLOG_END_TAG +PROCEDURE=p9_pm_corequad_init +$(call BUILD_PROCEDURE) -- cgit v1.2.1