--- nouveau-kernel-0.0.1+git20100322.orig/drivers/gpu/drm/ttm/ttm_bo_vm.c 2010-02-11 12:38:42.000000000 +0530 +++ nouveau-kernel-0.0.1+git20100322/drivers/gpu/drm/ttm/ttm_bo_vm.c 2010-03-22 13:48:11.000000000 +0530 @@ -271,7 +271,11 @@ */ vma->vm_private_data = bo; - vma->vm_flags |= VM_RESERVED | VM_IO | VM_MIXEDMAP | VM_DONTEXPAND; + vma->vm_flags |= VM_RESERVED | VM_MIXEDMAP | VM_DONTEXPAND; + if (!((bo->mem.placement & TTM_PL_MASK_MEM) & TTM_PL_FLAG_TT)) + vma->vm_flags |= VM_IO; + vma->vm_page_prot = vm_get_page_prot(vma->vm_flags); + return 0; out_unref: ttm_bo_unref(&bo); @@ -287,6 +291,7 @@ vma->vm_ops = &ttm_bo_vm_ops; vma->vm_private_data = ttm_bo_reference(bo); vma->vm_flags |= VM_RESERVED | VM_IO | VM_MIXEDMAP | VM_DONTEXPAND; + vma->vm_page_prot = vm_get_page_prot(vma->vm_flags); return 0; } EXPORT_SYMBOL(ttm_fbdev_mmap);