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

JeeHeng Sia jeeheng.sia at starfivetech.com
Sun May 21 18:11:09 PDT 2023



> -----Original Message-----
> From: Conor Dooley <conor at kernel.org>
> Sent: Saturday, May 20, 2023 4:07 AM
> To: Conor Dooley <conor.dooley at microchip.com>
> Cc: JeeHeng Sia <jeeheng.sia at starfivetech.com>; Song Shuai <suagrfillet at gmail.com>; paul.walmsley at sifive.com;
> palmer at dabbelt.com; aou at eecs.berkeley.edu; Mason Huo <mason.huo at starfivetech.com>; Leyfoon Tan
> <leyfoon.tan at starfivetech.com>; ajones at ventanamicro.com; linux-riscv at lists.infradead.org; linux-kernel at vger.kernel.org; Song
> Shuai <songshuaishuai at 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 at microchip.com>
> 
> > > >
> > > > Signed-off-by: Song Shuai <suagrfillet at gmail.com>
> > > > Signed-off-by: Song Shuai <songshuaishuai at 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 at starfivetech.com >
> >
> > Thanks,
> > Conor.
> 




More information about the linux-riscv mailing list