Loading arch/sh/mm/cache-sh4.c +3 −10 Original line number Diff line number Diff line Loading @@ -109,6 +109,7 @@ static inline void flush_cache_one(unsigned long start, unsigned long phys) static void sh4_flush_dcache_page(void *arg) { struct page *page = arg; unsigned long addr = (unsigned long)page_address(page); #ifndef CONFIG_SMP struct address_space *mapping = page_mapping(page); Loading @@ -116,16 +117,8 @@ static void sh4_flush_dcache_page(void *arg) set_bit(PG_dcache_dirty, &page->flags); else #endif { unsigned long phys = page_to_phys(page); unsigned long addr = CACHE_OC_ADDRESS_ARRAY; int i, n; /* Loop all the D-cache */ n = boot_cpu_data.dcache.n_aliases; for (i = 0; i < n; i++, addr += PAGE_SIZE) flush_cache_one(addr, phys); } flush_cache_one(CACHE_OC_ADDRESS_ARRAY | (addr & shm_align_mask), page_to_phys(page)); wmb(); } Loading Loading
arch/sh/mm/cache-sh4.c +3 −10 Original line number Diff line number Diff line Loading @@ -109,6 +109,7 @@ static inline void flush_cache_one(unsigned long start, unsigned long phys) static void sh4_flush_dcache_page(void *arg) { struct page *page = arg; unsigned long addr = (unsigned long)page_address(page); #ifndef CONFIG_SMP struct address_space *mapping = page_mapping(page); Loading @@ -116,16 +117,8 @@ static void sh4_flush_dcache_page(void *arg) set_bit(PG_dcache_dirty, &page->flags); else #endif { unsigned long phys = page_to_phys(page); unsigned long addr = CACHE_OC_ADDRESS_ARRAY; int i, n; /* Loop all the D-cache */ n = boot_cpu_data.dcache.n_aliases; for (i = 0; i < n; i++, addr += PAGE_SIZE) flush_cache_one(addr, phys); } flush_cache_one(CACHE_OC_ADDRESS_ARRAY | (addr & shm_align_mask), page_to_phys(page)); wmb(); } Loading