mirror of
https://gitlab.freedesktop.org/mesa/drm.git
synced 2025-12-25 03:40:10 +01:00
Make sure CMA (Can't map aperture) pages are mapped uncached.
(Should really make this write-combined using PATs, at some point).
This commit is contained in:
parent
5395a92d40
commit
72d457fc19
2 changed files with 8 additions and 4 deletions
|
|
@ -275,12 +275,14 @@ static struct page *drm_bo_vm_fault(struct vm_area_struct *vma,
|
|||
goto out_unlock;
|
||||
}
|
||||
pfn = page_to_pfn(page);
|
||||
vma->vm_page_prot = vm_get_page_prot(vma->vm_flags);
|
||||
vma->vm_page_prot = (bo->mem.flags & DRM_BO_FLAG_CACHED) ?
|
||||
vm_get_page_prot(vma->vm_flags) :
|
||||
drm_io_prot(_DRM_TTM, vma);
|
||||
}
|
||||
|
||||
|
||||
err = vm_insert_pfn(vma, address, pfn);
|
||||
|
||||
if (!err || err == -EBUSY)
|
||||
if (!err || err == -EBUSY)
|
||||
data->type = VM_FAULT_MINOR;
|
||||
else
|
||||
data->type = VM_FAULT_OOM;
|
||||
|
|
|
|||
|
|
@ -796,7 +796,9 @@ static unsigned long drm_bo_vm_nopfn(struct vm_area_struct *vma,
|
|||
goto out_unlock;
|
||||
}
|
||||
pfn = page_to_pfn(page);
|
||||
vma->vm_page_prot = vm_get_page_prot(vma->vm_flags);
|
||||
vma->vm_page_prot = (bo->mem.flags & DRM_BO_FLAG_CACHED) ?
|
||||
vm_get_page_prot(vma->vm_flags) :
|
||||
drm_io_prot(_DRM_TTM, vma);
|
||||
}
|
||||
|
||||
err = vm_insert_pfn(vma, address, pfn);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue