RE: [PATCH] riscv: hibernation: Remove duplicate call of suspend_restore_csrs

From: JeeHeng Sia
Date: Sun May 21 2023 - 21:11:22 EST




> -----Original Message-----
> From: Conor Dooley <conor@xxxxxxxxxx>
> Sent: Saturday, May 20, 2023 4:07 AM
> To: Conor Dooley <conor.dooley@xxxxxxxxxxxxx>
> Cc: JeeHeng Sia <jeeheng.sia@xxxxxxxxxxxxxxxx>; Song Shuai <suagrfillet@xxxxxxxxx>; paul.walmsley@xxxxxxxxxx;
> palmer@xxxxxxxxxxx; aou@xxxxxxxxxxxxxxxxx; Mason Huo <mason.huo@xxxxxxxxxxxxxxxx>; Leyfoon Tan
> <leyfoon.tan@xxxxxxxxxxxxxxxx>; ajones@xxxxxxxxxxxxxxxx; linux-riscv@xxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; Song
> Shuai <songshuaishuai@xxxxxxxxxxx>
> 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@xxxxxxxxxxxxx>
>
> > > >
> > > > Signed-off-by: Song Shuai <suagrfillet@xxxxxxxxx>
> > > > Signed-off-by: Song Shuai <songshuaishuai@xxxxxxxxxxx>
> >
> > 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@xxxxxxxxxxxxxxxx >
> >
> > Thanks,
> > Conor.
>