diff mbox series

lib: sbi: Update system suspend to spec

Message ID 20230720154836.110674-2-ajones@ventanamicro.com
State Accepted
Headers show
Series lib: sbi: Update system suspend to spec | expand

Commit Message

Andrew Jones July 20, 2023, 3:48 p.m. UTC
commit 68e66106120f ("SUSP: Add SBI_ERR_DENIED") of the SBI spec adds
a new error code, SBI_ERR_DENIED, which is returned when entry criteria
has not be meant. Update the system suspend implementation to return
this error when it has detected that not all harts are in the STOPPED
state.

Signed-off-by: Andrew Jones <ajones@ventanamicro.com>
---
 lib/sbi/sbi_system.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Anup Patel July 31, 2023, 8:33 a.m. UTC | #1
On Thu, Jul 20, 2023 at 9:18 PM Andrew Jones <ajones@ventanamicro.com> wrote:
>
> commit 68e66106120f ("SUSP: Add SBI_ERR_DENIED") of the SBI spec adds
> a new error code, SBI_ERR_DENIED, which is returned when entry criteria
> has not be meant. Update the system suspend implementation to return
> this error when it has detected that not all harts are in the STOPPED
> state.
>
> Signed-off-by: Andrew Jones <ajones@ventanamicro.com>

Looks good to me.

Reviewed-by: Anup Patel <anup@brainfault.org>

Applied this patch to the riscv/opensbi repo.

Thanks,
Anup


> ---
>  lib/sbi/sbi_system.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/lib/sbi/sbi_system.c b/lib/sbi/sbi_system.c
> index d803ffa84189..2e917c9e9130 100644
> --- a/lib/sbi/sbi_system.c
> +++ b/lib/sbi/sbi_system.c
> @@ -174,7 +174,7 @@ int sbi_system_suspend(u32 sleep_type, ulong resume_addr, ulong opaque)
>                 if (i == hartid)
>                         continue;
>                 if (__sbi_hsm_hart_get_state(i) != SBI_HSM_STATE_STOPPED)
> -                       return SBI_EFAIL;
> +                       return SBI_ERR_DENIED;
>         }
>
>         if (!sbi_domain_check_addr(dom, resume_addr, prev_mode,
> --
> 2.41.0
>
diff mbox series

Patch

diff --git a/lib/sbi/sbi_system.c b/lib/sbi/sbi_system.c
index d803ffa84189..2e917c9e9130 100644
--- a/lib/sbi/sbi_system.c
+++ b/lib/sbi/sbi_system.c
@@ -174,7 +174,7 @@  int sbi_system_suspend(u32 sleep_type, ulong resume_addr, ulong opaque)
 		if (i == hartid)
 			continue;
 		if (__sbi_hsm_hart_get_state(i) != SBI_HSM_STATE_STOPPED)
-			return SBI_EFAIL;
+			return SBI_ERR_DENIED;
 	}
 
 	if (!sbi_domain_check_addr(dom, resume_addr, prev_mode,