/* Since DMA is i-cache coherent, any (complete) pages that were written via DMA can be marked as "clean" so that lazy_mmu_prot_update() doesn't have to flush them when they get mapped into an executable vm-area.  */
void dma_mark_clean(void *addr, size_t size)
/* Since DMA is i-cache coherent, any (complete) pages that were written via DMA can be marked as "clean" so that lazy_mmu_prot_update() doesn't have to flush them when they get mapped into an executable vm-area.  */
void dma_mark_clean(void *addr, size_t size)
{
	unsigned long pg_addr, end;
	pg_addr = PAGE_ALIGN((unsigned long) addr);
	end = (unsigned long) addr + size;
	while (pg_addr + PAGE_SIZE <= end) {
		struct page *page = virt_to_page(pg_addr);
		set_bit(PG_arch_1, &page->flags);
		pg_addr += PAGE_SIZE;
	}
}