[Skiboot] [PATCH v2] opal-prd: hservice: Enable hservice->wakeup() in BMC

Vasant Hegde hegdevasant at linux.vnet.ibm.com
Thu Nov 29 20:24:39 AEDT 2018


On 11/13/2018 10:58 AM, Shilpasri G Bhat wrote:
> This patch enables HBRT to use HYP special wakeup register in openBMC
> which until now was only used in FSP based machines.
> 
> This patch also adds a capability check for opal-prd so that HBRT can
> decide if the host special wakeup register can be used.

Patch looks good to me.

As discussed offline please double check whether we have to pass 
"HBRT_CAPS_OPAL_HAS_WAKEUP_CLEAR" as part of get_capability or not.

-Vasant


> 
> Fixes: 49999302251b("opal-prd: Add support for runtime OCC reset in ZZ")
> Signed-off-by: Shilpasri G Bhat <shilpa.bhat at linux.vnet.ibm.com>
> ---
>   external/opal-prd/hostboot-interface.h | 1 +
>   external/opal-prd/opal-prd.c           | 6 ++----
>   2 files changed, 3 insertions(+), 4 deletions(-)
> 
> diff --git a/external/opal-prd/hostboot-interface.h b/external/opal-prd/hostboot-interface.h
> index 41ffcbc..9df6888 100644
> --- a/external/opal-prd/hostboot-interface.h
> +++ b/external/opal-prd/hostboot-interface.h
> @@ -59,6 +59,7 @@ enum MemoryError_t
>    * Previous implementations may have incorrectly ignored failures.
>    */
>   #define HBRT_CAPS_OPAL_HAS_XSCOM_RC   (1ul << 0)
> +#define HBRT_CAPS_OPAL_HAS_WAKEUP_SUPPORT (1ul << 1)
> 
>   /**
>    *  Load types for the load_pm_complex() interface
> diff --git a/external/opal-prd/opal-prd.c b/external/opal-prd/opal-prd.c
> index e3b4439..1452a17 100644
> --- a/external/opal-prd/opal-prd.c
> +++ b/external/opal-prd/opal-prd.c
> @@ -747,7 +747,8 @@ int hservice_memory_error(uint64_t i_start_addr, uint64_t i_endAddr,
>   uint64_t hservice_get_interface_capabilities(uint64_t set)
>   {
>   	if (set == HBRT_CAPS_SET1_OPAL)
> -		return HBRT_CAPS_OPAL_HAS_XSCOM_RC;
> +		return HBRT_CAPS_OPAL_HAS_XSCOM_RC ||
> +			HBRT_CAPS_OPAL_HAS_WAKEUP_SUPPORT;
> 
>   	return 0;
>   }
> @@ -2196,9 +2197,6 @@ static int run_prd_daemon(struct opal_prd_ctx *ctx)
>   		hinterface.pnor_write = NULL;
>   	}
> 
> -	if (!is_fsp_system())
> -		hinterface.wakeup = NULL;
> -
>   	ipmi_init(ctx);
> 
>   	pr_debug("HBRT: calling hservices_init");
> 



More information about the Skiboot mailing list