Lines Matching refs:vma

57 					struct vm_area_struct *vma)  in update_vm_cache_attr()  argument
63 vma->vm_page_prot = vm_get_page_prot(vma->vm_flags); in update_vm_cache_attr()
65 vma->vm_page_prot = in update_vm_cache_attr()
66 pgprot_writecombine(vm_get_page_prot(vma->vm_flags)); in update_vm_cache_attr()
68 vma->vm_page_prot = in update_vm_cache_attr()
69 pgprot_noncached(vm_get_page_prot(vma->vm_flags)); in update_vm_cache_attr()
80 struct vm_area_struct *vma, in exynos_drm_gem_map_buf() argument
107 return vm_insert_mixed(vma, f_vaddr, pfn); in exynos_drm_gem_map_buf()
322 struct vm_area_struct *vma) in exynos_drm_gem_mmap_buffer() argument
329 vma->vm_flags &= ~VM_PFNMAP; in exynos_drm_gem_mmap_buffer()
330 vma->vm_pgoff = 0; in exynos_drm_gem_mmap_buffer()
332 vm_size = vma->vm_end - vma->vm_start; in exynos_drm_gem_mmap_buffer()
344 ret = dma_mmap_attrs(drm_dev->dev, vma, buffer->pages, in exynos_drm_gem_mmap_buffer()
381 struct vm_area_struct *exynos_gem_get_vma(struct vm_area_struct *vma) in exynos_gem_get_vma() argument
389 if (vma->vm_ops && vma->vm_ops->open) in exynos_gem_get_vma()
390 vma->vm_ops->open(vma); in exynos_gem_get_vma()
392 if (vma->vm_file) in exynos_gem_get_vma()
393 get_file(vma->vm_file); in exynos_gem_get_vma()
395 memcpy(vma_copy, vma, sizeof(*vma)); in exynos_gem_get_vma()
404 void exynos_gem_put_vma(struct vm_area_struct *vma) in exynos_gem_put_vma() argument
406 if (!vma) in exynos_gem_put_vma()
409 if (vma->vm_ops && vma->vm_ops->close) in exynos_gem_put_vma()
410 vma->vm_ops->close(vma); in exynos_gem_put_vma()
412 if (vma->vm_file) in exynos_gem_put_vma()
413 fput(vma->vm_file); in exynos_gem_put_vma()
415 kfree(vma); in exynos_gem_put_vma()
421 struct vm_area_struct *vma) in exynos_gem_get_pages_from_userptr() argument
426 if (vma_is_io(vma)) { in exynos_gem_get_pages_from_userptr()
431 int ret = follow_pfn(vma, start, &pfn); in exynos_gem_get_pages_from_userptr()
461 struct vm_area_struct *vma) in exynos_gem_put_pages_to_userptr() argument
463 if (!vma_is_io(vma)) { in exynos_gem_put_pages_to_userptr()
595 int exynos_drm_gem_fault(struct vm_area_struct *vma, struct vm_fault *vmf) in exynos_drm_gem_fault() argument
597 struct drm_gem_object *obj = vma->vm_private_data; in exynos_drm_gem_fault()
604 vma->vm_start) >> PAGE_SHIFT; in exynos_drm_gem_fault()
609 ret = exynos_drm_gem_map_buf(obj, vma, f_vaddr, page_offset); in exynos_drm_gem_fault()
618 int exynos_drm_gem_mmap(struct file *filp, struct vm_area_struct *vma) in exynos_drm_gem_mmap() argument
625 ret = drm_gem_mmap(filp, vma); in exynos_drm_gem_mmap()
631 obj = vma->vm_private_data; in exynos_drm_gem_mmap()
638 update_vm_cache_attr(exynos_gem_obj, vma); in exynos_drm_gem_mmap()
640 ret = exynos_drm_gem_mmap_buffer(exynos_gem_obj, vma); in exynos_drm_gem_mmap()
647 drm_gem_vm_close(vma); in exynos_drm_gem_mmap()