title: Flush cache to DRAM
body: <p>I'm using a Xilinx Zynq platform with a region of memory shared between the programmable HW and the ARM processor.</p>
  
  <p>I've reserved this memory using memmap on the kernel command line and then exposed it to userspace via mmap/io_remap_pfn_range calls in my driver.</p>
  
  <p>The problem I'm having is that it takes some time for the writes to show up in DRAM and I presume it's stuck in dcache.  There's a bunch of flush_cache_* calls defined but none of them are exported, which is a clue to me that I'm barking up the wrong tree...</p>
  
  <p>As a trial I locally exported flush_cache_mm and just to see what would happen and no joy.</p>
  
  <p>In short, how can I be sure that any writes to this mmap'd regions have been committed to DRAM?</p>
  
  <p>Thanks.</p>