aboutsummaryrefslogtreecommitdiff
path: root/hw/fsp
diff options
context:
space:
mode:
authorVasant Hegde <hegdevasant@linux.vnet.ibm.com>2017-10-10 10:02:28 +0530
committerStewart Smith <stewart@linux.vnet.ibm.com>2017-10-11 19:14:25 +1100
commitad64cfb5ce4acdf1be3b13d8fb97c0262c3a49c5 (patch)
tree734ab045aaae3edbe9099f634bdfcf43eb589348 /hw/fsp
parent64a9157225ded96a16c400cff6a7229c054e8fcc (diff)
downloadskiboot-ad64cfb5ce4acdf1be3b13d8fb97c0262c3a49c5.zip
skiboot-ad64cfb5ce4acdf1be3b13d8fb97c0262c3a49c5.tar.gz
skiboot-ad64cfb5ce4acdf1be3b13d8fb97c0262c3a49c5.tar.bz2
FSP: Disable PSI link whenever FSP tells OPAL about impending R/R
Commit 42d5d047 fixed scenario where DPO has been initiated, but FSP went into reset before the CEC power down came in. But this is generic issue that can happen in normal shutdown path as well. Hence disable PSI link as soon as we detect FSP impending R/R. CC: Ananth N Mavinakayanahalli <ananth@linux.vnet.ibm.com> CC: Stewart Smith <stewart@linux.vnet.ibm.com> Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com> Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com> (cherry picked from commit a4788a49f004a91bb8ca015336abf9ae119fbc52) Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'hw/fsp')
-rw-r--r--hw/fsp/fsp.c25
1 files changed, 8 insertions, 17 deletions
diff --git a/hw/fsp/fsp.c b/hw/fsp/fsp.c
index 2d7a61c..8fa5e9f 100644
--- a/hw/fsp/fsp.c
+++ b/hw/fsp/fsp.c
@@ -720,23 +720,14 @@ static void fsp_handle_errors(struct fsp *fsp)
if (fsp->state == fsp_mbx_rr)
return;
- if (fsp_dpo_pending) {
- /*
- * If we are about to process a reset when DPO
- * is pending, its possible that the host has
- * gone down, and OPAL is on its way down and
- * hence will not see the subsequent PSI interrupt.
- * So, just give up the link here.
- */
- prlog(PR_NOTICE, "FSP #%d: FSP reset with DPO pending."
- " Giving up PSI link\n",
- fsp->index);
- psi_disable_link(psi);
- } else {
- prlog(PR_NOTICE, "FSP #%d: FSP in Reset."
- " Waiting for PSI interrupt\n",
- fsp->index);
- }
+ /*
+ * Its possible that the host has gone down, and OPAL is on
+ * its way down and hence will not see the subsequent PSI
+ * interrupt. So, just give up the link here.
+ */
+ psi_disable_link(psi);
+ prlog(PR_NOTICE, "FSP #%d: FSP in reset."
+ " Giving up PSI link\n", fsp->index);
fsp_start_rr(fsp);
}