[PATCH 3/6] arm: cache-l2x0: add support for Aurora L2 cache ctrl
Gregory CLEMENT
gregory.clement at free-electrons.com
Mon Aug 27 13:31:19 EDT 2012
On 08/24/2012 02:45 PM, Gregory CLEMENT wrote:
> On 08/24/2012 12:43 PM, Will Deacon wrote:> On Fri, Aug 24, 2012 at 10:09:18AM +0100, Gregory CLEMENT wrote:
>>> +static void __init aurora_broadcast_l2_commands(void)
>>> +{
>>> + __u32 u;
>>> + /* Enable Broadcasting of cache commands to L2*/
>>> + __asm__ __volatile__("mrc p15, 1, %0, c15, c2, 0" : "=r"(u));
>>> + u |= 0x100; /* Set the FW bit */
>>> + __asm__ __volatile__("mcr p15, 1, %0, c15, c2, 0\n" : : "r"(u));
>>> +}
>>
>> Couple of questions about this code:
>>
>> 1. Is this register r/w from non-secure?
>
> This register is banked.
>
>> 2. I'm surprised that there aren't barriers and/or maintenance operations
>> needed around this operation. It might be worth checking in the
>> documentation that you have (you probably need at least an isb()
>> following the mcr).
>
> I didn't find any mention of barriers and/or maintenance operations
> needed around this operation, but maybe I have missed something, or it
> was implicit for the people who wrote the documentation. I will ask
> confirmation that we don't need this.
I've just received confirmation that this register is r/w from non-secure.
And that it would be good practice to have an ISB after this MCR, so I
will add this for the next version coming soon.
>
>>
>> Will
>>
>> _______________________________________________
>> linux-arm-kernel mailing list
>> linux-arm-kernel at lists.infradead.org
>> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
--
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com
More information about the linux-arm-kernel
mailing list