summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJoe McGill <jmcgill@us.ibm.com>2017-05-09 11:55:37 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2017-05-22 23:40:16 -0400
commitdf39972b03daae39beaf59c80fedde34cc001066 (patch)
tree63df3d9394a3dc695e4d8dd3cf8e2eb5b0218662 /src
parent4a6193082da098f66be1b27ecb1df874792c2e0c (diff)
downloadtalos-hostboot-df39972b03daae39beaf59c80fedde34cc001066.tar.gz
talos-hostboot-df39972b03daae39beaf59c80fedde34cc001066.zip
L3 update -- p9_fbc_eff_config_aggregate
update comments, add FFDC update error description, add callout Change-Id: I68f7555f45a6dd5de5adaea6dd13bf76c36eb6ea Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/40285 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Thi N. Tran <thi@us.ibm.com> Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com> Reviewed-by: DHRUVARAJ SUBHASH CHANDRAN <dhruvaraj@in.ibm.com> Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/40288 Reviewed-by: Hostboot Team <hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src')
-rw-r--r--src/import/chips/p9/procedures/hwp/nest/p9_fbc_eff_config_aggregate.C40
-rw-r--r--src/import/chips/p9/procedures/hwp/nest/p9_fbc_eff_config_aggregate.H6
-rw-r--r--src/import/chips/p9/procedures/xml/error_info/p9_fbc_eff_config_aggregate_errors.xml15
3 files changed, 41 insertions, 20 deletions
diff --git a/src/import/chips/p9/procedures/hwp/nest/p9_fbc_eff_config_aggregate.C b/src/import/chips/p9/procedures/hwp/nest/p9_fbc_eff_config_aggregate.C
index 24f1d2853..30b9efd09 100644
--- a/src/import/chips/p9/procedures/hwp/nest/p9_fbc_eff_config_aggregate.C
+++ b/src/import/chips/p9/procedures/hwp/nest/p9_fbc_eff_config_aggregate.C
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2016 */
+/* Contributors Listed Below - COPYRIGHT 2016,2017 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -29,7 +29,7 @@
/// *HWP HWP Owner: Joe McGill <jmcgill@us.ibm.com>
/// *HWP FW Owner: Thi Tran <thi@us.ibm.com>
/// *HWP Team: Nest
-/// *HWP Level: 2
+/// *HWP Level: 3
/// *HWP Consumed by: HB,FSP
///
@@ -46,6 +46,7 @@
/// @brief Determine link address/data & aggregation settings
///
+/// @param[in] i_target Chip target
/// @param[in] i_max_links Size of input/output arrays
/// @param[in] i_en Set of local link enables (index = local link ID)
/// @param[in] i_loc_fbc_id Local chip fabric ID
@@ -58,6 +59,7 @@
///
/// @return fapi2:ReturnCode. FAPI2_RC_SUCCESS if success, else error code.
fapi2::ReturnCode p9_fbc_eff_config_aggregate_link_setup(
+ const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target,
const uint8_t i_max_links,
const uint8_t i_en[],
const uint8_t i_loc_fbc_id,
@@ -72,6 +74,7 @@ fapi2::ReturnCode p9_fbc_eff_config_aggregate_link_setup(
// mark number of links targeting each fabric ID
// set output defaults to disable aggregate mode (all links carry coherent traffic)
uint8_t l_fbc_id_active_count[P9_FBC_UTILS_NUM_CHIP_IDS] = { 0 };
+ uint8_t l_aggregate_rem_fbc_id;
for (uint8_t l_loc_link_id = 0; l_loc_link_id < i_max_links; l_loc_link_id++)
{
@@ -94,9 +97,15 @@ fapi2::ReturnCode p9_fbc_eff_config_aggregate_link_setup(
{
// only one set of aggregate links are supported
FAPI_ASSERT(!o_aggregate_mode,
- fapi2::P9_FBC_EFF_CONFIG_AGGREGATE_INVALID_CONFIG_ERR(),
+ fapi2::P9_FBC_EFF_CONFIG_AGGREGATE_INVALID_CONFIG_ERR().
+ set_TARGET(i_target).
+ set_NUM_LINKS(i_max_links).
+ set_LOCAL_FBC_ID(i_loc_fbc_id).
+ set_REMOTE_FBC_ID1(l_aggregate_rem_fbc_id).
+ set_REMOTE_FBC_ID2(l_rem_fbc_id),
"Invalid aggregate link configuration!");
o_aggregate_mode = 1;
+ l_aggregate_rem_fbc_id = l_rem_fbc_id;
// flip default value for link address disable
for (uint8_t l_loc_link_id = 0; l_loc_link_id < i_max_links; l_loc_link_id++)
@@ -134,7 +143,6 @@ fapi2::ReturnCode p9_fbc_eff_config_aggregate_link_setup(
// ties must be broken consistenty on both connected chips (i.e., we
// need to pick both ends of the same link to carry coherency
// select link with lowest link ID number on chip with smaller fabric ID
- // (chip ID if X links, group ID if A links)
if (l_matches != 1)
{
FAPI_DBG("Breaking tie");
@@ -193,8 +201,7 @@ p9_fbc_eff_config_aggregate(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i
uint8_t l_loc_fbc_chip_id;
uint8_t l_loc_fbc_group_id;
- // logical link (X/A) configuration parameters
- // arrays indexed by link ID on local end
+ // logical link (X/A) configuration parameters, arrays indexed by link ID on local end
// enable on local end
uint8_t l_x_en[P9_FBC_UTILS_MAX_X_LINKS];
uint8_t l_a_en[P9_FBC_UTILS_MAX_A_LINKS];
@@ -206,7 +213,7 @@ p9_fbc_eff_config_aggregate(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i
// aggregate (local+remote) delays
uint32_t l_x_agg_link_delay[P9_FBC_UTILS_MAX_X_LINKS];
uint32_t l_a_agg_link_delay[P9_FBC_UTILS_MAX_A_LINKS];
- // aggregate model/address disable on local end
+ // aggregate mode/address disable on local end
uint8_t l_x_addr_dis[P9_FBC_UTILS_MAX_X_LINKS];
uint8_t l_x_aggregate;
uint8_t l_a_addr_dis[P9_FBC_UTILS_MAX_A_LINKS];
@@ -262,6 +269,7 @@ p9_fbc_eff_config_aggregate(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i
// calculate aggregate configuration
FAPI_TRY(p9_fbc_eff_config_aggregate_link_setup(
+ i_target,
P9_FBC_UTILS_MAX_X_LINKS,
l_x_en,
(l_pump_mode == fapi2::ENUM_ATTR_PROC_FABRIC_PUMP_MODE_CHIP_IS_NODE) ? (l_loc_fbc_chip_id) : (l_loc_fbc_group_id),
@@ -272,14 +280,16 @@ p9_fbc_eff_config_aggregate(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i
l_x_addr_dis),
"Error from p9_fbc_eff_config_aggregate_link_setup (X)");
- FAPI_TRY(p9_fbc_eff_config_aggregate_link_setup(P9_FBC_UTILS_MAX_A_LINKS,
- l_a_en,
- l_loc_fbc_group_id,
- l_a_rem_link_id,
- l_a_rem_fbc_group_id,
- l_a_agg_link_delay,
- l_a_aggregate,
- l_a_addr_dis),
+ FAPI_TRY(p9_fbc_eff_config_aggregate_link_setup(
+ i_target,
+ P9_FBC_UTILS_MAX_A_LINKS,
+ l_a_en,
+ l_loc_fbc_group_id,
+ l_a_rem_link_id,
+ l_a_rem_fbc_group_id,
+ l_a_agg_link_delay,
+ l_a_aggregate,
+ l_a_addr_dis),
"Error from p9_fbc_eff_config_aggregate_link_setup (A)");
// set attributes
diff --git a/src/import/chips/p9/procedures/hwp/nest/p9_fbc_eff_config_aggregate.H b/src/import/chips/p9/procedures/hwp/nest/p9_fbc_eff_config_aggregate.H
index 2498d1e28..6eaa159f9 100644
--- a/src/import/chips/p9/procedures/hwp/nest/p9_fbc_eff_config_aggregate.H
+++ b/src/import/chips/p9/procedures/hwp/nest/p9_fbc_eff_config_aggregate.H
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2016 */
+/* Contributors Listed Below - COPYRIGHT 2016,2017 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -31,7 +31,7 @@
/// *HWP HWP Owner: Joe McGill <jmcgill@us.ibm.com>
/// *HWP FW Owner: Thi Tran <thi@us.ibm.com>
/// *HWP Team: Nest
-/// *HWP Level: 2
+/// *HWP Level: 3
/// *HWP Consumed by: HB,FSP
///
@@ -63,7 +63,7 @@ extern "C"
///
/// @brief Set fabric effective configuration attributes
///
-/// @param[in] i_target Chip level target
+/// @param[in] i_target Chip level target
///
/// @return fapi2:ReturnCode. FAPI2_RC_SUCCESS if success, else error code.
///
diff --git a/src/import/chips/p9/procedures/xml/error_info/p9_fbc_eff_config_aggregate_errors.xml b/src/import/chips/p9/procedures/xml/error_info/p9_fbc_eff_config_aggregate_errors.xml
index ecab2cd59..c5787ce17 100644
--- a/src/import/chips/p9/procedures/xml/error_info/p9_fbc_eff_config_aggregate_errors.xml
+++ b/src/import/chips/p9/procedures/xml/error_info/p9_fbc_eff_config_aggregate_errors.xml
@@ -5,7 +5,7 @@
<!-- -->
<!-- OpenPOWER HostBoot Project -->
<!-- -->
-<!-- Contributors Listed Below - COPYRIGHT 2016 -->
+<!-- Contributors Listed Below - COPYRIGHT 2016,2017 -->
<!-- [+] International Business Machines Corp. -->
<!-- -->
<!-- -->
@@ -22,7 +22,6 @@
<!-- permissions and limitations under the License. -->
<!-- -->
<!-- IBM_PROLOG_END_TAG -->
-<!-- Error definitions for p9_fbc_eff_config_aggregate -->
<hwpErrors>
<!-- ******************************************************************** -->
<hwpError>
@@ -30,7 +29,19 @@
<description>
Procedure: p9_fbc_eff_config_aggregate
Invalid aggregate link conifguration detected
+ Each chip may have at most:
+ One aggregate X link destination
+ One aggregate A link destination
</description>
+ <ffdc>TARGET</ffdc>
+ <ffdc>NUM_LINKS</ffdc>
+ <ffdc>LOCAL_FBC_ID</ffdc>
+ <ffdc>REMOTE_FBC_ID1</ffdc>
+ <ffdc>REMOTE_FBC_ID2</ffdc>
+ <callout>
+ <procedure>CODE</procedure>
+ <priority>HIGH</priority>
+ </callout>
</hwpError>
<!-- ******************************************************************** -->
</hwpErrors>
OpenPOWER on IntegriCloud