Lines Matching refs:mem

41 			       struct videobuf_dma_contig_memory *mem,  in __videobuf_dc_alloc()  argument
44 mem->size = size; in __videobuf_dc_alloc()
45 mem->vaddr = dma_alloc_coherent(dev, mem->size, in __videobuf_dc_alloc()
46 &mem->dma_handle, flags); in __videobuf_dc_alloc()
48 if (!mem->vaddr) { in __videobuf_dc_alloc()
49 dev_err(dev, "memory alloc size %ld failed\n", mem->size); in __videobuf_dc_alloc()
53 dev_dbg(dev, "dma mapped data is at %p (%ld)\n", mem->vaddr, mem->size); in __videobuf_dc_alloc()
59 struct videobuf_dma_contig_memory *mem) in __videobuf_dc_free() argument
61 dma_free_coherent(dev, mem->size, mem->vaddr, mem->dma_handle); in __videobuf_dc_free()
63 mem->vaddr = NULL; in __videobuf_dc_free()
87 struct videobuf_dma_contig_memory *mem; in videobuf_vm_close() local
103 mem = q->bufs[i]->priv; in videobuf_vm_close()
104 if (mem) { in videobuf_vm_close()
111 MAGIC_CHECK(mem->magic, MAGIC_DC_MEM); in videobuf_vm_close()
117 i, mem->vaddr); in videobuf_vm_close()
119 __videobuf_dc_free(q->dev, mem); in videobuf_vm_close()
120 mem->vaddr = NULL; in videobuf_vm_close()
144 static void videobuf_dma_contig_user_put(struct videobuf_dma_contig_memory *mem) in videobuf_dma_contig_user_put() argument
146 mem->dma_handle = 0; in videobuf_dma_contig_user_put()
147 mem->size = 0; in videobuf_dma_contig_user_put()
160 static int videobuf_dma_contig_user_get(struct videobuf_dma_contig_memory *mem, in videobuf_dma_contig_user_get() argument
171 mem->size = PAGE_ALIGN(vb->size + offset); in videobuf_dma_contig_user_get()
180 if ((vb->baddr + mem->size) > vma->vm_end) in videobuf_dma_contig_user_get()
187 while (pages_done < (mem->size >> PAGE_SHIFT)) { in videobuf_dma_contig_user_get()
193 mem->dma_handle = (this_pfn << PAGE_SHIFT) + offset; in videobuf_dma_contig_user_get()
213 struct videobuf_dma_contig_memory *mem; in __videobuf_alloc() local
216 vb = kzalloc(size + sizeof(*mem), GFP_KERNEL); in __videobuf_alloc()
219 mem = vb->priv; in __videobuf_alloc()
220 mem->magic = MAGIC_DC_MEM; in __videobuf_alloc()
228 struct videobuf_dma_contig_memory *mem = buf->priv; in __videobuf_to_vaddr() local
230 BUG_ON(!mem); in __videobuf_to_vaddr()
231 MAGIC_CHECK(mem->magic, MAGIC_DC_MEM); in __videobuf_to_vaddr()
233 return mem->vaddr; in __videobuf_to_vaddr()
240 struct videobuf_dma_contig_memory *mem = vb->priv; in __videobuf_iolock() local
242 BUG_ON(!mem); in __videobuf_iolock()
243 MAGIC_CHECK(mem->magic, MAGIC_DC_MEM); in __videobuf_iolock()
250 if (!mem->vaddr) { in __videobuf_iolock()
260 return videobuf_dma_contig_user_get(mem, vb); in __videobuf_iolock()
263 if (__videobuf_dc_alloc(q->dev, mem, PAGE_ALIGN(vb->size), in __videobuf_iolock()
280 struct videobuf_dma_contig_memory *mem; in __videobuf_mmap_mapper() local
297 mem = buf->priv; in __videobuf_mmap_mapper()
298 BUG_ON(!mem); in __videobuf_mmap_mapper()
299 MAGIC_CHECK(mem->magic, MAGIC_DC_MEM); in __videobuf_mmap_mapper()
301 if (__videobuf_dc_alloc(q->dev, mem, PAGE_ALIGN(buf->bsize), in __videobuf_mmap_mapper()
317 retval = vm_iomap_memory(vma, mem->dma_handle, size); in __videobuf_mmap_mapper()
321 dma_free_coherent(q->dev, mem->size, in __videobuf_mmap_mapper()
322 mem->vaddr, mem->dma_handle); in __videobuf_mmap_mapper()
368 struct videobuf_dma_contig_memory *mem = buf->priv; in videobuf_to_dma_contig() local
370 BUG_ON(!mem); in videobuf_to_dma_contig()
371 MAGIC_CHECK(mem->magic, MAGIC_DC_MEM); in videobuf_to_dma_contig()
373 return mem->dma_handle; in videobuf_to_dma_contig()
380 struct videobuf_dma_contig_memory *mem = buf->priv; in videobuf_dma_contig_free() local
391 if (!mem) in videobuf_dma_contig_free()
394 MAGIC_CHECK(mem->magic, MAGIC_DC_MEM); in videobuf_dma_contig_free()
398 videobuf_dma_contig_user_put(mem); in videobuf_dma_contig_free()
403 if (mem->vaddr) { in videobuf_dma_contig_free()
404 __videobuf_dc_free(q->dev, mem); in videobuf_dma_contig_free()
405 mem->vaddr = NULL; in videobuf_dma_contig_free()