summaryrefslogtreecommitdiff
path: root/arch/arm/include/asm
diff options
context:
space:
mode:
authorKirill Artamonov <kartamonov@nvidia.com>2012-07-16 17:24:00 +0300
committerSimone Willett <swillett@nvidia.com>2012-07-19 14:48:50 -0700
commitde14d57fdfbbd1de9a6c99cb52455d5bd6afb11f (patch)
tree43fff080c9ef64af807b3e071e115e0c022e5766 /arch/arm/include/asm
parent94e947b829c7922cbc2c413db708232dfc7cc4e9 (diff)
ARM: mm: cache-l2x0: Implement outer_clean_all()
There is already implemented full outer clean routine in arch/arm/mm/cache-l2x0.c. Make it possible to use it through outer_cache interface, like other outer maintenance functions. bug 983964 Change-Id: I47f1fad536c151c255e6a42d6517114c334ddfef Reviewed-on: http://git-master/r/116074 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Kirill Artamonov <kartamonov@nvidia.com> Tested-by: Kirill Artamonov <kartamonov@nvidia.com> Reviewed-by: Krishna Reddy <vdumpa@nvidia.com> Reviewed-by: Justin Paver <jpaver@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Diffstat (limited to 'arch/arm/include/asm')
-rw-r--r--arch/arm/include/asm/outercache.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/arm/include/asm/outercache.h b/arch/arm/include/asm/outercache.h
index d8387437ec5a..49c5e2d2972d 100644
--- a/arch/arm/include/asm/outercache.h
+++ b/arch/arm/include/asm/outercache.h
@@ -28,6 +28,7 @@ struct outer_cache_fns {
void (*clean_range)(unsigned long, unsigned long);
void (*flush_range)(unsigned long, unsigned long);
void (*flush_all)(void);
+ void (*clean_all)(void);
void (*inv_all)(void);
void (*disable)(void);
#ifdef CONFIG_OUTER_CACHE_SYNC
@@ -62,6 +63,12 @@ static inline void outer_flush_all(void)
outer_cache.flush_all();
}
+static inline void outer_clean_all(void)
+{
+ if (outer_cache.clean_all)
+ outer_cache.clean_all();
+}
+
static inline void outer_inv_all(void)
{
if (outer_cache.inv_all)
@@ -83,6 +90,7 @@ static inline void outer_clean_range(phys_addr_t start, phys_addr_t end)
static inline void outer_flush_range(phys_addr_t start, phys_addr_t end)
{ }
static inline void outer_flush_all(void) { }
+static inline void outer_clean_all(void) { }
static inline void outer_inv_all(void) { }
static inline void outer_disable(void) { }