[PATCH 11/97] ARM: l2c: provide generic function for calling set_debug method
Russell King
rmk+kernel at arm.linux.org.uk
Mon Apr 28 12:26:55 PDT 2014
Provide a generic function which always calls the set_debug method.
This will be used later in the series as some work-arounds require
that the debug register be written.
Signed-off-by: Russell King <rmk+kernel at arm.linux.org.uk>
---
arch/arm/mm/cache-l2x0.c | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/arch/arm/mm/cache-l2x0.c b/arch/arm/mm/cache-l2x0.c
index d659c4ca46bb..595c50519e41 100644
--- a/arch/arm/mm/cache-l2x0.c
+++ b/arch/arm/mm/cache-l2x0.c
@@ -57,6 +57,16 @@ static inline void cache_wait_way(void __iomem *reg, unsigned long mask)
cpu_relax();
}
+/*
+ * This should only be called when we have a requirement that the
+ * register be written due to a work-around, as platforms running
+ * in non-secure mode may not be able to access this register.
+ */
+static inline void l2c_set_debug(void __iomem *base, unsigned long val)
+{
+ outer_cache.set_debug(val);
+}
+
#ifdef CONFIG_CACHE_PL310
static inline void cache_wait(void __iomem *reg, unsigned long mask)
{
@@ -92,7 +102,7 @@ static inline void l2x0_inv_line(unsigned long addr)
static inline void debug_writel(unsigned long val)
{
if (outer_cache.set_debug)
- outer_cache.set_debug(val);
+ l2c_set_debug(l2x0_base, val);
}
static void pl310_set_debug(unsigned long val)
--
1.8.3.1
More information about the linux-arm-kernel
mailing list