ARM: GIC: Convert GIC library to use the IO relaxed operations
authorSantosh Shilimkar <santosh.shilimkar@ti.com>
Mon, 28 Mar 2011 13:57:46 +0000 (19:27 +0530)
committerWill Deacon <will.deacon@arm.com>
Wed, 11 May 2011 15:04:17 +0000 (16:04 +0100)
commit6ac77e469e991e9dd91b28e503fa24b5609eedba
tree68c0b58456e2e5524624ca48a8f8c2a77b7d99c5
parent1a01753ed90a4fb84357b9b592e50564c07737f7
ARM: GIC: Convert GIC library to use the IO relaxed operations

The GIC register accesses today make use of readl()/writel()
which prove to be very expensive when used along with mandatory
barriers. This mandatory barriers also introduces an un-necessary
and expensive l2x0_sync() operation. On Cortex-A9 MP cores, GIC
IO accesses from CPU are direct and doesn't go through L2X0 write
buffer.

A DSB before writel_relaxed() in gic_raise_softirq() is added to be
compliant with the Barrier Litmus document - the mailbox scenario.

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
arch/arm/common/gic.c