summaryrefslogtreecommitdiffstats
path: root/src/import/chips/p9/procedures/hwp
diff options
context:
space:
mode:
authorJoe McGill <jmcgill@us.ibm.com>2018-09-25 16:14:32 -0500
committerChristian R. Geddes <crgeddes@us.ibm.com>2018-10-16 10:03:07 -0500
commitc4f8127226852b566f1fdce4cd791d1616865c83 (patch)
tree58be09151379e9a0d6d46c2f204905d7ef6448e4 /src/import/chips/p9/procedures/hwp
parent0e93132bcb6118834d57604b94d9c28d0c2a8247 (diff)
downloadtalos-hostboot-c4f8127226852b566f1fdce4cd791d1616865c83.tar.gz
talos-hostboot-c4f8127226852b566f1fdce4cd791d1616865c83.zip
FBC TDM recovery -- PPE update, clear recal_abort, pdwn unconnected lanes
Change-Id: I71e52c1dd55a979a65cf249a85774dc4b5379869 CQ: SW446338 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/66629 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: HWSV CI <hwsv-ci+hostboot@us.ibm.com> Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com> Reviewed-by: Christopher W. Steffen <cwsteffen@us.ibm.com> Reviewed-by: Thi N. Tran <thi@us.ibm.com> Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com> Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/66633 Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Christian R. Geddes <crgeddes@us.ibm.com>
Diffstat (limited to 'src/import/chips/p9/procedures/hwp')
-rw-r--r--src/import/chips/p9/procedures/hwp/io/p9_io_obus_linktrain.C41
1 files changed, 14 insertions, 27 deletions
diff --git a/src/import/chips/p9/procedures/hwp/io/p9_io_obus_linktrain.C b/src/import/chips/p9/procedures/hwp/io/p9_io_obus_linktrain.C
index 14d9f82ce..9431835f3 100644
--- a/src/import/chips/p9/procedures/hwp/io/p9_io_obus_linktrain.C
+++ b/src/import/chips/p9/procedures/hwp/io/p9_io_obus_linktrain.C
@@ -234,16 +234,6 @@ pdwn_bad_lane(
FAPI_DBG("Start, lane=%d", i_lane);
- // skip if already powered down
- FAPI_TRY(io::read(OPT_RX_LANE_ANA_PDWN, i_tgt, i_group, i_lane, l_data),
- "Error reading OPT_RX_LANE_ANA_PDWN");
-
- if (io::get(OPT_RX_LANE_ANA_PDWN, l_data) == 1)
- {
- FAPI_DBG("Skipping this lane, already powered down");
- goto fapi_try_exit;
- }
-
FAPI_DBG("Marking powerdown");
FAPI_TRY(FAPI_ATTR_GET(fapi2::ATTR_IO_OBUS_LANE_PDWN,
i_tgt,
@@ -623,25 +613,22 @@ fapi2::ReturnCode p9_io_obus_linktrain(const OBUS_TGT& i_tgt)
// at IPL time, power down any unneeded lanes (not physically connected or
// unused half-link)
- if (!l_train_for_recovery)
+ for (uint8_t ii = 0; ii < MAX_LANES; ii++)
{
- for (uint8_t ii = 0; ii < MAX_LANES; ii++)
+ if (((ii >= ((MAX_LANES / 2) - 1)) && (ii <= (MAX_LANES / 2))) || // unused lanes, always pdwn
+ (!l_train_for_recovery && !l_even && (ii < ((MAX_LANES / 2) - 1))) || // even link is unused
+ (!l_train_for_recovery && !l_odd && (ii >= ((MAX_LANES / 2) + 1)))) // odd link is unused
{
- if (((ii >= ((MAX_LANES / 2) - 1)) && (ii <= (MAX_LANES / 2))) || // unused lanes, always pdwn
- (!l_even && (ii < ((MAX_LANES / 2) - 1))) || // even link is unused
- (!l_odd && (ii >= ((MAX_LANES / 2) + 1)))) // odd link is unused
- {
- FAPI_TRY(pdwn_bad_lane(i_tgt,
- GRP0,
- ii),
- "Error from pdwn_bad_lane, even, local end, lane: %d",
- ii);
- FAPI_TRY(pdwn_bad_lane(l_rem_tgt,
- GRP0,
- ii),
- "Error from pdwn_bad_lane, even, remote end, lane: %d",
- ii);
- }
+ FAPI_TRY(pdwn_bad_lane(i_tgt,
+ GRP0,
+ ii),
+ "Error from pdwn_bad_lane, even, local end, lane: %d",
+ ii);
+ FAPI_TRY(pdwn_bad_lane(l_rem_tgt,
+ GRP0,
+ ii),
+ "Error from pdwn_bad_lane, even, remote end, lane: %d",
+ ii);
}
}
OpenPOWER on IntegriCloud