summaryrefslogtreecommitdiffstats
path: root/src/import/chips/p9/procedures/xml
diff options
context:
space:
mode:
authorJoe McGill <jmcgill@us.ibm.com>2019-05-13 11:08:34 -0400
committerDaniel M Crowell <dcrowell@us.ibm.com>2019-08-06 08:29:28 -0500
commitbd473add80412494c65ac9c0fa51dfc065b43b7a (patch)
tree498daf68552066c2b11ba8cd844c8b7c46044ab4 /src/import/chips/p9/procedures/xml
parent6c712843a11dc5d1972c234a0ab9729fa8b70b31 (diff)
downloadtalos-hostboot-bd473add80412494c65ac9c0fa51dfc065b43b7a.tar.gz
talos-hostboot-bd473add80412494c65ac9c0fa51dfc065b43b7a.zip
p9_fbc_ioo_tdm_recovery -- post spare lane FIR after final FIR clearing, unmask
Existing code contains a hazard for PRD analysis -- as we retrain a cable pair and encounter a lane spare (only on the half-link which is _not_ being serviced), HWP code posts the lane spare into the FIR prior to the final FIR cleanup and unmasking. Depending on its processing speed, PRD can see the FIR cleared before completing its analysis of the spare lane condition. Two major changes are introduced here to avoid this race condition: 1. The initial masking of the DL FIR is extended to cover both half-links, to prevent presentation of any errors which might be posted on the half link which is left running throughout the retraining sequence 2. Writing the DL FIR to indicate a spare lane has been deployed during retraining is delayed until the DL FIR is cleared and its runtime mask settings are restored at the end of the retraining sequence. The spare lane information is maintained in a newly created attribute ATTR_IO_OBUS_LINK_SPARE_MARK. Change-Id: I3da134481d49ccfb486d275120f1c624a4598bcd CQ: SW464245 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/77298 Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com> Tested-by: HWSV CI <hwsv-ci+hostboot@us.ibm.com> Reviewed-by: Jennifer A Stofer <stofer@us.ibm.com> Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/77330 Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Reviewed-by: Daniel M Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/import/chips/p9/procedures/xml')
-rw-r--r--src/import/chips/p9/procedures/xml/attribute_info/p9_io_obus_attributes.xml16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/import/chips/p9/procedures/xml/attribute_info/p9_io_obus_attributes.xml b/src/import/chips/p9/procedures/xml/attribute_info/p9_io_obus_attributes.xml
index fc9efabf5..849270429 100644
--- a/src/import/chips/p9/procedures/xml/attribute_info/p9_io_obus_attributes.xml
+++ b/src/import/chips/p9/procedures/xml/attribute_info/p9_io_obus_attributes.xml
@@ -93,6 +93,22 @@
</attribute>
<!-- ********************************************************************** -->
<attribute>
+ <id>ATTR_IO_OBUS_LINK_SPARE_MARK</id>
+ <targetType>TARGET_TYPE_OBUS</targetType>
+ <description>
+ Used to save indication that a spare lane has been deployed during
+ runtime link recovery retrain sequence. This sparing will be posted
+ into the DL FIR after all other FIR clearing/unmasking has been
+ performed in the link recovery sequence. Index 0 tracks the even half
+ link, index 1 the odd half link.
+ </description>
+ <array>2</array>
+ <valueType>uint8</valueType>
+ <writeable/>
+ <initToZero/>
+</attribute>
+<!-- ********************************************************************** -->
+<attribute>
<id>ATTR_IO_OBUS_LANE_PDWN</id>
<targetType>TARGET_TYPE_OBUS</targetType>
<description>
OpenPOWER on IntegriCloud