[RFC 0/5] restart cleanups

Russell King - ARM Linux linux at arm.linux.org.uk
Thu Nov 3 05:57:44 EDT 2011


On Thu, Nov 03, 2011 at 06:24:30PM +0900, Kukjin Kim wrote:
> Russell King - ARM Linux wrote:
> > 
> > On Tue, Nov 01, 2011 at 04:38:17PM +0000, Russell King - ARM Linux wrote:
> > > Can someone please check whether this code:
> > >
> > > /* Hook for arm_pm_restart to ensure we execute the reset code
> > >  * with the caches enabled. It seems at least the S3C2440 has a problem
> > >  * resetting if there is bus activity interrupted by the reset.
> > >  */
> > > static void s3c24xx_pm_restart(char mode, const char *cmd)
> > > {
> > >         if (mode != 's') {
> > >                 unsigned long flags;
> > >
> > >                 local_irq_save(flags);
> > >                 __cpuc_flush_kern_all();
> > >                 __cpuc_flush_user_all();
> > >
> > >                 arch_reset(mode, cmd);
> > >                 local_irq_restore(flags);
> > >         }
> > >
> > >         /* fallback, or unhandled */
> > >         arm_machine_restart(mode, cmd);
> > > }
> > >
> > > will be broken by any of these patches - and more importantly whether
> > > this code can simply be deleted with these five patches applied.
> > 
> > Okay, I'm going to delete the above and hope for the best; I'm taking
> > the lack of reply as meaning that no one in the Samsung community is
> > that interested in this code.
> 
> Russell,
> Sorry for late response.
> 
> According to its commit message, it is needed...
> 
> [ARM] 4987/1: S3C24XX: Ensure watchdog reset initiated from cached code.
> 
>     There seems to be some problem with at-least the S3C2440 and
>     bus traffic during an reset. It is unlikely, but still possible
>     that the system will hang in such a way that the watchdog cannot
>     get the system out of the state it is in.
> 
>     Change to making the code that calls the watchdog reset run from
>     cached memory so that instruction fetches have quiesced before the
>     watchdog fires.
> 
> But frankly, I'm not sure now and there is no S3C2440 on my desk :(
> Let me check again, if no response on this, please keep going on.

And now consider it along side the set of patches that I posted as
part of this thread, which have the effect that arch_reset() will
now be called with caches enabled.

Given that, is it still required?



More information about the linux-arm-kernel mailing list