Home
last modified time | relevance | path

Searched full:buffer (Results 1 – 25 of 742) sorted by relevance

12345678910>>...30

/Documentation/core-api/
Dcircular-buffers.rst16 buffer don't want to share a lock.
25 (*) What is a circular buffer?
35 What is a circular buffer?
38 First of all, what is a circular buffer? A circular buffer is a buffer of
42 buffer.
45 the buffer.
47 Typically when the tail pointer is equal to the head pointer, the buffer is
48 empty; and the buffer is full when the head pointer is one less than the tail
53 indices should be wrapped to 0 when they reach the end of the buffer, thus
54 allowing an infinite amount of data to flow through the buffer.
[all …]
Dswiotlb.rst7 swiotlb is a memory buffer allocator used by the Linux kernel DMA layer. It is
9 buffer because of hardware limitations or other requirements. In such a case,
10 the DMA layer calls swiotlb to allocate a temporary memory buffer that conforms
11 to the limitations. The DMA is done to/from this temporary memory buffer, and
12 the CPU copies the data between the temporary buffer and the original target
13 memory buffer. This approach is generically called "bounce buffering", and the
14 temporary memory buffer is called a "bounce buffer".
24 Because the CPU copies data between the bounce buffer and the original target
25 memory buffer, doing bounce buffering is slower than doing DMA directly to the
26 original memory buffer, and it consumes more CPU resources. So it is used only
[all …]
/Documentation/userspace-api/
Dperf_ring_buffer.rst4 Perf ring buffer
11 2. Ring buffer implementation
13 2.2 Ring buffer for different tracing modes
18 2.3 Accessing buffer
21 2.3.3 Writing samples into buffer
22 2.3.4 Reading samples from buffer
25 3. The mechanism of AUX ring buffer
34 The ring buffer is a fundamental mechanism for data transfer. perf uses
36 kind of ring buffer which is so called auxiliary (AUX) ring buffer also
40 The ring buffer implementation is critical but it's also a very
[all …]
Ddma-buf-alloc-exchange.rst9 support for sharing pixel-buffer allocations between processes, devices, and
40 memory buffer:
94 Each buffer must have an underlying format. This format describes the color
121 samples, and the actual memory storage for the buffer. The most straightforward
149 Each pixel buffer must be accompanied by logical pixel dimensions. This refers
152 ``DRM_FORMAT_NV12`` buffer has a luma plane containing 1920x1080 samples for the Y
153 component, and 960x540 samples for the U and V components, the overall buffer is
156 The in-memory storage of a buffer is not guaranteed to begin immediately at the
163 buffer; for example, ``DRM_FORMAT_NV12`` may be stored in a single memory buffer
164 where the luma plane's storage begins immediately at the start of the buffer
[all …]
/Documentation/userspace-api/media/v4l/
Dvidioc-qbuf.rst13 VIDIOC_QBUF - VIDIOC_DQBUF - Exchange a buffer with the driver
39 (capturing) or filled (output) buffer in the driver's incoming queue.
42 To enqueue a buffer applications set the ``type`` field of a struct
43 :c:type:`v4l2_buffer` to the same buffer type as was
52 When the buffer is intended for output (``type`` is
55 ``bytesused``, ``field`` and ``timestamp`` fields, see :ref:`buffer`
63 To enqueue a :ref:`memory mapped <mmap>` buffer applications set the
70 To enqueue a :ref:`user pointer <userp>` buffer applications set the
72 the address of the buffer and ``length`` to its size. When the
79 memory pages of the buffer in physical memory, they cannot be swapped
[all …]
Dbuffer.rst10 A buffer contains data exchanged by application and driver using one of
12 planes, while the buffer structure acts as a container for the planes.
27 ``V4L2_BUF_FLAG_TSTAMP_SRC_MASK`` in :ref:`buffer-flags`. These flags
34 flags are copied from the OUTPUT video buffer to the CAPTURE video
35 buffer.
40 V4L2 exposes parameters that influence the buffer size, or the way data is
41 laid out in the buffer. Those parameters are exposed through both formats and
43 that modifies the direction in which pixels are stored in the buffer, as well
44 as the buffer size when the selected format includes padding at the end of
47 The set of information needed to interpret the content of a buffer (e.g. the
[all …]
Dmmap.rst28 unique buffer type value. The sets are independent and each set can hold
34 of buffers and buffer type, for example ``V4L2_BUF_TYPE_VIDEO_CAPTURE``.
48 multi-planar API, every plane of every buffer has to be mapped
50 be equal to number of buffers times number of planes in each buffer. The
86 printf("Not enough buffer memory\\n");
94 struct v4l2_buffer buffer;
96 memset(&buffer, 0, sizeof(buffer));
97 buffer.type = reqbuf.type;
98 buffer.memory = V4L2_MEMORY_MMAP;
99 buffer.index = i;
[all …]
Dpixfmt-compressed.rst44 The decoder expects one Access Unit per buffer.
45 The encoder generates one Access Unit per buffer.
77 Exactly one output and one capture buffer must be provided for use
78 with this pixel format. The output buffer must contain the
80 corresponding frame to the matching capture buffer.
100 - MPEG1 Picture. Each buffer starts with a Picture header, followed
109 - MPEG2 Picture. Each buffer starts with a Picture header, followed
127 Exactly one output and one capture buffer must be provided for use with
128 this pixel format. The output buffer must contain the appropriate number
130 capture buffer.
[all …]
Ddev-stateless-decoder.rst110 frame buffer resolution for the decoded frames.
119 as per standard semantics; matching frame buffer format.
162 frame buffer resolution of the decoded stream; typically unchanged from
222 8. Allocate requests (likely one per ``OUTPUT`` buffer) via
235 configuration, as a buffer submitted to the ``OUTPUT`` queue. Typically, this
241 The amount of data and contents of the source ``OUTPUT`` buffer, as well as the
249 buffer. This will result in the (potentially partially) decoded ``CAPTURE``
250 buffer not being made available for dequeueing, and reused for the next decode
251 request if the timestamp of the next ``OUTPUT`` buffer has not changed.
255 1. Queue an ``OUTPUT`` buffer containing one unit of encoded bytestream data for
[all …]
/Documentation/filesystems/
Drelay.rst16 buffer. User space applications mmap() or read() from the relay files
24 buffer data. The relay interface doesn't implement any form of data
35 Each relay channel has one buffer per CPU, each buffer has one or more
36 sub-buffers. Messages are written to the first sub-buffer until it is
40 sub-buffer, while the kernel continues writing to the next.
42 When notified that a sub-buffer is full, the kernel knows how many
44 message couldn't fit into a sub-buffer. Userspace can use this
47 After copying it, userspace can notify the kernel that a sub-buffer
101 such as buffer-full conditions would still need to be communicated via
111 access to relay channel buffer data. Here are the file operations
[all …]
/Documentation/bpf/
Dringbuf.rst2 BPF ring buffer
5 This document describes BPF ring buffer design, API, and implementation details.
15 existing perf buffer, which prompted creation of a new ring buffer
18 - more efficient memory utilization by sharing ring buffer across CPUs;
22 These two problems are independent, but perf buffer fails to satisfy both.
23 Both are a result of a choice to have per-CPU perf ring buffer. Both can be
24 also solved by having an MPSC implementation of ring buffer. The ordering
25 problem could technically be solved for perf buffer with some in-kernel
26 counting, but given the first one requires an MPSC buffer, the same solution
32 Single ring buffer is presented to BPF programs as an instance of BPF map of
[all …]
/Documentation/i2c/
Ddma-considerations.rst11 Therefore, it is *not* mandatory that the buffer of an I2C message is DMA safe.
13 rarely used. However, it is recommended to use a DMA-safe buffer if your
24 For clients, if you use a DMA safe buffer in i2c_msg, set the I2C_M_DMA_SAFE
28 using an unsafe DMA buffer. To improve this situation, using I2C_M_DMA_SAFE in
43 the I2C core. One gives you a DMA-safe buffer for a given i2c_msg as long as a
48 If a buffer is returned, it is either msg->buf for the I2C_M_DMA_SAFE case or a
49 bounce buffer. But you don't need to care about that detail, just use the
50 returned buffer. If NULL is returned, the threshold was not met or a bounce
51 buffer could not be allocated. Fall back to PIO in that case.
53 In any case, a buffer obtained from above needs to be released. Another helper
[all …]
/Documentation/trace/
Ddebugging.rst30 written to the tracing ring buffer in a lockless way. To make it even
32 string, and save the raw arguments into the buffer. The format and the
33 arguments will be post processed when the ring buffer is read. This way the
62 The tracing ring buffer, by default, is a circular buffer than will
64 the ring buffer will be all the events that lead up to the crash.
68 buffer when a oops occurs to the console. This can be useful if the console
70 make sure the ring buffer is relatively small, otherwise the dumping of the
71 ring buffer may take several minutes to hours to finish. Here's an example
76 Note, the tracing buffer is made up of per CPU buffers where each of these
83 If the system memory allows it, the tracing ring buffer can be specified at
[all …]
Dring-buffer-map.rst4 Tracefs ring-buffer memory mapping
11 Tracefs ring-buffer memory map provides an efficient method to stream data
12 as no memory copy is necessary. The application mapping the ring-buffer becomes
13 then a consumer for that ring-buffer, in a similar fashion to trace_pipe.
19 The first system page of the mapping contains ring-buffer statistics and
21 fields of the meta-page is the reader. It contains the sub-buffer ID which can
22 be safely read by the mapper (see ring-buffer-design.rst).
38 When a mapping is in place on a Tracefs ring-buffer, it is not possible to
39 either resize it (either by increasing the entire size of the ring-buffer or
41 the ring buffer data instead of using the copyless swap from the ring buffer.
[all …]
/Documentation/driver-api/iio/
Dbuffers.rst5 * struct iio_buffer — general buffer structure
8 * :c:func:`iio_buffer_get` — Grab a reference to the buffer
9 * :c:func:`iio_buffer_put` — Release the reference to the buffer
15 IIO buffer sysfs interface
17 An IIO buffer has an associated attributes directory under
18 :file:`/sys/bus/iio/devices/iio:device{X}/buffer/*`. Here are some of the
22 stored by the buffer.
23 * :file:`enable`, activate buffer capture.
25 IIO buffer setup
28 The meta information associated with a channel reading placed in a buffer is
[all …]
Dtriggered-buffers.rst7 IIO triggered buffer setup
10 * :c:func:`iio_triggered_buffer_setup` — Setup triggered buffer and pollfunc
13 * struct iio_buffer_setup_ops — buffer setup related callbacks
15 A typical triggered buffer setup looks like this::
45 /* setup triggered buffer, usually in probe function */
52 * :c:type:`iio_buffer_setup_ops`, the buffer setup functions to be called at
53 predefined points in the buffer configuration sequence (e.g. before enable,
64 stores it in the internal buffer together with the timestamp recorded in the
69 .. kernel-doc:: drivers/iio/buffer/industrialio-triggered-buffer.c
/Documentation/iio/
Diio_devbuf.rst14 Devices with buffer support feature an additional sub-directory in the
16 Y defaults to 0, for devices with a single buffer.
18 2. Buffer attributes
21 An IIO buffer has an associated attributes directory under
28 that can be stored by the buffer.
33 Read / Write attribute which starts / stops the buffer capture. This file should
49 Non-blocking read will retrieve the available samples from the buffer even if
57 Read-only attribute indicating the bytes of data available in the buffer. In the
58 case of an output buffer, this indicates the amount of empty space available to
59 write data to. In the case of an input buffer, this indicates the amount of data
[all …]
Diio_dmabuf_api.rst15 can attach DMABUF objects (externally created) to an IIO buffer, and
35 IOCTLs have to be performed on the IIO buffer's file descriptor, which
40 IIO buffer. Returns zero on success, and a negative errno value on
45 from the IIO buffer. Returns zero on success, and a negative errno
48 Note that closing the IIO buffer's file descriptor will
52 Enqueue a previously attached DMABUF object to the buffer queue.
53 Enqueued DMABUFs will be read from (if output buffer) or written to
54 (if input buffer) as long as the buffer is enabled.
/Documentation/userspace-api/media/dvb/
Ddmx-qbuf.rst13 DMX_QBUF - DMX_DQBUF - Exchange a buffer with the driver
41 (capturing) or filled (output) buffer in the driver's incoming queue.
44 To enqueue a buffer applications set the ``index`` field. Valid index
51 memory pages of the buffer in physical memory, so they cannot be swapped
56 (capturing) buffer from the driver's outgoing queue.
57 They just set the ``index`` field with the buffer ID to be queued.
61 By default ``DMX_DQBUF`` blocks when no buffer is in the outgoing
64 immediately with an ``EAGAIN`` error code when no buffer is available.
67 :ref:`buffer`.
78 buffer was in the outgoing queue.
/Documentation/translations/zh_CN/core-api/
Dcircular-buffers.rst144 unsigned long head = buffer->head;
146 unsigned long tail = READ_ONCE(buffer->tail);
148 if (CIRC_SPACE(head, tail, buffer->size) >= 1) {
150 struct item *item = buffer[head];
154 smp_store_release(buffer->head,
155 (head + 1) & (buffer->size - 1));
180 unsigned long head = smp_load_acquire(buffer->head);
181 unsigned long tail = buffer->tail;
183 if (CIRC_CNT(head, tail, buffer->size) >= 1) {
186 struct item *item = buffer[tail];
[all …]
/Documentation/ABI/testing/
Ddell-smbios-wmi9 IOCTL's and buffer formats are defined in:
14 buffer for your machine.
19 To determine the size of the buffer read() a u64 dword from
23 interface buffer, you can allocate a structure that represents
26 3) In the 'length' object store the size of the buffer you
29 4) In this buffer object, prepare as necessary for the SMBIOS
39 7) The output will be returned in the buffer object.
Dconfigfs-most19 configure the buffer size for this channel
22 configure the sub-buffer size for this channel
39 configure DBR data buffer size (this is used
74 configure the buffer size for this channel
77 configure the sub-buffer size for this channel
94 configure DBR data buffer size (this is used
129 configure the buffer size for this channel
132 configure the sub-buffer size for this channel
149 configure DBR data buffer size (this is used
195 configure the buffer size for this channel
[all …]
Dsysfs-bus-intel_th-devices-msc5 Description: (RW) Configure MSC buffer wrapping. 1 == wrapping enabled.
13 - "single", for contiguous buffer mode (high-order alloc);
17 - any of the currently loaded buffer sinks.
19 If operating mode changes, existing buffer is deallocated,
27 Description: (RW) Configure MSC buffer size for "single" or "multi" modes.
34 Writing to this file deallocates existing buffer (provided
42 Description: (RW) Trigger window switch for the MSC's buffer, in
44 triggering a window switch for the buffer. Returns an error in any
/Documentation/driver-api/
Dframe-buffer.rst1 Frame Buffer Library
4 The frame buffer drivers depend heavily on four data structures. These
20 otherwise. A good example of this is the start of the frame buffer
21 memory. This "locks" the address of the frame buffer memory, so that it
31 Frame Buffer Memory
37 Frame Buffer Colormap
43 Frame Buffer Video Mode Database
52 Frame Buffer Macintosh Video Mode Database
58 Frame Buffer Fonts
/Documentation/driver-api/tty/
Dtty_buffer.rst4 TTY Buffer
9 Here, we document functions for taking care of tty buffer and their flipping.
10 Drivers are supposed to fill the buffer by one of those functions below and
11 then flip the buffer, so that the data are passed to :doc:`line discipline
14 Flip Buffer Management
35 Buffer Locking

12345678910>>...30