summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSoma BhanuTej <soma.bhanu@in.ibm.com>2016-09-27 07:49:28 -0400
committerSachin Gupta <sgupta2m@in.ibm.com>2016-09-30 01:29:15 -0400
commitfbf033171a95d93a65254a54b38a0c7f6cc7d848 (patch)
treea997c9ceddbd8e73f20357030a505d03cce0c688
parentab7926f0654a75564a2b850802acbda8bfaa45ac (diff)
downloadtalos-sbe-fbf033171a95d93a65254a54b38a0c7f6cc7d848.tar.gz
talos-sbe-fbf033171a95d93a65254a54b38a0c7f6cc7d848.zip
Fixing collection code of perv targets functional
Change-Id: Ia7928f4fa7ce4d48b9d9853068fe70d3cdaa45dd Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/30344 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: PPE CI <ppe-ci+hostboot@us.ibm.com> Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com> Reviewed-by: SRINIVAS V. POLISETTY <srinivan@in.ibm.com> Reviewed-by: Sunil Kumar <skumar8j@in.ibm.com> Reviewed-by: PARVATHI RACHAKONDA <prachako@in.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/30356 Reviewed-by: Hostboot Team <hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Sachin Gupta <sgupta2m@in.ibm.com>
-rw-r--r--src/import/chips/p9/procedures/hwp/perv/p9_sbe_common.C35
-rw-r--r--src/import/chips/p9/procedures/hwp/perv/p9_sbe_common.H2
-rw-r--r--src/import/chips/p9/procedures/hwp/perv/p9_sbe_nest_startclocks.C21
-rw-r--r--src/import/chips/p9/procedures/hwp/perv/p9_sbe_startclock_chiplets.C16
4 files changed, 19 insertions, 55 deletions
diff --git a/src/import/chips/p9/procedures/hwp/perv/p9_sbe_common.C b/src/import/chips/p9/procedures/hwp/perv/p9_sbe_common.C
index 6941b2f6..1860261f 100644
--- a/src/import/chips/p9/procedures/hwp/perv/p9_sbe_common.C
+++ b/src/import/chips/p9/procedures/hwp/perv/p9_sbe_common.C
@@ -579,44 +579,23 @@ fapi_try_exit:
}
-/// @brief get children for all chiplets : Perv, Nest
+/// @brief get children for all chiplets
///
-/// @param[in] i_target_chip Reference to TARGET_TYPE_PERV target
+/// @param[in] i_target_chip Reference to TARGET_TYPE_PROC_CHIP target
/// @param[out] o_pg_vector vector of targets
/// @return FAPI2_RC_SUCCESS if success, else error code.
fapi2::ReturnCode p9_sbe_common_get_pg_vector(const
- fapi2::Target<fapi2::TARGET_TYPE_PERV>& i_target_chip,
+ fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target_chip,
fapi2::buffer<uint64_t>& o_pg_vector)
{
fapi2::buffer<uint8_t> l_read_attrunitpos;
FAPI_INF("p9_sbe_common_get_pg_vector: Entering ...");
- FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CHIP_UNIT_POS, i_target_chip,
- l_read_attrunitpos));
-
- if ( l_read_attrunitpos == 0x01 )
- {
- o_pg_vector.setBit<0>();
- }
-
- if ( l_read_attrunitpos == 0x02 )
- {
- o_pg_vector.setBit<1>();
- }
-
- if ( l_read_attrunitpos == 0x03 )
- {
- o_pg_vector.setBit<2>();
- }
-
- if ( l_read_attrunitpos == 0x04 )
- {
- o_pg_vector.setBit<3>();
- }
-
- if ( l_read_attrunitpos == 0x05 )
+ for (auto l_target_cplt : i_target_chip.getChildren<fapi2::TARGET_TYPE_PERV> (fapi2::TARGET_STATE_FUNCTIONAL))
{
- o_pg_vector.setBit<4>();
+ FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CHIP_UNIT_POS, l_target_cplt, l_read_attrunitpos));
+ uint8_t bitPos = l_read_attrunitpos;
+ o_pg_vector.setBit(bitPos);
}
FAPI_INF("p9_sbe_common_get_pg_vector: Exiting ...");
diff --git a/src/import/chips/p9/procedures/hwp/perv/p9_sbe_common.H b/src/import/chips/p9/procedures/hwp/perv/p9_sbe_common.H
index 4f6abdde..c9e0e92e 100644
--- a/src/import/chips/p9/procedures/hwp/perv/p9_sbe_common.H
+++ b/src/import/chips/p9/procedures/hwp/perv/p9_sbe_common.H
@@ -78,7 +78,7 @@ fapi2::ReturnCode p9_sbe_common_flushmode(const
fapi2::Target<fapi2::TARGET_TYPE_PERV>& i_target_chiplet);
fapi2::ReturnCode p9_sbe_common_get_pg_vector(const
- fapi2::Target<fapi2::TARGET_TYPE_PERV>& i_target_chip,
+ fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target_chip,
fapi2::buffer<uint64_t>& o_pg_vector);
fapi2::ReturnCode p9_sbe_common_set_scan_ratio(const
diff --git a/src/import/chips/p9/procedures/hwp/perv/p9_sbe_nest_startclocks.C b/src/import/chips/p9/procedures/hwp/perv/p9_sbe_nest_startclocks.C
index 9face087..f3017a1a 100644
--- a/src/import/chips/p9/procedures/hwp/perv/p9_sbe_nest_startclocks.C
+++ b/src/import/chips/p9/procedures/hwp/perv/p9_sbe_nest_startclocks.C
@@ -90,24 +90,17 @@ fapi2::ReturnCode p9_sbe_nest_startclocks(const
FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_CHIP_EC_FEATURE_N3_FLUSH_MODE, i_target_chip,
l_read_flush_attr));
- for (auto l_target_cplt : i_target_chip.getChildren<fapi2::TARGET_TYPE_PERV>
- (static_cast<fapi2::TargetFilter>(fapi2::TARGET_FILTER_ALL_NEST |
- fapi2::TARGET_FILTER_TP), fapi2::TARGET_STATE_FUNCTIONAL))
- {
- FAPI_TRY(p9_sbe_common_get_pg_vector(l_target_cplt, l_pg_vector));
- FAPI_DBG("pg targets vector: %#018lX", l_pg_vector);
- }
+ FAPI_TRY(p9_sbe_common_get_pg_vector(i_target_chip, l_pg_vector));
+ FAPI_DBG("pg targets vector: %#018lX", l_pg_vector);
for (auto l_target_cplt : i_target_chip.getChildren<fapi2::TARGET_TYPE_PERV>
(fapi2::TARGET_FILTER_NEST_WEST, fapi2::TARGET_STATE_FUNCTIONAL))
{
FAPI_TRY(p9_perv_sbe_cmn_regions_setup_64(l_target_cplt,
REGIONS_ALL_EXCEPT_VITAL_NESTPLL, l_n3_clock_regions));
- FAPI_DBG("pg targets vector: %#018lX", l_pg_vector);
FAPI_TRY(p9_perv_sbe_cmn_regions_setup_16(l_target_cplt,
REGIONS_ALL_EXCEPT_VITAL_NESTPLL, l_n3_ccstatus_regions));
- FAPI_DBG("pg targets vector: %#018lX", l_pg_vector);
}
FAPI_INF("Reading ATTR_MC_SYNC_MODE");
@@ -197,7 +190,6 @@ fapi2::ReturnCode p9_sbe_nest_startclocks(const
{
FAPI_TRY(p9_sbe_common_clock_start_stop(l_target_cplt, CLOCK_CMD,
DONT_STARTSLAVE, STARTMASTER, l_n3_clock_regions, CLOCK_TYPES));
- FAPI_DBG("pg targets vector: %#018lX", l_pg_vector);
}
for (auto l_trgt_chplt : i_target_chip.getChildren<fapi2::TARGET_TYPE_PERV>
@@ -220,7 +212,6 @@ fapi2::ReturnCode p9_sbe_nest_startclocks(const
FAPI_DBG("Call clockstatus check function for N3");
FAPI_TRY(p9_sbe_common_check_cc_status_function(l_target_cplt, CLOCK_CMD,
l_n3_ccstatus_regions, CLOCK_TYPES));
- FAPI_DBG("pg targets vector: %#018lX", l_pg_vector);
}
if ( l_read_attr )
@@ -276,7 +267,7 @@ static fapi2::ReturnCode p9_sbe_nest_startclocks_N3_fence_drop(
fapi2::buffer<uint64_t> l_data64;
FAPI_INF("p9_sbe_nest_startclocks_N3_fence_drop: Entering ...");
- if ( i_pg_vector.getBit<0>() == 1 )
+ if ( i_pg_vector.getBit<1>() == 1 )
{
FAPI_DBG("Drop chiplet fence");
//Setting NET_CTRL0 register value
@@ -330,7 +321,7 @@ static fapi2::ReturnCode p9_sbe_nest_startclocks_mc_fence_drop(
if ( l_read_attrunitpos == 0x07 )
{
- if ( i_pg_vector.getBit<4>() == 1 )
+ if ( i_pg_vector.getBit<5>() == 1 )
{
FAPI_DBG("Drop chiplet fence");
//Setting NET_CTRL0 register value
@@ -342,7 +333,7 @@ static fapi2::ReturnCode p9_sbe_nest_startclocks_mc_fence_drop(
if ( l_read_attrunitpos == 0x08 )
{
- if ( i_pg_vector.getBit<2>() == 1 )
+ if ( i_pg_vector.getBit<3>() == 1 )
{
FAPI_DBG("Drop chiplet fence");
//Setting NET_CTRL0 register value
@@ -371,7 +362,7 @@ static fapi2::ReturnCode p9_sbe_nest_startclocks_nest_fence_drop(
fapi2::buffer<uint64_t> l_data64;
FAPI_INF("p9_sbe_nest_startclocks_nest_fence_drop: Entering ...");
- if ( i_pg_vector.getBit<4>() == 1 )
+ if ( i_pg_vector.getBit<5>() == 1 )
{
FAPI_DBG("Drop chiplet fence");
//Setting NET_CTRL0 register value
diff --git a/src/import/chips/p9/procedures/hwp/perv/p9_sbe_startclock_chiplets.C b/src/import/chips/p9/procedures/hwp/perv/p9_sbe_startclock_chiplets.C
index 36978a77..3d70b1d2 100644
--- a/src/import/chips/p9/procedures/hwp/perv/p9_sbe_startclock_chiplets.C
+++ b/src/import/chips/p9/procedures/hwp/perv/p9_sbe_startclock_chiplets.C
@@ -98,14 +98,8 @@ fapi2::ReturnCode p9_sbe_startclock_chiplets(const
l_attr_obus_ratio));
}
- for (auto l_target_cplt :
- i_target_chip.getChildren<fapi2::TARGET_TYPE_PERV>
- (static_cast<fapi2::TargetFilter>(fapi2::TARGET_FILTER_ALL_NEST |
- fapi2::TARGET_FILTER_TP), fapi2::TARGET_STATE_FUNCTIONAL))
- {
- FAPI_TRY(p9_sbe_common_get_pg_vector(l_target_cplt, l_pg_vector));
- FAPI_DBG("partial good targets vector: %#018lX", l_pg_vector);
- }
+ FAPI_TRY(p9_sbe_common_get_pg_vector(i_target_chip, l_pg_vector));
+ FAPI_DBG("partial good targets vector: %#018lX", l_pg_vector);
for (auto l_trgt_chplt : i_target_chip.getChildren<fapi2::TARGET_TYPE_PERV>
(static_cast<fapi2::TargetFilter>(fapi2::TARGET_FILTER_ALL_OBUS |
@@ -205,7 +199,7 @@ static fapi2::ReturnCode p9_sbe_startclock_chiplets_ob_fence_drop(
FAPI_INF("Drop chiplet fence");
//Setting NET_CTRL0 register value
- if (i_pg_vector.getBit<2>() == 1)
+ if (i_pg_vector.getBit<3>() == 1)
{
l_data64.flush<1>();
//NET_CTRL0.FENCE_EN = (i_pg_vector.getBit<2>() == 1) ? 0
@@ -235,7 +229,7 @@ static fapi2::ReturnCode p9_sbe_startclock_chiplets_pci_fence_drop(
FAPI_INF("Drop chiplet fence");
//Setting NET_CTRL0 register value
- if (i_pg_vector.getBit<3>() == 1)
+ if (i_pg_vector.getBit<4>() == 1)
{
l_data64.flush<1>();
//NET_CTRL0.FENCE_EN = (i_pg_vector.getBit<3>() == 1) ? 0
@@ -311,7 +305,7 @@ static fapi2::ReturnCode p9_sbe_startclock_chiplets_xb_fence_drop(
FAPI_INF("Drop chiplet fence");
//Setting NET_CTRL0 register value
- if (i_pg_vector.getBit<1>() == 1)
+ if (i_pg_vector.getBit<2>() == 1)
{
l_data64.flush<1>();
//NET_CTRL0.FENCE_EN = (i_pg_vector.getBit<1>() == 1) ? 0
OpenPOWER on IntegriCloud