Lines Matching refs:buf
40 struct vb2_dc_buf *buf;
42 buf = kzalloc(sizeof *buf, GFP_KERNEL);
43 if (!buf)
46 buf->vaddr = dma_alloc_coherent(conf->dev, size, &buf->dma_addr,
48 if (!buf->vaddr) {
51 kfree(buf);
55 buf->conf = conf;
56 buf->size = size;
58 buf->handler.refcount = &buf->refcount;
59 buf->handler.put = vb2_dma_contig_put;
60 buf->handler.arg = buf;
62 atomic_inc(&buf->refcount);
64 return buf;
69 struct vb2_dc_buf *buf = buf_priv;
71 if (atomic_dec_and_test(&buf->refcount)) {
72 dma_free_coherent(buf->conf->dev, buf->size, buf->vaddr,
73 buf->dma_addr);
74 kfree(buf);
80 struct vb2_dc_buf *buf = buf_priv;
82 return &buf->dma_addr;
87 struct vb2_dc_buf *buf = buf_priv;
88 if (!buf)
91 return buf->vaddr;
96 struct vb2_dc_buf *buf = buf_priv;
98 return atomic_read(&buf->refcount);
103 struct vb2_dc_buf *buf = buf_priv;
105 if (!buf) {
110 return vb2_mmap_pfn_range(vma, buf->dma_addr, buf->size,
111 &vb2_common_vm_ops, &buf->handler);
117 struct vb2_dc_buf *buf;
122 buf = kzalloc(sizeof *buf, GFP_KERNEL);
123 if (!buf)
130 kfree(buf);
134 buf->size = size;
135 buf->dma_addr = dma_addr;
136 buf->vma = vma;
138 return buf;
143 struct vb2_dc_buf *buf = mem_priv;
145 if (!buf)
148 vb2_put_vma(buf->vma);
149 kfree(buf);