Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 137903
b: refs/heads/master
c: a7a1c0e
h: refs/heads/master
i:
  137901: 846e290
  137899: 0e9564c
  137895: eeb65fa
  137887: 07f9308
v: v3
  • Loading branch information
Mauro Carvalho Chehab committed Mar 30, 2009
1 parent 0d3ece9 commit 6d9d22a
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 10 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 44061c05ac8dedcc45c439e871f654c9521cc726
refs/heads/master: a7a1c0e60c706fc04c42c020cd9c45b8bfe14e8b
30 changes: 21 additions & 9 deletions trunk/Documentation/video4linux/v4l2-framework.txt
Original file line number Diff line number Diff line change
Expand Up @@ -558,26 +558,38 @@ announcing that a new buffer were filled.
The irq handling code should handle the videobuf task lists, in order
to advice videobuf that a new frame were filled, in order to honor to a
request. The code is generally like this one:
if (list_empty(&dma_q->active))
if (list_empty(&dma_q->active))
return;

buf = list_entry(dma_q->active.next, struct vbuffer, vb.queue);
buf = list_entry(dma_q->active.next, struct vbuffer, vb.queue);

if (!waitqueue_active(&buf->vb.done))
if (!waitqueue_active(&buf->vb.done))
return;

/* Some logic to handle the buf may be needed here */

list_del(&buf->vb.queue);
do_gettimeofday(&buf->vb.ts);
wake_up(&buf->vb.done);
list_del(&buf->vb.queue);
do_gettimeofday(&buf->vb.ts);
wake_up(&buf->vb.done);

Those are the videobuffer functions used on drivers, implemented on
videobuf-core:

- videobuf_queue_core_init()
Initializes the videobuf infrastructure. This function should be
called before any other videobuf function.
- Videobuf init functions
videobuf_queue_sg_init()
Initializes the videobuf infrastructure. This function should be
called before any other videobuf function on drivers that uses DMA
Scatter/Gather buffers.

videobuf_queue_dma_contig_init
Initializes the videobuf infrastructure. This function should be
called before any other videobuf function on drivers that need DMA
contiguous buffers.

videobuf_queue_vmalloc_init()
Initializes the videobuf infrastructure. This function should be
called before any other videobuf function on USB (and other drivers)
that need a vmalloced type of videobuf.

- videobuf_iolock()
Prepares the videobuf memory for the proper method (read, mmap, overlay).
Expand Down

0 comments on commit 6d9d22a

Please sign in to comment.