/* DCF takes a virtual address and the page may not currently have one */
void flush_dcache_page(struct page *page)
/* DCF takes a virtual address and the page may not currently have one */
void flush_dcache_page(struct page *page)
{
	unsigned long dampr2;
	void *vaddr;
	dampr2 = __get_DAMPR(2);
	vaddr = kmap_atomic(page, __KM_CACHE);
	frv_dcache_writeback((unsigned long) vaddr, (unsigned long) vaddr + PAGE_SIZE);
	kunmap_atomic(vaddr, __KM_CACHE);
	if (dampr2) {
		__set_DAMPR(2, dampr2);
		__set_IAMPR(2, dampr2);
	}
}