diff options
Diffstat (limited to 'arch/m68k/include/asm/cacheflush_no.h')
| -rw-r--r-- | arch/m68k/include/asm/cacheflush_no.h | 32 | 
1 files changed, 28 insertions, 4 deletions
diff --git a/arch/m68k/include/asm/cacheflush_no.h b/arch/m68k/include/asm/cacheflush_no.h index cb88aa96c4f..7cafb537d03 100644 --- a/arch/m68k/include/asm/cacheflush_no.h +++ b/arch/m68k/include/asm/cacheflush_no.h @@ -30,11 +30,8 @@  void mcf_cache_push(void); -static inline void __flush_cache_all(void) +static inline void __clear_cache_all(void)  { -#ifdef CACHE_PUSH -	mcf_cache_push(); -#endif  #ifdef CACHE_INVALIDATE  	__asm__ __volatile__ (  		"movel	%0, %%d0\n\t" @@ -44,6 +41,14 @@ static inline void __flush_cache_all(void)  #endif  } +static inline void __flush_cache_all(void) +{ +#ifdef CACHE_PUSH +	mcf_cache_push(); +#endif +	__clear_cache_all(); +} +  /*   * Some ColdFire parts implement separate instruction and data caches,   * on those we should just flush the appropriate cache. If we don't need @@ -76,4 +81,23 @@ static inline void __flush_dcache_all(void)  	__asm__ __volatile__ ( "nop" );  #endif  } + +/* + * Push cache entries at supplied address. We want to write back any dirty + * data and the invalidate the cache lines associated with this address. + */ +static inline void cache_push(unsigned long paddr, int len) +{ +	__flush_cache_all(); +} + +/* + * Clear cache entries at supplied address (that is don't write back any + * dirty data). + */ +static inline void cache_clear(unsigned long paddr, int len) +{ +	__clear_cache_all(); +} +  #endif /* _M68KNOMMU_CACHEFLUSH_H */  |