Lines Matching +full:non +full:- +full:coherent

1 .. SPDX-License-Identifier: GFDL-1.1-no-invariants-or-later
13 VIDIOC_REQBUFS - Initiate Memory Mapping, User Pointer I/O or DMA buffer I/O
78 .. flat-table:: struct v4l2_requestbuffers
79 :header-rows: 0
80 :stub-columns: 0
83 * - __u32
84 - ``count``
85 - The number of buffers requested or granted.
86 * - __u32
87 - ``type``
88 - Type of the stream or buffers, this is the same as the struct
91 * - __u32
92 - ``memory``
93 - Applications set this field to ``V4L2_MEMORY_MMAP``,
96 * - __u32
97 - ``capabilities``
98 - Set by the driver. If 0, then the driver doesn't support
104 If you want to query the capabilities with a minimum of side-effects,
109 * - __u8
110 - ``flags``
111 - Specifies additional buffer management attributes.
112 See :ref:`memory-flags`.
113 * - __u8
114 - ``reserved``\ [3]
115 - Reserved for future extensions.
117 .. _v4l2-buf-capabilities:
118 .. _V4L2-BUF-CAP-SUPPORTS-MMAP:
119 .. _V4L2-BUF-CAP-SUPPORTS-USERPTR:
120 .. _V4L2-BUF-CAP-SUPPORTS-DMABUF:
121 .. _V4L2-BUF-CAP-SUPPORTS-REQUESTS:
122 .. _V4L2-BUF-CAP-SUPPORTS-ORPHANED-BUFS:
123 .. _V4L2-BUF-CAP-SUPPORTS-M2M-HOLD-CAPTURE-BUF:
124 .. _V4L2-BUF-CAP-SUPPORTS-MMAP-CACHE-HINTS:
125 .. _V4L2-BUF-CAP-SUPPORTS-MAX-NUM-BUFFERS:
126 .. _V4L2-BUF-CAP-SUPPORTS-REMOVE-BUFS:
128 .. flat-table:: V4L2 Buffer Capabilities Flags
129 :header-rows: 0
130 :stub-columns: 0
133 * - ``V4L2_BUF_CAP_SUPPORTS_MMAP``
134 - 0x00000001
135 - This buffer type supports the ``V4L2_MEMORY_MMAP`` streaming mode.
136 * - ``V4L2_BUF_CAP_SUPPORTS_USERPTR``
137 - 0x00000002
138 - This buffer type supports the ``V4L2_MEMORY_USERPTR`` streaming mode.
139 * - ``V4L2_BUF_CAP_SUPPORTS_DMABUF``
140 - 0x00000004
141 - This buffer type supports the ``V4L2_MEMORY_DMABUF`` streaming mode.
142 * - ``V4L2_BUF_CAP_SUPPORTS_REQUESTS``
143 - 0x00000008
144 - This buffer type supports :ref:`requests <media-request-api>`.
145 * - ``V4L2_BUF_CAP_SUPPORTS_ORPHANED_BUFS``
146 - 0x00000010
147 - The kernel allows calling :ref:`VIDIOC_REQBUFS` while buffers are still
150 * - ``V4L2_BUF_CAP_SUPPORTS_M2M_HOLD_CAPTURE_BUF``
151 - 0x00000020
152 - Only valid for stateless decoders. If set, then userspace can set the
155 * - ``V4L2_BUF_CAP_SUPPORTS_MMAP_CACHE_HINTS``
156 - 0x00000040
157 - This capability is set by the driver to indicate that the queue supports
160 :ref:`V4L2_BUF_FLAG_NO_CACHE_INVALIDATE <V4L2-BUF-FLAG-NO-CACHE-INVALIDATE>`,
161 :ref:`V4L2_BUF_FLAG_NO_CACHE_CLEAN <V4L2-BUF-FLAG-NO-CACHE-CLEAN>` and
162 :ref:`V4L2_MEMORY_FLAG_NON_COHERENT <V4L2-MEMORY-FLAG-NON-COHERENT>`.
163 * - ``V4L2_BUF_CAP_SUPPORTS_MAX_NUM_BUFFERS``
164 - 0x00000080
165 - If set, then the ``max_num_buffers`` field in ``struct v4l2_create_buffers``
167 * - ``V4L2_BUF_CAP_SUPPORTS_REMOVE_BUFS``
168 - 0x00000100
169 - If set, then ``VIDIOC_REMOVE_BUFS`` is supported.
171 .. _memory-flags:
172 .. _V4L2-MEMORY-FLAG-NON-COHERENT:
174 .. flat-table:: Memory Consistency Flags
175 :header-rows: 0
176 :stub-columns: 0
179 * - ``V4L2_MEMORY_FLAG_NON_COHERENT``
180 - 0x00000001
181 - A buffer is allocated either in coherent (it will be automatically
182 coherent between the CPU and the bus) or non-coherent memory. The
186 buffer. However, this requires extra care from the driver -- it must
189 allocate the buffer in non-coherent memory. The flag takes effect
192 <V4L2-BUF-CAP-SUPPORTS-MMAP-CACHE-HINTS>` capability.
201 On success 0 is returned, on error -1 and the ``errno`` variable is set
203 :ref:`Generic Error Codes <gen-errors>` chapter.