Lines Matching refs:vma
42 struct vm_area_struct *vma; member
191 static int vb2_dc_mmap(void *buf_priv, struct vm_area_struct *vma) in vb2_dc_mmap() argument
205 vma->vm_pgoff = 0; in vb2_dc_mmap()
207 ret = dma_mmap_coherent(buf->dev, vma, buf->vaddr, in vb2_dc_mmap()
215 vma->vm_flags |= VM_DONTEXPAND | VM_DONTDUMP; in vb2_dc_mmap()
216 vma->vm_private_data = &buf->handler; in vb2_dc_mmap()
217 vma->vm_ops = &vb2_common_vm_ops; in vb2_dc_mmap()
219 vma->vm_ops->open(vma); in vb2_dc_mmap()
222 __func__, (unsigned long)buf->dma_addr, vma->vm_start, in vb2_dc_mmap()
362 struct vm_area_struct *vma) in vb2_dc_dmabuf_ops_mmap() argument
364 return vb2_dc_mmap(dbuf->priv, vma); in vb2_dc_dmabuf_ops_mmap()
432 static inline int vma_is_io(struct vm_area_struct *vma) in vma_is_io() argument
434 return !!(vma->vm_flags & (VM_IO | VM_PFNMAP)); in vma_is_io()
438 struct vm_area_struct *vma, unsigned long *res) in vb2_dc_get_user_pfn() argument
444 if (!vma_is_io(vma)) in vb2_dc_get_user_pfn()
447 ret = follow_pfn(vma, start, &pfn); in vb2_dc_get_user_pfn()
456 ret = follow_pfn(vma, start, &pfn); in vb2_dc_get_user_pfn()
471 int n_pages, struct vm_area_struct *vma, in vb2_dc_get_user_pages() argument
474 if (vma_is_io(vma)) { in vb2_dc_get_user_pages()
479 int ret = follow_pfn(vma, start, &pfn); in vb2_dc_get_user_pages()
529 if (!vma_is_io(buf->vma)) in vb2_dc_put_userptr()
535 vb2_put_vma(buf->vma); in vb2_dc_put_userptr()
581 struct vm_area_struct *vma; in vb2_dc_get_userptr() local
620 vma = find_vma(current->mm, vaddr); in vb2_dc_get_userptr()
621 if (!vma) { in vb2_dc_get_userptr()
627 if (vma->vm_end < vaddr + size) { in vb2_dc_get_userptr()
633 buf->vma = vb2_get_vma(vma); in vb2_dc_get_userptr()
634 if (!buf->vma) { in vb2_dc_get_userptr()
641 ret = vb2_dc_get_user_pages(start, pages, n_pages, vma, dma_dir); in vb2_dc_get_userptr()
644 if (vb2_dc_get_user_pfn(start, n_pages, vma, &pfn) == 0) { in vb2_dc_get_userptr()
704 if (!vma_is_io(buf->vma)) in vb2_dc_get_userptr()
712 if (pages && !vma_is_io(buf->vma)) in vb2_dc_get_userptr()
717 vb2_put_vma(buf->vma); in vb2_dc_get_userptr()