reboot not working on linux-2.6.37 for ARMv7

shiraz hashim shiraz.linux.kernel at gmail.com
Sun Feb 13 22:37:34 EST 2011


Hi Rabin,

On Sun, Feb 13, 2011 at 9:26 AM, Rabin Vincent <rabin at rab.in> wrote:
> On Sat, Feb 12, 2011 at 21:45, viresh kumar <viresh.linux at gmail.com> wrote:
>> We are not modifying flush_cache_all. L2 cache is not flushed from
>> there.  Actually as soon as L1 Cache is flushed and disabled,
>> spin_lock is taken from some other thread. This creates problem for
>> our platform, as we do not have monitors support at L2 thus failing
>> strex instruction.
>
> Do you use writel() in your arch_reset() routine (as plat-spear appears
> to be doing)?  There's a spinlock in there too (l2x0_cache_sync(), via
> the barriers) which will also not work in your situation.

You are right. Changed this to writel_relaxed and picked
28e18293cf0f8d23a0950d7b1d2212d11af494dc. Now it is working fine.

-- 
regards
Shiraz Hashim



More information about the linux-arm-kernel mailing list