ARM: l2c: only write the auxiliary control register if required

Avoid unnecessary writes to the auxiliary control register if the
register already contains the required value.  This allows us to
avoid invoking the platforms secure monitor code unnecessarily.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
Russell King 2014-03-17 20:10:31 +00:00
parent 17f3f99fab
commit 9a07f27bc5

View File

@ -92,7 +92,9 @@ static void l2c_enable(void __iomem *base, u32 aux, unsigned num_lock)
{
unsigned long flags;
writel_relaxed(aux, base + L2X0_AUX_CTRL);
/* Only write the aux register if it needs changing */
if (readl_relaxed(base + L2X0_AUX_CTRL) != aux)
writel_relaxed(aux, base + L2X0_AUX_CTRL);
l2c_unlock(base, num_lock);