diff options
author | Joe McGill <jmcgill@us.ibm.com> | 2018-09-25 16:14:32 -0500 |
---|---|---|
committer | Christian R. Geddes <crgeddes@us.ibm.com> | 2018-10-16 10:03:07 -0500 |
commit | c4f8127226852b566f1fdce4cd791d1616865c83 (patch) | |
tree | 58be09151379e9a0d6d46c2f204905d7ef6448e4 /src/import/chips/p9/procedures/hwp | |
parent | 0e93132bcb6118834d57604b94d9c28d0c2a8247 (diff) | |
download | talos-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.C | 41 |
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); } } |