Lines Matching full:buffers
21 and user space. It handles the allocation and management of buffers for
34 Not all video devices use the same kind of buffers. In fact, there are (at
37 - Buffers which are scattered in both the physical and (kernel) virtual
38 address spaces. (Almost) all user-space buffers are like this, but it
39 makes great sense to allocate kernel-space buffers this way as well when
44 - Buffers which are physically scattered, but which are virtually
45 contiguous; buffers allocated with vmalloc(), in other words. These
46 buffers are just as hard to use for DMA operations, but they can be
48 buffers are convenient.
50 - Buffers which are physically contiguous. Allocation of this kind of
54 Videobuf can work with all three types of buffers, but the driver author
57 [It's worth noting that there's a fourth kind of buffer: "overlay" buffers
61 benefits merit the use of this technique. Overlay buffers can be handled
69 Depending on which type of buffers are being used, the driver should
75 <media/videobuf-vmalloc.h> /* vmalloc() buffers */
80 along with a list_head for the queue of available buffers. There will also
85 the management of buffers:
103 parameter will be a suggested number of buffers to use; the driver should
105 minimum of two buffers are needed for proper streaming, and there is
125 put it onto the driver's list of available buffers and set its state to
129 wait on the first buffer in the queue; placing other buffers in front of it
130 could again gum up the works. So use list_add_tail() to enqueue buffers.
245 When streaming I/O is done to kernel-space buffers, the driver must support
266 videobuf_mmap_free() will ensure that all buffers have been unmapped; if
267 so, they will all be passed to the buf_release() callback. If buffers
270 buffers are still mapped, but every driver in the 2.6.32 kernel cheerfully
305 Thus far, we have talked about buffers, but have not looked at how they are
308 videobuf layer; in this case, buffers will be allocated as anonymous
310 using user-space buffers, no allocation is needed; the videobuf layer will
336 allocate the buffers (with dma_alloc_coherent()) when it sees fit. That
344 allocations will not meet that criterion, but buffers obtained from other
348 Filling the buffers
352 the portion of the code which actually puts frame data into the buffers,
365 the engine and enqueueing buffers are done in separate steps, it's possible
366 for the engine to be running without any buffers available - in the