mm, dax, gpu: convert vm_insert_mixed to pfn_t
Convert the raw unsigned long 'pfn' argument to pfn_t for the purpose of evaluating the PFN_MAP and PFN_DEV flags. When both are set it triggers _PAGE_DEVMAP to be set in the resulting pte. There are no functional changes to the gpu drivers as a result of this conversion. Signed-off-by: Dan Williams <dan.j.williams@intel.com> Cc: Dave Hansen <dave@sr71.net> Cc: David Airlie <airlied@linux.ie> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
committed by
Linus Torvalds
parent
69660fd797
commit
01c8f1c44b
@@ -19,6 +19,7 @@
|
||||
|
||||
#include <linux/shmem_fs.h>
|
||||
#include <linux/spinlock.h>
|
||||
#include <linux/pfn_t.h>
|
||||
|
||||
#include <drm/drm_vma_manager.h>
|
||||
|
||||
@@ -385,7 +386,8 @@ static int fault_1d(struct drm_gem_object *obj,
|
||||
VERB("Inserting %p pfn %lx, pa %lx", vmf->virtual_address,
|
||||
pfn, pfn << PAGE_SHIFT);
|
||||
|
||||
return vm_insert_mixed(vma, (unsigned long)vmf->virtual_address, pfn);
|
||||
return vm_insert_mixed(vma, (unsigned long)vmf->virtual_address,
|
||||
__pfn_to_pfn_t(pfn, PFN_DEV));
|
||||
}
|
||||
|
||||
/* Special handling for the case of faulting in 2d tiled buffers */
|
||||
@@ -478,7 +480,8 @@ static int fault_2d(struct drm_gem_object *obj,
|
||||
pfn, pfn << PAGE_SHIFT);
|
||||
|
||||
for (i = n; i > 0; i--) {
|
||||
vm_insert_mixed(vma, (unsigned long)vaddr, pfn);
|
||||
vm_insert_mixed(vma, (unsigned long)vaddr,
|
||||
__pfn_to_pfn_t(pfn, PFN_DEV));
|
||||
pfn += usergart[fmt].stride_pfn;
|
||||
vaddr += PAGE_SIZE * m;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user