[xtensa-cvscommit] linux/arch/xtensa/mm cache.c,1.5,1.6
Brought to you by:
zankel
|
From: <jn...@us...> - 2003-02-28 22:59:42
|
Update of /cvsroot/xtensa/linux/arch/xtensa/mm
In directory sc8-pr-cvs1:/tmp/cvs-serv32164
Modified Files:
cache.c
Log Message:
Moved flush_dcache_page so that it is compiled away when
there is no cache aliasing.
Fixed a typo so that the icache flush functions are there
for writeback caches.
Index: cache.c
===================================================================
RCS file: /cvsroot/xtensa/linux/arch/xtensa/mm/cache.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** cache.c 28 Feb 2003 01:53:09 -0000 1.5
--- cache.c 28 Feb 2003 22:59:36 -0000 1.6
***************
*** 188,192 ****
*/
! #if (XTENSA_CACHE_ALIAS || XCHALDCACHE_IS_WRITEBACK)
void flush_page_to_ram (struct page *page)
--- 188,192 ----
*/
! #if (XTENSA_CACHE_ALIAS || XCHAL_DCACHE_IS_WRITEBACK)
void flush_page_to_ram (struct page *page)
***************
*** 200,224 ****
- void flush_dcache_page (struct page *page)
- {
- unsigned long addr = (unsigned long) page_address(page);
- unsigned long flags;
- save_and_cli(flags);
- #if 1
- #if defined(XCHALDCACHE_IS_WRITEBACK)
- xthal_dcache_region_writeback_inv((void *)addr, PAGE_SIZE);
- #else
- xthal_dcache_region_invalidate((void *)addr, PAGE_SIZE);
- #endif
- #else
- /* XTFIXME -- this is just a test, going to flush the entire cache
- * cache and see if that makes it start working.
- */
- // printk("flush_dcache_page: addr=0x%08x\n", addr);
- xthal_dcache_all_writeback_inv();
- #endif
-
- restore_flags(flags);
- }
void flush_icache_range(unsigned long start, unsigned long end)
--- 200,203 ----
***************
*** 268,271 ****
--- 247,272 ----
*/
#if XTENSA_CACHE_ALIAS
+
+ void flush_dcache_page (struct page *page)
+ {
+ unsigned long addr = (unsigned long) page_address(page);
+ unsigned long flags;
+ save_and_cli(flags);
+ #if 1
+ #if defined(XCHALDCACHE_IS_WRITEBACK)
+ xthal_dcache_region_writeback_inv((void *)addr, PAGE_SIZE);
+ #else
+ xthal_dcache_region_invalidate((void *)addr, PAGE_SIZE);
+ #endif
+ #else
+ /* XTFIXME -- this is just a test, going to flush the entire cache
+ * cache and see if that makes it start working.
+ */
+ // printk("flush_dcache_page: addr=0x%08x\n", addr);
+ xthal_dcache_all_writeback_inv();
+ #endif
+
+ restore_flags(flags);
+ }
static struct semaphore dealias_page_sem;
|