Thread (36 messages) flat view 36 messages, 4 authors, 2010-12-20
STALE5715d

RE: [PATCH v4 5/7] OMAP3630: PM: Disable L2 cache while invalidating L2 cache

From: Santosh Shilimkar <hidden>
Date: 2010-12-20 13:29:37
Also in: linux-arm-kernel

-----Original Message-----
From: Nishanth Menon [mailto:nm@ti.com]
Sent: Monday, December 20, 2010 6:38 PM
To: Santosh Shilimkar
Cc: linux-omap; linux-arm; Jean Pihet; Kevin; Tony
Subject: Re: [PATCH v4 5/7] OMAP3630: PM: Disable L2 cache while
invalidating L2 cache

Santosh Shilimkar had written, on 12/20/2010 06:14 AM, the following:
quoted
quoted
-----Original Message-----
From: Nishanth Menon [mailto:nm@ti.com]
Sent: Monday, December 20, 2010 5:15 PM
To: Santosh Shilimkar
Cc: linux-omap; linux-arm; Jean Pihet; Kevin; Tony
Subject: Re: [PATCH v4 5/7] OMAP3630: PM: Disable L2 cache while
invalidating L2 cache

Santosh Shilimkar wrote, on 12/20/2010 01:13 AM:
[..]
quoted
quoted
This is be done according to ARM documentation. Currently this is
identified
as being needed on OMAP3630 as the disable/enable is done from
"public
quoted
quoted
quoted
side"
while, on OMAP3430, this is done in the "secure side".
Can you point me to ARM doc which says " for L2 invalidation, the
controller
needs to be disabled" ?
please see section 8.3 of the Cortex-A8 TRM
Yes. Have seen it and it doesn't say at least what your patch
description is saying.
See [1]
To disable the L2 cache, but leave the L1 data cache enabled, use the
following sequence:
But it's not applicable to this piece of code. Your L1D is
not ON here either.
    1. Disable the C bit.
for details on C bit: see [2]
    2. Clean and invalidate the L1 and L2 caches.
[...]
Does this help or do you have a suggestion on how the commit message
could be improved?
Actually it doesn't. My worry is we might be trying to work-around some
OMAP specific issue. But as I said initially we do change the AUXCTRL
configuration and in that case the sequence is correct as per ARM TRM.

So may be you could update the change log something like below.

While coming out of MPU OSWR/OFF states, L2 controller is reseted.
The reset behavior is implementation specific as per ARMv7 TRM and
hence $L2 needs to be invalidated before it's use. Since the
AUXCTRL register is also reconfigured, disable L2 cache before
invalidating it and re-enables it afterwards. This is as per
Cortex-A8 ARM documentation.
Currently this is identified as being needed on OMAP3630 as the
disable/enable is done from "public side" while, on OMAP3430, this
is done in the "secure side".

Regards,
Santosh
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help