[Skiboot] [PATCH] FSP: Disable PSI link whenever FSP tells OPAL about impending R/R
Ananth N Mavinakayanahalli
ananth at linux.vnet.ibm.com
Mon Oct 9 15:45:13 AEDT 2017
On Sat, Oct 07, 2017 at 03:10:32PM +0000, Vasant Hegde wrote:
> 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 at linux.vnet.ibm.com>
> CC: Stewart Smith <stewart at linux.vnet.ibm.com>
> Signed-off-by: Vasant Hegde <hegdevasant at linux.vnet.ibm.com>
> ---
> hw/fsp/fsp.c | 25 ++++++++-----------------
> include/fsp.h | 1 -
> 2 files changed, 8 insertions(+), 18 deletions(-)
>
> diff --git a/hw/fsp/fsp.c b/hw/fsp/fsp.c
> index 4d17397..0d6ea6d 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."
> + " Waiting for PSI interrupt\n", fsp->index);
The comment also needs fixing. If the FSP is already in reset, you may
not get the PSI interrupt.
More information about the Skiboot
mailing list