Lines Matching refs:vaddr
30 void *vaddr; member
101 if (!buf->vaddr && buf->db_attach) in vb2_dc_vaddr()
102 buf->vaddr = dma_buf_vmap(buf->db_attach->dmabuf); in vb2_dc_vaddr()
104 return buf->vaddr; in vb2_dc_vaddr()
153 dma_free_coherent(buf->dev, buf->size, buf->vaddr, buf->dma_addr); in vb2_dc_put()
169 buf->vaddr = dma_alloc_coherent(dev, size, &buf->dma_addr, in vb2_dc_alloc()
171 if (!buf->vaddr) { in vb2_dc_alloc()
207 ret = dma_mmap_coherent(buf->dev, vma, buf->vaddr, in vb2_dc_mmap()
351 return buf->vaddr + pgnum * PAGE_SIZE; in vb2_dc_dmabuf_ops_kmap()
358 return buf->vaddr; in vb2_dc_dmabuf_ops_vmap()
390 ret = dma_get_sgtable(buf->dev, sgt, buf->vaddr, buf->dma_addr, in vb2_dc_get_base_sgt()
570 static void *vb2_dc_get_userptr(void *alloc_ctx, unsigned long vaddr, in vb2_dc_get_userptr() argument
590 if (!IS_ALIGNED(vaddr | size, dma_align)) { in vb2_dc_get_userptr()
607 start = vaddr & PAGE_MASK; in vb2_dc_get_userptr()
608 offset = vaddr & ~PAGE_MASK; in vb2_dc_get_userptr()
609 end = PAGE_ALIGN(vaddr + size); in vb2_dc_get_userptr()
620 vma = find_vma(current->mm, vaddr); in vb2_dc_get_userptr()
622 pr_err("no vma for address %lu\n", vaddr); in vb2_dc_get_userptr()
627 if (vma->vm_end < vaddr + size) { in vb2_dc_get_userptr()
628 pr_err("vma at %lu is too small for %lu bytes\n", vaddr, size); in vb2_dc_get_userptr()
766 buf->vaddr = NULL; in vb2_dc_map_dmabuf()
786 if (buf->vaddr) { in vb2_dc_unmap_dmabuf()
787 dma_buf_vunmap(buf->db_attach->dmabuf, buf->vaddr); in vb2_dc_unmap_dmabuf()
788 buf->vaddr = NULL; in vb2_dc_unmap_dmabuf()
848 .vaddr = vb2_dc_vaddr,