Lines Matching refs:vaddr
39 void *vaddr; member
120 buf->vaddr = NULL; in vb2_dma_sg_alloc()
192 if (buf->vaddr) in vb2_dma_sg_put()
193 vm_unmap_ram(buf->vaddr, buf->num_pages); in vb2_dma_sg_put()
232 static void *vb2_dma_sg_get_userptr(void *alloc_ctx, unsigned long vaddr, in vb2_dma_sg_get_userptr() argument
250 buf->vaddr = NULL; in vb2_dma_sg_get_userptr()
253 buf->offset = vaddr & ~PAGE_MASK; in vb2_dma_sg_get_userptr()
257 first = (vaddr & PAGE_MASK) >> PAGE_SHIFT; in vb2_dma_sg_get_userptr()
258 last = ((vaddr + size - 1) & PAGE_MASK) >> PAGE_SHIFT; in vb2_dma_sg_get_userptr()
266 vma = find_vma(current->mm, vaddr); in vb2_dma_sg_get_userptr()
268 dprintk(1, "no vma for address %lu\n", vaddr); in vb2_dma_sg_get_userptr()
272 if (vma->vm_end < vaddr + size) { in vb2_dma_sg_get_userptr()
274 vaddr, size); in vb2_dma_sg_get_userptr()
287 ++num_pages_from_user, vaddr += PAGE_SIZE) { in vb2_dma_sg_get_userptr()
290 if (follow_pfn(vma, vaddr, &pfn)) { in vb2_dma_sg_get_userptr()
291 dprintk(1, "no page for address %lu\n", vaddr); in vb2_dma_sg_get_userptr()
298 vaddr & PAGE_MASK, in vb2_dma_sg_get_userptr()
355 if (buf->vaddr) in vb2_dma_sg_put_userptr()
356 vm_unmap_ram(buf->vaddr, buf->num_pages); in vb2_dma_sg_put_userptr()
375 if (!buf->vaddr) { in vb2_dma_sg_vaddr()
377 buf->vaddr = dma_buf_vmap(buf->db_attach->dmabuf); in vb2_dma_sg_vaddr()
379 buf->vaddr = vm_map_ram(buf->pages, in vb2_dma_sg_vaddr()
384 return buf->vaddr ? buf->vaddr + buf->offset : NULL; in vb2_dma_sg_vaddr()
554 return buf->vaddr ? buf->vaddr + pgnum * PAGE_SIZE : NULL; in vb2_dma_sg_dmabuf_ops_kmap()
633 buf->vaddr = NULL; in vb2_dma_sg_map_dmabuf()
653 if (buf->vaddr) { in vb2_dma_sg_unmap_dmabuf()
654 dma_buf_vunmap(buf->db_attach->dmabuf, buf->vaddr); in vb2_dma_sg_unmap_dmabuf()
655 buf->vaddr = NULL; in vb2_dma_sg_unmap_dmabuf()
719 .vaddr = vb2_dma_sg_vaddr,