Merge remote-tracking branch 'lsk/v3.10/topic/arm64-lts' into lsk-v3.10-arm64-misc
authorMark Brown <broonie@linaro.org>
Thu, 15 May 2014 10:42:57 +0000 (11:42 +0100)
committerMark Brown <broonie@linaro.org>
Thu, 15 May 2014 10:42:57 +0000 (11:42 +0100)
1  2 
arch/arm64/include/asm/cacheflush.h
arch/arm64/mm/flush.c

Simple merge
index d3751b5f7f07433ac625aff0ba72b4565805948d,7c716634a671289b9a2c860f5c4a116b3167e679..e4193e3adc7f9dbbbe57c63eac0ee60b32aaa3e5
@@@ -70,18 -70,21 +70,16 @@@ void copy_to_user_page(struct vm_area_s
  #endif
  }
  
 -void __flush_dcache_page(struct page *page)
 -{
 -      __flush_dcache_area(page_address(page), PAGE_SIZE);
 -}
 -
  void __sync_icache_dcache(pte_t pte, unsigned long addr)
  {
-       unsigned long pfn;
-       struct page *page;
+       struct page *page = pte_page(pte);
  
-       pfn = pte_pfn(pte);
-       if (!pfn_valid(pfn))
+       /* no flushing needed for anonymous pages */
+       if (!page_mapping(page))
                return;
  
-       page = pfn_to_page(pfn);
        if (!test_and_set_bit(PG_dcache_clean, &page->flags)) {
 -              __flush_dcache_page(page);
 +              __flush_dcache_area(page_address(page), PAGE_SIZE);
                __flush_icache_all();
        } else if (icache_is_aivivt()) {
                __flush_icache_all();