linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] riscv: hibernation: Remove duplicate call of suspend_restore_csrs
@ 2023-05-19 10:29 Song Shuai
  2023-05-19 11:14 ` JeeHeng Sia
  2023-06-20  1:00 ` patchwork-bot+linux-riscv
  0 siblings, 2 replies; 7+ messages in thread
From: Song Shuai @ 2023-05-19 10:29 UTC (permalink / raw)
  To: paul.walmsley, palmer, aou, suagrfillet, mason.huo, leyfoon.tan,
	ajones, jeeheng.sia
  Cc: linux-riscv, linux-kernel, Song Shuai

The suspend_restore_csrs is called in both __hibernate_cpu_resume
and the `else` of subsequent swsusp_arch_suspend.

Removing the first call makes both suspend_{save,restore}_csrs
left in swsusp_arch_suspend for clean code.

Signed-off-by: Song Shuai <suagrfillet@gmail.com>
Signed-off-by: Song Shuai <songshuaishuai@tinylab.org>
---
 arch/riscv/kernel/hibernate-asm.S | 1 -
 1 file changed, 1 deletion(-)

diff --git a/arch/riscv/kernel/hibernate-asm.S b/arch/riscv/kernel/hibernate-asm.S
index 5c76671c7e15..d698dd7df637 100644
--- a/arch/riscv/kernel/hibernate-asm.S
+++ b/arch/riscv/kernel/hibernate-asm.S
@@ -28,7 +28,6 @@ ENTRY(__hibernate_cpu_resume)
 
 	REG_L	a0, hibernate_cpu_context
 
-	suspend_restore_csrs
 	suspend_restore_regs
 
 	/* Return zero value. */
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* RE: [PATCH] riscv: hibernation: Remove duplicate call of suspend_restore_csrs
  2023-05-19 10:29 [PATCH] riscv: hibernation: Remove duplicate call of suspend_restore_csrs Song Shuai
@ 2023-05-19 11:14 ` JeeHeng Sia
  2023-05-19 11:28   ` Conor Dooley
  2023-06-20  1:00 ` patchwork-bot+linux-riscv
  1 sibling, 1 reply; 7+ messages in thread
From: JeeHeng Sia @ 2023-05-19 11:14 UTC (permalink / raw)
  To: Song Shuai, paul.walmsley, palmer, aou, Mason Huo, Leyfoon Tan, ajones
  Cc: linux-riscv, linux-kernel, Song Shuai

looks good to me.

Thanks
Regards
Jee Heng

> -----Original Message-----
> From: Song Shuai <suagrfillet@gmail.com>
> Sent: Friday, May 19, 2023 6:29 PM
> To: paul.walmsley@sifive.com; palmer@dabbelt.com; aou@eecs.berkeley.edu; suagrfillet@gmail.com; Mason Huo
> <mason.huo@starfivetech.com>; Leyfoon Tan <leyfoon.tan@starfivetech.com>; ajones@ventanamicro.com; JeeHeng Sia
> <jeeheng.sia@starfivetech.com>
> Cc: linux-riscv@lists.infradead.org; linux-kernel@vger.kernel.org; Song Shuai <songshuaishuai@tinylab.org>
> Subject: [PATCH] riscv: hibernation: Remove duplicate call of suspend_restore_csrs
> 
> The suspend_restore_csrs is called in both __hibernate_cpu_resume
> and the `else` of subsequent swsusp_arch_suspend.
> 
> Removing the first call makes both suspend_{save,restore}_csrs
> left in swsusp_arch_suspend for clean code.
> 
> Signed-off-by: Song Shuai <suagrfillet@gmail.com>
> Signed-off-by: Song Shuai <songshuaishuai@tinylab.org>
> ---
>  arch/riscv/kernel/hibernate-asm.S | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/arch/riscv/kernel/hibernate-asm.S b/arch/riscv/kernel/hibernate-asm.S
> index 5c76671c7e15..d698dd7df637 100644
> --- a/arch/riscv/kernel/hibernate-asm.S
> +++ b/arch/riscv/kernel/hibernate-asm.S
> @@ -28,7 +28,6 @@ ENTRY(__hibernate_cpu_resume)
> 
>  	REG_L	a0, hibernate_cpu_context
> 
> -	suspend_restore_csrs
>  	suspend_restore_regs
Good catch. This function is invoked twice to restore the CSRs. I am good with removing this function from here.
> 
>  	/* Return zero value. */
> --
> 2.20.1


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] riscv: hibernation: Remove duplicate call of suspend_restore_csrs
  2023-05-19 11:14 ` JeeHeng Sia
@ 2023-05-19 11:28   ` Conor Dooley
  2023-05-19 20:07     ` Conor Dooley
  0 siblings, 1 reply; 7+ messages in thread
From: Conor Dooley @ 2023-05-19 11:28 UTC (permalink / raw)
  To: JeeHeng Sia
  Cc: Song Shuai, paul.walmsley, palmer, aou, Mason Huo, Leyfoon Tan,
	ajones, linux-riscv, linux-kernel, Song Shuai

[-- Attachment #1: Type: text/plain, Size: 1343 bytes --]

Hey,

On Fri, May 19, 2023 at 11:14:27AM +0000, JeeHeng Sia wrote:

> > The suspend_restore_csrs is called in both __hibernate_cpu_resume
> > and the `else` of subsequent swsusp_arch_suspend.
> > 
> > Removing the first call makes both suspend_{save,restore}_csrs
> > left in swsusp_arch_suspend for clean code.
> > 
> > Signed-off-by: Song Shuai <suagrfillet@gmail.com>
> > Signed-off-by: Song Shuai <songshuaishuai@tinylab.org>

BTW, why the two email addresses? The tinylab one here seems entirely
redundant - unless it is your employer, in which case should it be the
only SoB address & also in the author field?

Also, Fixes tag?

> > ---
> >  arch/riscv/kernel/hibernate-asm.S | 1 -
> >  1 file changed, 1 deletion(-)
> > 
> > diff --git a/arch/riscv/kernel/hibernate-asm.S b/arch/riscv/kernel/hibernate-asm.S
> > index 5c76671c7e15..d698dd7df637 100644
> > --- a/arch/riscv/kernel/hibernate-asm.S
> > +++ b/arch/riscv/kernel/hibernate-asm.S
> > @@ -28,7 +28,6 @@ ENTRY(__hibernate_cpu_resume)
> > 
> >  	REG_L	a0, hibernate_cpu_context
> > 
> > -	suspend_restore_csrs
> >  	suspend_restore_regs

> Good catch. This function is invoked twice to restore the CSRs.
> I am good with removing this function from here.

If that's a review, then please either give an R-b or A-b tag :)

Thanks,
Conor.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] riscv: hibernation: Remove duplicate call of suspend_restore_csrs
  2023-05-19 11:28   ` Conor Dooley
@ 2023-05-19 20:07     ` Conor Dooley
  2023-05-22  1:11       ` JeeHeng Sia
  2023-05-22  2:44       ` Song Shuai
  0 siblings, 2 replies; 7+ messages in thread
From: Conor Dooley @ 2023-05-19 20:07 UTC (permalink / raw)
  To: Conor Dooley
  Cc: JeeHeng Sia, Song Shuai, paul.walmsley, palmer, aou, Mason Huo,
	Leyfoon Tan, ajones, linux-riscv, linux-kernel, Song Shuai

[-- Attachment #1: Type: text/plain, Size: 1845 bytes --]

On Fri, May 19, 2023 at 12:28:07PM +0100, Conor Dooley wrote:
> Hey,
> 
> On Fri, May 19, 2023 at 11:14:27AM +0000, JeeHeng Sia wrote:
> 
> > > The suspend_restore_csrs is called in both __hibernate_cpu_resume
> > > and the `else` of subsequent swsusp_arch_suspend.
> > > 
> > > Removing the first call makes both suspend_{save,restore}_csrs
> > > left in swsusp_arch_suspend for clean code.

It took me embarrassingly long to wrap my head around the control flow
here again. I'm not sure that I agree with you that splitting the calls
between asm & c is cleaner, but whatever:
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>

> > > 
> > > Signed-off-by: Song Shuai <suagrfillet@gmail.com>
> > > Signed-off-by: Song Shuai <songshuaishuai@tinylab.org>
> 
> BTW, why the two email addresses? The tinylab one here seems entirely
> redundant - unless it is your employer, in which case should it be the
> only SoB address & also in the author field?

Deja vu with my questioning your email address, but does your
tinylab address actually repeat "shuai"?

> Also, Fixes tag?
> 
> > > ---
> > >  arch/riscv/kernel/hibernate-asm.S | 1 -
> > >  1 file changed, 1 deletion(-)
> > > 
> > > diff --git a/arch/riscv/kernel/hibernate-asm.S b/arch/riscv/kernel/hibernate-asm.S
> > > index 5c76671c7e15..d698dd7df637 100644
> > > --- a/arch/riscv/kernel/hibernate-asm.S
> > > +++ b/arch/riscv/kernel/hibernate-asm.S
> > > @@ -28,7 +28,6 @@ ENTRY(__hibernate_cpu_resume)
> > > 
> > >  	REG_L	a0, hibernate_cpu_context
> > > 
> > > -	suspend_restore_csrs
> > >  	suspend_restore_regs
> 
> > Good catch. This function is invoked twice to restore the CSRs.
> > I am good with removing this function from here.
> 
> If that's a review, then please either give an R-b or A-b tag :)
> 
> Thanks,
> Conor.



[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* RE: [PATCH] riscv: hibernation: Remove duplicate call of suspend_restore_csrs
  2023-05-19 20:07     ` Conor Dooley
@ 2023-05-22  1:11       ` JeeHeng Sia
  2023-05-22  2:44       ` Song Shuai
  1 sibling, 0 replies; 7+ messages in thread
From: JeeHeng Sia @ 2023-05-22  1:11 UTC (permalink / raw)
  To: Conor Dooley, Conor Dooley
  Cc: Song Shuai, paul.walmsley, palmer, aou, Mason Huo, Leyfoon Tan,
	ajones, linux-riscv, linux-kernel, Song Shuai



> -----Original Message-----
> From: Conor Dooley <conor@kernel.org>
> Sent: Saturday, May 20, 2023 4:07 AM
> To: Conor Dooley <conor.dooley@microchip.com>
> Cc: JeeHeng Sia <jeeheng.sia@starfivetech.com>; Song Shuai <suagrfillet@gmail.com>; paul.walmsley@sifive.com;
> palmer@dabbelt.com; aou@eecs.berkeley.edu; Mason Huo <mason.huo@starfivetech.com>; Leyfoon Tan
> <leyfoon.tan@starfivetech.com>; ajones@ventanamicro.com; linux-riscv@lists.infradead.org; linux-kernel@vger.kernel.org; Song
> Shuai <songshuaishuai@tinylab.org>
> Subject: Re: [PATCH] riscv: hibernation: Remove duplicate call of suspend_restore_csrs
> 
> On Fri, May 19, 2023 at 12:28:07PM +0100, Conor Dooley wrote:
> > Hey,
> >
> > On Fri, May 19, 2023 at 11:14:27AM +0000, JeeHeng Sia wrote:
> >
> > > > The suspend_restore_csrs is called in both __hibernate_cpu_resume
> > > > and the `else` of subsequent swsusp_arch_suspend.
> > > >
> > > > Removing the first call makes both suspend_{save,restore}_csrs
> > > > left in swsusp_arch_suspend for clean code.
> 
> It took me embarrassingly long to wrap my head around the control flow
> here again. I'm not sure that I agree with you that splitting the calls
> between asm & c is cleaner, but whatever:
> Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
> 
> > > >
> > > > Signed-off-by: Song Shuai <suagrfillet@gmail.com>
> > > > Signed-off-by: Song Shuai <songshuaishuai@tinylab.org>
> >
> > BTW, why the two email addresses? The tinylab one here seems entirely
> > redundant - unless it is your employer, in which case should it be the
> > only SoB address & also in the author field?
> 
> Deja vu with my questioning your email address, but does your
> tinylab address actually repeat "shuai"?
> 
> > Also, Fixes tag?
> >
> > > > ---
> > > >  arch/riscv/kernel/hibernate-asm.S | 1 -
> > > >  1 file changed, 1 deletion(-)
> > > >
> > > > diff --git a/arch/riscv/kernel/hibernate-asm.S b/arch/riscv/kernel/hibernate-asm.S
> > > > index 5c76671c7e15..d698dd7df637 100644
> > > > --- a/arch/riscv/kernel/hibernate-asm.S
> > > > +++ b/arch/riscv/kernel/hibernate-asm.S
> > > > @@ -28,7 +28,6 @@ ENTRY(__hibernate_cpu_resume)
> > > >
> > > >  	REG_L	a0, hibernate_cpu_context
> > > >
> > > > -	suspend_restore_csrs
> > > >  	suspend_restore_regs
> >
> > > Good catch. This function is invoked twice to restore the CSRs.
> > > I am good with removing this function from here.
> >
> > If that's a review, then please either give an R-b or A-b tag :)
Reviewed-by: JeeHeng Sia <jeeheng.sia@starfivetech.com >
> >
> > Thanks,
> > Conor.
> 


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] riscv: hibernation: Remove duplicate call of suspend_restore_csrs
  2023-05-19 20:07     ` Conor Dooley
  2023-05-22  1:11       ` JeeHeng Sia
@ 2023-05-22  2:44       ` Song Shuai
  1 sibling, 0 replies; 7+ messages in thread
From: Song Shuai @ 2023-05-22  2:44 UTC (permalink / raw)
  To: Conor Dooley
  Cc: Conor Dooley, JeeHeng Sia, paul.walmsley, palmer, aou, Mason Huo,
	Leyfoon Tan, ajones, linux-riscv, linux-kernel, Song Shuai

Conor Dooley <conor@kernel.org> 于2023年5月19日周五 20:07写道:
>
> On Fri, May 19, 2023 at 12:28:07PM +0100, Conor Dooley wrote:
> > Hey,
> >
> > On Fri, May 19, 2023 at 11:14:27AM +0000, JeeHeng Sia wrote:
> >
> > > > The suspend_restore_csrs is called in both __hibernate_cpu_resume
> > > > and the `else` of subsequent swsusp_arch_suspend.
> > > >
> > > > Removing the first call makes both suspend_{save,restore}_csrs
> > > > left in swsusp_arch_suspend for clean code.
>
> It took me embarrassingly long to wrap my head around the control flow
> here again. I'm not sure that I agree with you that splitting the calls
> between asm & c is cleaner, but whatever:
> Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
>
> > > >
> > > > Signed-off-by: Song Shuai <suagrfillet@gmail.com>
> > > > Signed-off-by: Song Shuai <songshuaishuai@tinylab.org>
> >
> > BTW, why the two email addresses? The tinylab one here seems entirely
> > redundant - unless it is your employer, in which case should it be the
> > only SoB address & also in the author field?
>
> Deja vu with my questioning your email address, but does your
> tinylab address actually repeat "shuai"?
>
Yes, that's my full name.
As you noticed, I'm switching my email from Gmail to Tinylab but did
something wrong.
Thanks for your correction, I'll re-send this patch with your
suggestions applied.

> > Also, Fixes tag?
> >
> > > > ---
> > > >  arch/riscv/kernel/hibernate-asm.S | 1 -
> > > >  1 file changed, 1 deletion(-)
> > > >
> > > > diff --git a/arch/riscv/kernel/hibernate-asm.S b/arch/riscv/kernel/hibernate-asm.S
> > > > index 5c76671c7e15..d698dd7df637 100644
> > > > --- a/arch/riscv/kernel/hibernate-asm.S
> > > > +++ b/arch/riscv/kernel/hibernate-asm.S
> > > > @@ -28,7 +28,6 @@ ENTRY(__hibernate_cpu_resume)
> > > >
> > > >   REG_L   a0, hibernate_cpu_context
> > > >
> > > > - suspend_restore_csrs
> > > >   suspend_restore_regs
> >
> > > Good catch. This function is invoked twice to restore the CSRs.
> > > I am good with removing this function from here.
> >
> > If that's a review, then please either give an R-b or A-b tag :)
> >
> > Thanks,
> > Conor.
>
>


-- 
Thanks,
Song

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] riscv: hibernation: Remove duplicate call of suspend_restore_csrs
  2023-05-19 10:29 [PATCH] riscv: hibernation: Remove duplicate call of suspend_restore_csrs Song Shuai
  2023-05-19 11:14 ` JeeHeng Sia
@ 2023-06-20  1:00 ` patchwork-bot+linux-riscv
  1 sibling, 0 replies; 7+ messages in thread
From: patchwork-bot+linux-riscv @ 2023-06-20  1:00 UTC (permalink / raw)
  To: Song Shuai
  Cc: linux-riscv, paul.walmsley, palmer, aou, mason.huo, leyfoon.tan,
	ajones, jeeheng.sia, linux-kernel, songshuaishuai

Hello:

This patch was applied to riscv/linux.git (for-next)
by Palmer Dabbelt <palmer@rivosinc.com>:

On Fri, 19 May 2023 18:29:08 +0800 you wrote:
> The suspend_restore_csrs is called in both __hibernate_cpu_resume
> and the `else` of subsequent swsusp_arch_suspend.
> 
> Removing the first call makes both suspend_{save,restore}_csrs
> left in swsusp_arch_suspend for clean code.
> 
> Signed-off-by: Song Shuai <suagrfillet@gmail.com>
> Signed-off-by: Song Shuai <songshuaishuai@tinylab.org>
> 
> [...]

Here is the summary with links:
  - riscv: hibernation: Remove duplicate call of suspend_restore_csrs
    https://git.kernel.org/riscv/c/c6399b893043

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html



^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2023-06-20  1:00 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-05-19 10:29 [PATCH] riscv: hibernation: Remove duplicate call of suspend_restore_csrs Song Shuai
2023-05-19 11:14 ` JeeHeng Sia
2023-05-19 11:28   ` Conor Dooley
2023-05-19 20:07     ` Conor Dooley
2023-05-22  1:11       ` JeeHeng Sia
2023-05-22  2:44       ` Song Shuai
2023-06-20  1:00 ` patchwork-bot+linux-riscv

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).