Skip to content

Commit a3b4c2f

Browse files
committed
drm/etnaviv: switch to PFN mappings
There is no reason to use page based mappings, as the established mappings are special driver mappings anyways and should not be handled like normal pages. Be consistent with what other drivers do and use raw PFN based mappings. Signed-off-by: Lucas Stach <[email protected]> Reviewed-by: Daniel Vetter <[email protected]>
1 parent 1f5896c commit a3b4c2f

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

drivers/gpu/drm/etnaviv/etnaviv_gem.c

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ static int etnaviv_gem_mmap_obj(struct etnaviv_gem_object *etnaviv_obj,
130130
{
131131
pgprot_t vm_page_prot;
132132

133-
vma->vm_flags |= VM_IO | VM_MIXEDMAP | VM_DONTEXPAND | VM_DONTDUMP;
133+
vma->vm_flags |= VM_PFNMAP | VM_DONTEXPAND | VM_DONTDUMP;
134134

135135
vm_page_prot = vm_get_page_prot(vma->vm_flags);
136136

@@ -165,7 +165,8 @@ static vm_fault_t etnaviv_gem_fault(struct vm_fault *vmf)
165165
struct vm_area_struct *vma = vmf->vma;
166166
struct drm_gem_object *obj = vma->vm_private_data;
167167
struct etnaviv_gem_object *etnaviv_obj = to_etnaviv_bo(obj);
168-
struct page **pages, *page;
168+
struct page **pages;
169+
unsigned long pfn;
169170
pgoff_t pgoff;
170171
int err;
171172

@@ -189,12 +190,12 @@ static vm_fault_t etnaviv_gem_fault(struct vm_fault *vmf)
189190
/* We don't use vmf->pgoff since that has the fake offset: */
190191
pgoff = (vmf->address - vma->vm_start) >> PAGE_SHIFT;
191192

192-
page = pages[pgoff];
193+
pfn = page_to_pfn(pages[pgoff]);
193194

194195
VERB("Inserting %p pfn %lx, pa %lx", (void *)vmf->address,
195-
page_to_pfn(page), page_to_pfn(page) << PAGE_SHIFT);
196+
pfn, pfn << PAGE_SHIFT);
196197

197-
return vmf_insert_page(vma, vmf->address, page);
198+
return vmf_insert_pfn(vma, vmf->address, pfn);
198199
}
199200

200201
int etnaviv_gem_mmap_offset(struct drm_gem_object *obj, u64 *offset)

0 commit comments

Comments
 (0)