diff options
Diffstat (limited to 'Documentation/video4linux')
-rw-r--r-- | Documentation/video4linux/v4l2-framework.txt | 30 |
1 files changed, 21 insertions, 9 deletions
diff --git a/Documentation/video4linux/v4l2-framework.txt b/Documentation/video4linux/v4l2-framework.txt index 8d2db7e09e89..48cdf86248cb 100644 --- a/Documentation/video4linux/v4l2-framework.txt +++ b/Documentation/video4linux/v4l2-framework.txt | |||
@@ -558,26 +558,38 @@ announcing that a new buffer were filled. | |||
558 | The irq handling code should handle the videobuf task lists, in order | 558 | The irq handling code should handle the videobuf task lists, in order |
559 | to advice videobuf that a new frame were filled, in order to honor to a | 559 | to advice videobuf that a new frame were filled, in order to honor to a |
560 | request. The code is generally like this one: | 560 | request. The code is generally like this one: |
561 | if (list_empty(&dma_q->active)) | 561 | if (list_empty(&dma_q->active)) |
562 | return; | 562 | return; |
563 | 563 | ||
564 | buf = list_entry(dma_q->active.next, struct vbuffer, vb.queue); | 564 | buf = list_entry(dma_q->active.next, struct vbuffer, vb.queue); |
565 | 565 | ||
566 | if (!waitqueue_active(&buf->vb.done)) | 566 | if (!waitqueue_active(&buf->vb.done)) |
567 | return; | 567 | return; |
568 | 568 | ||
569 | /* Some logic to handle the buf may be needed here */ | 569 | /* Some logic to handle the buf may be needed here */ |
570 | 570 | ||
571 | list_del(&buf->vb.queue); | 571 | list_del(&buf->vb.queue); |
572 | do_gettimeofday(&buf->vb.ts); | 572 | do_gettimeofday(&buf->vb.ts); |
573 | wake_up(&buf->vb.done); | 573 | wake_up(&buf->vb.done); |
574 | 574 | ||
575 | Those are the videobuffer functions used on drivers, implemented on | 575 | Those are the videobuffer functions used on drivers, implemented on |
576 | videobuf-core: | 576 | videobuf-core: |
577 | 577 | ||
578 | - videobuf_queue_core_init() | 578 | - Videobuf init functions |
579 | Initializes the videobuf infrastructure. This function should be | 579 | videobuf_queue_sg_init() |
580 | called before any other videobuf function. | 580 | Initializes the videobuf infrastructure. This function should be |
581 | called before any other videobuf function on drivers that uses DMA | ||
582 | Scatter/Gather buffers. | ||
583 | |||
584 | videobuf_queue_dma_contig_init | ||
585 | Initializes the videobuf infrastructure. This function should be | ||
586 | called before any other videobuf function on drivers that need DMA | ||
587 | contiguous buffers. | ||
588 | |||
589 | videobuf_queue_vmalloc_init() | ||
590 | Initializes the videobuf infrastructure. This function should be | ||
591 | called before any other videobuf function on USB (and other drivers) | ||
592 | that need a vmalloced type of videobuf. | ||
581 | 593 | ||
582 | - videobuf_iolock() | 594 | - videobuf_iolock() |
583 | Prepares the videobuf memory for the proper method (read, mmap, overlay). | 595 | Prepares the videobuf memory for the proper method (read, mmap, overlay). |