drm: Use pgprot_writecombine in GEM GTT mapping to get the right bits for !PAT.

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: Linux Kernel Mailing List
Date: Thursday, April 2, 2009 - 10:08 pm

Gitweb:     http://git.kernel.org/linus/1055f9ddad093f54dfd708a0f976582034d4ce1a
Commit:     1055f9ddad093f54dfd708a0f976582034d4ce1a
Parent:     5e118f4139feafe97e913df67b1f7c1e5083e535
Author:     Jesse Barnes <jbarnes@virtuousgeek.org>
AuthorDate: Tue Mar 31 18:22:31 2009 -0700
Committer:  Eric Anholt <eric@anholt.net>
CommitDate: Thu Apr 2 14:28:32 2009 -0700

    drm: Use pgprot_writecombine in GEM GTT mapping to get the right bits for !PAT.
    
    Otherwise, the PAGE_CACHE_WC would end up getting us a UC-only mapping, and
    the write performance of GTT maps dropped 10x.
    
    Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
    [anholt: cleaned up unused var]
    Signed-off-by: Eric Anholt <eric@anholt.net>
---
 drivers/gpu/drm/drm_gem.c |    7 +------
 1 files changed, 1 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c
index c1173d8..4984aa8 100644
--- a/drivers/gpu/drm/drm_gem.c
+++ b/drivers/gpu/drm/drm_gem.c
@@ -505,7 +505,6 @@ int drm_gem_mmap(struct file *filp, struct vm_area_struct *vma)
 	struct drm_local_map *map = NULL;
 	struct drm_gem_object *obj;
 	struct drm_hash_item *hash;
-	unsigned long prot;
 	int ret = 0;
 
 	mutex_lock(&dev->struct_mutex);
@@ -538,11 +537,7 @@ int drm_gem_mmap(struct file *filp, struct vm_area_struct *vma)
 	vma->vm_ops = obj->dev->driver->gem_vm_ops;
 	vma->vm_private_data = map->handle;
 	/* FIXME: use pgprot_writecombine when available */
-	prot = pgprot_val(vma->vm_page_prot);
-#ifdef CONFIG_X86
-	prot |= _PAGE_CACHE_WC;
-#endif
-	vma->vm_page_prot = __pgprot(prot);
+	vma->vm_page_prot = pgprot_writecombine(vma->vm_page_prot);
 
 	/* Take a ref for this mapping of the object, so that the fault
 	 * handler can dereference the mmap offset's pointer to the object.
--
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
drm: Use pgprot_writecombine in GEM GTT mapping to get the ..., Linux Kernel Mailing ..., (Thu Apr 2, 10:08 pm)