diff options
author | Stewart Smith <stewart@linux.vnet.ibm.com> | 2015-12-03 16:20:34 +1100 |
---|---|---|
committer | Stewart Smith <stewart@linux.vnet.ibm.com> | 2015-12-03 16:20:34 +1100 |
commit | 3ee71369bcc9c3b299586acb7f714d83c7447011 (patch) | |
tree | 525448c62cf0cfefbcae712cd1c99e80bc25c4d4 /hw | |
parent | c89400a0538394e87b60f29c3883d826f04ddc84 (diff) | |
parent | d379d6d9f5ece1606d9fc89bbbdb56814d405116 (diff) | |
download | skiboot-3ee71369bcc9c3b299586acb7f714d83c7447011.zip skiboot-3ee71369bcc9c3b299586acb7f714d83c7447011.tar.gz skiboot-3ee71369bcc9c3b299586acb7f714d83c7447011.tar.bz2 |
Merge branch 'stable'
Diffstat (limited to 'hw')
-rw-r--r-- | hw/fsp/fsp.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/hw/fsp/fsp.c b/hw/fsp/fsp.c index b53c3f0..220b97e 100644 --- a/hw/fsp/fsp.c +++ b/hw/fsp/fsp.c @@ -569,6 +569,28 @@ static void fsp_start_rr(struct fsp *fsp) */ } +/* + * Called on normal/quick shutdown to give up the PSI link + */ +void fsp_reset_links(void) +{ + struct fsp *fsp = fsp_get_active(); + struct fsp_iopath *iop; + + if (!fsp) + return; + + /* Already in one of the error states? */ + if (fsp_in_hir(fsp) || fsp_in_reset(fsp)) + return; + + iop = &fsp->iopath[fsp->active_iopath]; + prlog(PR_NOTICE, "FSP #%d: Host initiated shutdown." + " Giving up the PSI link\n", fsp->index); + psi_disable_link(iop->psi); + return; +} + static void fsp_trace_event(struct fsp *fsp, u32 evt, u32 data0, u32 data1, u32 data2, u32 data3) { |