Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 46f4b3ea authored by Michel Dänzer's avatar Michel Dänzer Committed by Dave Airlie
Browse files

drm/ttm: Add some powerpc cache flush code.



Optimise the powerpc flushing path for TTM.

Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
parent 919f32f1
Loading
Loading
Loading
Loading
+10 −1
Original line number Diff line number Diff line
@@ -68,7 +68,7 @@ static void ttm_tt_cache_flush_clflush(struct page *pages[],
		ttm_tt_clflush_page(*pages++);
	mb();
}
#else
#elif !defined(__powerpc__)
static void ttm_tt_ipi_handler(void *null)
{
	;
@@ -83,6 +83,15 @@ void ttm_tt_cache_flush(struct page *pages[], unsigned long num_pages)
		ttm_tt_cache_flush_clflush(pages, num_pages);
		return;
	}
#elif defined(__powerpc__)
	unsigned long i;

	for (i = 0; i < num_pages; ++i) {
		if (pages[i]) {
			unsigned long start = (unsigned long)page_address(pages[i]);
			flush_dcache_range(start, start + PAGE_SIZE);
		}
	}
#else
	if (on_each_cpu(ttm_tt_ipi_handler, NULL, 1) != 0)
		printk(KERN_ERR TTM_PFX