[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