• Home
  • Raw
  • Download

Lines Matching refs:q

42 	dev_dbg(map->q->dev, "vm_open %p [count=%u,vma=%08lx-%08lx]\n",  in videobuf_vm_open()
51 struct videobuf_queue *q = map->q; in videobuf_vm_close() local
54 dev_dbg(map->q->dev, "vm_close %p [count=%u,vma=%08lx-%08lx]\n", in videobuf_vm_close()
61 dev_dbg(map->q->dev, "munmap %p q=%p\n", map, q); in videobuf_vm_close()
62 mutex_lock(&q->vb_lock); in videobuf_vm_close()
65 if (q->streaming) in videobuf_vm_close()
66 videobuf_queue_cancel(q); in videobuf_vm_close()
69 if (NULL == q->bufs[i]) in videobuf_vm_close()
72 if (q->bufs[i]->map != map) in videobuf_vm_close()
75 mem = q->bufs[i]->priv; in videobuf_vm_close()
88 dev_dbg(map->q->dev, "buf[%d] freeing %p\n", in videobuf_vm_close()
91 dma_free_coherent(q->dev, mem->size, in videobuf_vm_close()
96 q->bufs[i]->map = NULL; in videobuf_vm_close()
97 q->bufs[i]->baddr = 0; in videobuf_vm_close()
102 mutex_unlock(&q->vb_lock); in videobuf_vm_close()
135 static int __videobuf_iolock(struct videobuf_queue *q, in __videobuf_iolock() argument
146 dev_dbg(q->dev, "%s memory method MMAP\n", __func__); in __videobuf_iolock()
150 dev_err(q->dev, "memory is not alloced/mmapped.\n"); in __videobuf_iolock()
155 dev_dbg(q->dev, "%s memory method USERPTR\n", __func__); in __videobuf_iolock()
164 mem->vaddr = dma_alloc_coherent(q->dev, mem->size, in __videobuf_iolock()
167 dev_err(q->dev, "dma_alloc_coherent %ld failed\n", in __videobuf_iolock()
172 dev_dbg(q->dev, "dma_alloc_coherent data is at %p (%ld)\n", in __videobuf_iolock()
177 dev_dbg(q->dev, "%s memory method OVERLAY/unknown\n", in __videobuf_iolock()
185 static int __videobuf_sync(struct videobuf_queue *q, in __videobuf_sync() argument
193 dma_sync_single_for_cpu(q->dev, mem->dma_handle, mem->size, in __videobuf_sync()
198 static int __videobuf_mmap_free(struct videobuf_queue *q) in __videobuf_mmap_free() argument
202 dev_dbg(q->dev, "%s\n", __func__); in __videobuf_mmap_free()
204 if (q->bufs[i] && q->bufs[i]->map) in __videobuf_mmap_free()
211 static int __videobuf_mmap_mapper(struct videobuf_queue *q, in __videobuf_mmap_mapper() argument
220 dev_dbg(q->dev, "%s\n", __func__); in __videobuf_mmap_mapper()
226 if (!q->bufs[first]) in __videobuf_mmap_mapper()
229 if (V4L2_MEMORY_MMAP != q->bufs[first]->memory) in __videobuf_mmap_mapper()
231 if (q->bufs[first]->boff == offset) in __videobuf_mmap_mapper()
235 dev_dbg(q->dev, "invalid user space offset [offset=0x%lx]\n", in __videobuf_mmap_mapper()
245 q->bufs[first]->map = map; in __videobuf_mmap_mapper()
248 map->q = q; in __videobuf_mmap_mapper()
250 q->bufs[first]->baddr = vma->vm_start; in __videobuf_mmap_mapper()
252 mem = q->bufs[first]->priv; in __videobuf_mmap_mapper()
256 mem->size = PAGE_ALIGN(q->bufs[first]->bsize); in __videobuf_mmap_mapper()
257 mem->vaddr = dma_alloc_coherent(q->dev, mem->size, in __videobuf_mmap_mapper()
260 dev_err(q->dev, "dma_alloc_coherent size %ld failed\n", in __videobuf_mmap_mapper()
264 dev_dbg(q->dev, "dma_alloc_coherent data is at addr %p (size %ld)\n", in __videobuf_mmap_mapper()
277 dev_err(q->dev, "mmap: remap failed with error %d. ", retval); in __videobuf_mmap_mapper()
278 dma_free_coherent(q->dev, mem->size, in __videobuf_mmap_mapper()
287 dev_dbg(q->dev, "mmap %p: q=%p %08lx-%08lx (%lx) pgoff %08lx buf %d\n", in __videobuf_mmap_mapper()
288 map, q, vma->vm_start, vma->vm_end, in __videobuf_mmap_mapper()
289 (long int) q->bufs[first]->bsize, in __videobuf_mmap_mapper()
301 static int __videobuf_copy_to_user(struct videobuf_queue *q, in __videobuf_copy_to_user() argument
305 struct videobuf_dma_contig_memory *mem = q->read_buf->priv; in __videobuf_copy_to_user()
313 if (count > q->read_buf->size - q->read_off) in __videobuf_copy_to_user()
314 count = q->read_buf->size - q->read_off; in __videobuf_copy_to_user()
318 if (copy_to_user(data, vaddr + q->read_off, count)) in __videobuf_copy_to_user()
324 static int __videobuf_copy_stream(struct videobuf_queue *q, in __videobuf_copy_stream() argument
329 struct videobuf_dma_contig_memory *mem = q->read_buf->priv; in __videobuf_copy_stream()
340 fc += (q->read_buf->size >> 2) - 1; in __videobuf_copy_stream()
341 *fc = q->read_buf->field_count >> 1; in __videobuf_copy_stream()
342 dev_dbg(q->dev, "vbihack: %d\n", *fc); in __videobuf_copy_stream()
346 count = __videobuf_copy_to_user(q, data, count, nonblocking); in __videobuf_copy_stream()
367 void videobuf_queue_dma_contig_init(struct videobuf_queue *q, in videobuf_queue_dma_contig_init() argument
376 videobuf_queue_core_init(q, ops, dev, irqlock, type, field, msize, in videobuf_queue_dma_contig_init()
392 void videobuf_dma_contig_free(struct videobuf_queue *q, in videobuf_dma_contig_free() argument
411 dma_free_coherent(q->dev, mem->size, mem->vaddr, mem->dma_handle); in videobuf_dma_contig_free()