Skip to content

Commit df39972

Browse files
jjmcgilldcrowell77
authored andcommitted
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>
1 parent 4a61930 commit df39972

File tree

3 files changed

+41
-20
lines changed

3 files changed

+41
-20
lines changed

src/import/chips/p9/procedures/hwp/nest/p9_fbc_eff_config_aggregate.C

Lines changed: 25 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
/* */
66
/* OpenPOWER HostBoot Project */
77
/* */
8-
/* Contributors Listed Below - COPYRIGHT 2016 */
8+
/* Contributors Listed Below - COPYRIGHT 2016,2017 */
99
/* [+] International Business Machines Corp. */
1010
/* */
1111
/* */
@@ -29,7 +29,7 @@
2929
/// *HWP HWP Owner: Joe McGill <jmcgill@us.ibm.com>
3030
/// *HWP FW Owner: Thi Tran <thi@us.ibm.com>
3131
/// *HWP Team: Nest
32-
/// *HWP Level: 2
32+
/// *HWP Level: 3
3333
/// *HWP Consumed by: HB,FSP
3434
///
3535

@@ -46,6 +46,7 @@
4646

4747
/// @brief Determine link address/data & aggregation settings
4848
///
49+
/// @param[in] i_target Chip target
4950
/// @param[in] i_max_links Size of input/output arrays
5051
/// @param[in] i_en Set of local link enables (index = local link ID)
5152
/// @param[in] i_loc_fbc_id Local chip fabric ID
@@ -58,6 +59,7 @@
5859
///
5960
/// @return fapi2:ReturnCode. FAPI2_RC_SUCCESS if success, else error code.
6061
fapi2::ReturnCode p9_fbc_eff_config_aggregate_link_setup(
62+
const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target,
6163
const uint8_t i_max_links,
6264
const uint8_t i_en[],
6365
const uint8_t i_loc_fbc_id,
@@ -72,6 +74,7 @@ fapi2::ReturnCode p9_fbc_eff_config_aggregate_link_setup(
7274
// mark number of links targeting each fabric ID
7375
// set output defaults to disable aggregate mode (all links carry coherent traffic)
7476
uint8_t l_fbc_id_active_count[P9_FBC_UTILS_NUM_CHIP_IDS] = { 0 };
77+
uint8_t l_aggregate_rem_fbc_id;
7578

7679
for (uint8_t l_loc_link_id = 0; l_loc_link_id < i_max_links; l_loc_link_id++)
7780
{
@@ -94,9 +97,15 @@ fapi2::ReturnCode p9_fbc_eff_config_aggregate_link_setup(
9497
{
9598
// only one set of aggregate links are supported
9699
FAPI_ASSERT(!o_aggregate_mode,
97-
fapi2::P9_FBC_EFF_CONFIG_AGGREGATE_INVALID_CONFIG_ERR(),
100+
fapi2::P9_FBC_EFF_CONFIG_AGGREGATE_INVALID_CONFIG_ERR().
101+
set_TARGET(i_target).
102+
set_NUM_LINKS(i_max_links).
103+
set_LOCAL_FBC_ID(i_loc_fbc_id).
104+
set_REMOTE_FBC_ID1(l_aggregate_rem_fbc_id).
105+
set_REMOTE_FBC_ID2(l_rem_fbc_id),
98106
"Invalid aggregate link configuration!");
99107
o_aggregate_mode = 1;
108+
l_aggregate_rem_fbc_id = l_rem_fbc_id;
100109

101110
// flip default value for link address disable
102111
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(
134143
// ties must be broken consistenty on both connected chips (i.e., we
135144
// need to pick both ends of the same link to carry coherency
136145
// select link with lowest link ID number on chip with smaller fabric ID
137-
// (chip ID if X links, group ID if A links)
138146
if (l_matches != 1)
139147
{
140148
FAPI_DBG("Breaking tie");
@@ -193,8 +201,7 @@ p9_fbc_eff_config_aggregate(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i
193201
uint8_t l_loc_fbc_chip_id;
194202
uint8_t l_loc_fbc_group_id;
195203

196-
// logical link (X/A) configuration parameters
197-
// arrays indexed by link ID on local end
204+
// logical link (X/A) configuration parameters, arrays indexed by link ID on local end
198205
// enable on local end
199206
uint8_t l_x_en[P9_FBC_UTILS_MAX_X_LINKS];
200207
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
206213
// aggregate (local+remote) delays
207214
uint32_t l_x_agg_link_delay[P9_FBC_UTILS_MAX_X_LINKS];
208215
uint32_t l_a_agg_link_delay[P9_FBC_UTILS_MAX_A_LINKS];
209-
// aggregate model/address disable on local end
216+
// aggregate mode/address disable on local end
210217
uint8_t l_x_addr_dis[P9_FBC_UTILS_MAX_X_LINKS];
211218
uint8_t l_x_aggregate;
212219
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
262269

263270
// calculate aggregate configuration
264271
FAPI_TRY(p9_fbc_eff_config_aggregate_link_setup(
272+
i_target,
265273
P9_FBC_UTILS_MAX_X_LINKS,
266274
l_x_en,
267275
(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
272280
l_x_addr_dis),
273281
"Error from p9_fbc_eff_config_aggregate_link_setup (X)");
274282

275-
FAPI_TRY(p9_fbc_eff_config_aggregate_link_setup(P9_FBC_UTILS_MAX_A_LINKS,
276-
l_a_en,
277-
l_loc_fbc_group_id,
278-
l_a_rem_link_id,
279-
l_a_rem_fbc_group_id,
280-
l_a_agg_link_delay,
281-
l_a_aggregate,
282-
l_a_addr_dis),
283+
FAPI_TRY(p9_fbc_eff_config_aggregate_link_setup(
284+
i_target,
285+
P9_FBC_UTILS_MAX_A_LINKS,
286+
l_a_en,
287+
l_loc_fbc_group_id,
288+
l_a_rem_link_id,
289+
l_a_rem_fbc_group_id,
290+
l_a_agg_link_delay,
291+
l_a_aggregate,
292+
l_a_addr_dis),
283293
"Error from p9_fbc_eff_config_aggregate_link_setup (A)");
284294

285295
// set attributes

src/import/chips/p9/procedures/hwp/nest/p9_fbc_eff_config_aggregate.H

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
/* */
66
/* OpenPOWER HostBoot Project */
77
/* */
8-
/* Contributors Listed Below - COPYRIGHT 2016 */
8+
/* Contributors Listed Below - COPYRIGHT 2016,2017 */
99
/* [+] International Business Machines Corp. */
1010
/* */
1111
/* */
@@ -31,7 +31,7 @@
3131
/// *HWP HWP Owner: Joe McGill <jmcgill@us.ibm.com>
3232
/// *HWP FW Owner: Thi Tran <thi@us.ibm.com>
3333
/// *HWP Team: Nest
34-
/// *HWP Level: 2
34+
/// *HWP Level: 3
3535
/// *HWP Consumed by: HB,FSP
3636
///
3737

@@ -63,7 +63,7 @@ extern "C"
6363
///
6464
/// @brief Set fabric effective configuration attributes
6565
///
66-
/// @param[in] i_target Chip level target
66+
/// @param[in] i_target Chip level target
6767
///
6868
/// @return fapi2:ReturnCode. FAPI2_RC_SUCCESS if success, else error code.
6969
///

src/import/chips/p9/procedures/xml/error_info/p9_fbc_eff_config_aggregate_errors.xml

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<!-- -->
66
<!-- OpenPOWER HostBoot Project -->
77
<!-- -->
8-
<!-- Contributors Listed Below - COPYRIGHT 2016 -->
8+
<!-- Contributors Listed Below - COPYRIGHT 2016,2017 -->
99
<!-- [+] International Business Machines Corp. -->
1010
<!-- -->
1111
<!-- -->
@@ -22,15 +22,26 @@
2222
<!-- permissions and limitations under the License. -->
2323
<!-- -->
2424
<!-- IBM_PROLOG_END_TAG -->
25-
<!-- Error definitions for p9_fbc_eff_config_aggregate -->
2625
<hwpErrors>
2726
<!-- ******************************************************************** -->
2827
<hwpError>
2928
<rc>RC_P9_FBC_EFF_CONFIG_AGGREGATE_INVALID_CONFIG_ERR</rc>
3029
<description>
3130
Procedure: p9_fbc_eff_config_aggregate
3231
Invalid aggregate link conifguration detected
32+
Each chip may have at most:
33+
One aggregate X link destination
34+
One aggregate A link destination
3335
</description>
36+
<ffdc>TARGET</ffdc>
37+
<ffdc>NUM_LINKS</ffdc>
38+
<ffdc>LOCAL_FBC_ID</ffdc>
39+
<ffdc>REMOTE_FBC_ID1</ffdc>
40+
<ffdc>REMOTE_FBC_ID2</ffdc>
41+
<callout>
42+
<procedure>CODE</procedure>
43+
<priority>HIGH</priority>
44+
</callout>
3445
</hwpError>
3546
<!-- ******************************************************************** -->
3647
</hwpErrors>

0 commit comments

Comments
 (0)