drm/ttm: Use set_pages_array_wc instead of set_memory_wc.
Using single call to set multiple pages to wc reduces number of expensive cache flushes. Signed-off-by: Pauli Nieminen <suokkos@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
committed by
Dave Airlie
parent
4f64625412
commit
975efdb1bf
@@ -113,17 +113,7 @@ static struct ttm_pool_manager _manager = {
|
|||||||
.page_alloc_inited = ATOMIC_INIT(0)
|
.page_alloc_inited = ATOMIC_INIT(0)
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef CONFIG_X86
|
#ifndef CONFIG_X86
|
||||||
/* TODO: add this to x86 like _uc, this version here is inefficient */
|
|
||||||
static int set_pages_array_wc(struct page **pages, int addrinarray)
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
|
|
||||||
for (i = 0; i < addrinarray; i++)
|
|
||||||
set_memory_wc((unsigned long)page_address(pages[i]), 1);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
static int set_pages_array_wb(struct page **pages, int addrinarray)
|
static int set_pages_array_wb(struct page **pages, int addrinarray)
|
||||||
{
|
{
|
||||||
#ifdef TTM_HAS_AGP
|
#ifdef TTM_HAS_AGP
|
||||||
|
Reference in New Issue
Block a user