Skip to content

Commit

Permalink
L3 update -- TOD HWPs
Browse files Browse the repository at this point in the history
  p9_tod_init
    set output pointer for step check error cases to match
    interface comments/p8 HWP behavior

  p9_tod_setup
    correct RT delay register addresses used for OBUS PHY

  p9_tod_errors
    add register FFDC definition to collect for init errors
    align FW response with p8 error definitions

  update ownership, consumed by comments
  add comments tracking code flow (Christy Graves)
  trace, whitespace cleanup
  use bit/field definitions from SCOM address header files

Change-Id: I754cf5375d8f6f0498c4197e3675ce77d10177a4
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/39430
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com>
Reviewed-by: DHRUVARAJ SUBHASH CHANDRAN <dhruvaraj@in.ibm.com>
Reviewed-by: Thi N. Tran <thi@us.ibm.com>
Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com>
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/39461
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
  • Loading branch information
CHRISTINA L. GRAVES authored and dcrowell77 committed May 31, 2017
1 parent 5d22d6c commit d2cb008
Show file tree
Hide file tree
Showing 10 changed files with 2,389 additions and 1,980 deletions.
343 changes: 202 additions & 141 deletions src/import/chips/p9/procedures/hwp/nest/p9_tod_init.C

Large diffs are not rendered by default.

82 changes: 29 additions & 53 deletions src/import/chips/p9/procedures/hwp/nest/p9_tod_init.H
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
/* Contributors Listed Below - COPYRIGHT 2015,2016 */
/* Contributors Listed Below - COPYRIGHT 2015,2017 */
/* [+] International Business Machines Corp. */
/* */
/* */
Expand All @@ -22,79 +22,55 @@
/* permissions and limitations under the License. */
/* */
/* IBM_PROLOG_END_TAG */
//-----------------------------------------------------------------------------------
//------------------------------------------------------------------------------
//
/// @file p9_tod_init.H
/// @brief Procedures to initialize the TOD to 'running' state
///
// *HWP HWP Owner: Christina Graves clgraves@us.ibm.com
// *HWP FW Owner: Thi Tran thi@us.ibm.com
// *HWP HWP Owner: Nick Klazynski jklazyns@us.ibm.com
// *HWP HWP Owner: Joachim Fenkes fenkes@de.ibm.com
// *HWP FW Owner: Manish Chowdhary manichow@in.ibm.com
// *HWP Team: Nest
// *HWP Level: 2
// *HWP Consumed by: SBE
// ----------------------------------------------------------------------------------
//
// *! ADDITIONAL COMMENTS :
// *!
// *!
// *!
//-----------------------------------------------------------------------------------
// *HWP Level: 3
// *HWP Consumed by: HB
// -----------------------------------------------------------------------------

#ifndef _P9_TOD_INIT_H_
#define _P9_TOD_INIT_H_

//-----------------------------------------------------------------------------------
//------------------------------------------------------------------------------
// Includes
//-----------------------------------------------------------------------------------

//------------------------------------------------------------------------------
#include <fapi2.H>
#include <p9_tod_utils.H>

//-----------------------------------------------------------------------------------
//------------------------------------------------------------------------------
// Structure definitions
//-----------------------------------------------------------------------------------
//------------------------------------------------------------------------------

//function pointer typedef definition for HWP call support
typedef fapi2::ReturnCode
(*p9_tod_init_FP_t) (const tod_topology_node*,
fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>* );

//-----------------------------------------------------------------------------------
// Constant definitions
//-----------------------------------------------------------------------------------

extern "C" {
typedef fapi2::ReturnCode (*p9_tod_init_FP_t) (
const tod_topology_node*,
fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>*);

//-----------------------------------------------------------------------------------
//------------------------------------------------------------------------------
// Function prototype
//-----------------------------------------------------------------------------------

/// @brief Initialized the TOD to 'running' state
/// @param[in] i_tod_node => Pointer to TOD topology (FAPI targets are included in this)
/// @param[in] i_failingTodProc => Pointer to the fapi target, the memory location addressed by this parameter will be populated with processor target which is not able ot receive proper signals from OSC. Caller needs to look at this parameter only when p9_tod_init fail and reason code indicated OSC failure. Defaulted to NULL.
/// @return FAPI_RC_SUCCESS if TOD topology is successfully initialized else FAPI or ECMD error is sent through
fapi2::ReturnCode p9_tod_init(const tod_topology_node* i_tod_node,
fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>* i_failingTodProc = NULL);
//------------------------------------------------------------------------------

/// @brief Clears TOD error register
/// @param[in] i_tod_node => Pointer to TOD topology (FAPI targets included within)
/// @return FAPI_RC_SUCCESS if TOD topology is cleared of previous errors
/// else FAPI or ECMD error is sent through
fapi2::ReturnCode p9_tod_clear_error_reg(const tod_topology_node* i_tod_node);
extern "C" {

/// @brief Helper function for p9_tod_init
/// @param[in] i_tod_node => Pointer to TOD topology (FAPI targets included within)
/// @param[in] i_failingTodProc => Pointer to the fapi target, the memory location
/// addressed by this parameter will be populated with processor target
/// which is not able to recieve proper singals from OSC.
/// Caller needs to look at this parameter only when proc_tod_init fails
/// and reason code indicates OSC failure. It is defaulted to NULL.
/// @return FAPI_RC_SUCCESS if TOD topology is successfully initialized
/// else FAPI or ECMD error is sent through
fapi2::ReturnCode init_tod_node(const tod_topology_node* i_tod_node,
fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>* i_failingTodProc = NULL);
/// @brief Initialized the TOD to 'running' state
/// @param[in] i_tod_node Pointer to TOD topology (including FAPI targets)
/// @param[out] o_failingTodProc Pointer to the fapi target, will be populated
/// with processor target unable to receive proper signals from OSC.
// Caller needs to look at this parameter only when p9_tod_init
/// fails and reason code indicated OSC failure. Defaulted to NULL.
/// @return FAPI_RC_SUCCESS if TOD topology is successfully initialized else
/// error
fapi2::ReturnCode p9_tod_init(
const tod_topology_node* i_tod_node,
fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>* o_failingTodProc = NULL);

} //extern "C"

#endif //_P9_TOD_INIT_H_

0 comments on commit d2cb008

Please sign in to comment.