aboutsummaryrefslogtreecommitdiff
path: root/hw/npu2-hw-procedures.c
diff options
context:
space:
mode:
authorFrederic Barrat <fbarrat@linux.ibm.com>2019-10-09 21:38:07 +0200
committerOliver O'Halloran <oohall@gmail.com>2019-10-22 17:31:45 +1100
commitdbc70aea3a2eec5d8d3c092c2397b2997e35ba60 (patch)
treeb0121d2d49e3f52eb0abe7db762f8187c27a051f /hw/npu2-hw-procedures.c
parent7989d6edfcbbe9ba061b667f53b82f6860ffff01 (diff)
downloadskiboot-dbc70aea3a2eec5d8d3c092c2397b2997e35ba60.zip
skiboot-dbc70aea3a2eec5d8d3c092c2397b2997e35ba60.tar.gz
skiboot-dbc70aea3a2eec5d8d3c092c2397b2997e35ba60.tar.bz2
npu2-opencapi: Detect PHY reset errors
PHY reset can fail! Though past problems are now fixed, let's handle any future failure. Signed-off-by: Frederic Barrat <fbarrat@linux.ibm.com> Reviewed-by: Christophe Lombard <clombard@linux.vnet.ibm.com> Signed-off-by: Oliver O'Halloran <oohall@gmail.com>
Diffstat (limited to 'hw/npu2-hw-procedures.c')
-rw-r--r--hw/npu2-hw-procedures.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/hw/npu2-hw-procedures.c b/hw/npu2-hw-procedures.c
index ad1627a..8379cbb 100644
--- a/hw/npu2-hw-procedures.c
+++ b/hw/npu2-hw-procedures.c
@@ -1041,10 +1041,17 @@ void npu2_opencapi_phy_init(struct npu2_dev *dev)
}
}
-void npu2_opencapi_phy_reset(struct npu2_dev *dev)
+int npu2_opencapi_phy_reset(struct npu2_dev *dev)
{
- run_procedure(dev, 4); /* procedure_phy_reset */
- run_procedure(dev, 6); /* procedure_phy_rx_dccal */
+ int rc;
+
+ rc = run_procedure(dev, 4); /* procedure_phy_reset */
+ if (rc != PROCEDURE_COMPLETE)
+ return -1;
+ rc = run_procedure(dev, 6); /* procedure_phy_rx_dccal */
+ if (rc != PROCEDURE_COMPLETE)
+ return -1;
+ return 0;
}
void npu2_opencapi_phy_prbs31(struct npu2_dev *dev)