Commit a7a1c0e6 authored by Mauro Carvalho Chehab's avatar Mauro Carvalho Chehab

V4L/DVB (10571): v4l2-framework.txt: Fixes the videobuf init functions

Documents the driver usage functions, instead of the generic one used
by the videobuf specific handlers.
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
parent 44061c05
...@@ -558,26 +558,38 @@ announcing that a new buffer were filled. ...@@ -558,26 +558,38 @@ announcing that a new buffer were filled.
The irq handling code should handle the videobuf task lists, in order 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 to advice videobuf that a new frame were filled, in order to honor to a
request. The code is generally like this one: request. The code is generally like this one:
if (list_empty(&dma_q->active)) if (list_empty(&dma_q->active))
return; 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; return;
/* Some logic to handle the buf may be needed here */ /* Some logic to handle the buf may be needed here */
list_del(&buf->vb.queue); list_del(&buf->vb.queue);
do_gettimeofday(&buf->vb.ts); do_gettimeofday(&buf->vb.ts);
wake_up(&buf->vb.done); wake_up(&buf->vb.done);
Those are the videobuffer functions used on drivers, implemented on Those are the videobuffer functions used on drivers, implemented on
videobuf-core: videobuf-core:
- videobuf_queue_core_init() - Videobuf init functions
Initializes the videobuf infrastructure. This function should be videobuf_queue_sg_init()
called before any other videobuf function. 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() - videobuf_iolock()
Prepares the videobuf memory for the proper method (read, mmap, overlay). Prepares the videobuf memory for the proper method (read, mmap, overlay).
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment