diff options
Diffstat (limited to 'Documentation/userspace-api/media/v4l/buffer.rst')
| -rw-r--r-- | Documentation/userspace-api/media/v4l/buffer.rst | 40 | 
1 files changed, 38 insertions, 2 deletions
| diff --git a/Documentation/userspace-api/media/v4l/buffer.rst b/Documentation/userspace-api/media/v4l/buffer.rst index e991ba73d873..4638ec64db00 100644 --- a/Documentation/userspace-api/media/v4l/buffer.rst +++ b/Documentation/userspace-api/media/v4l/buffer.rst @@ -676,8 +676,6 @@ Buffer Flags      \normalsize -.. _memory-flags: -  enum v4l2_memory  ================ @@ -701,6 +699,44 @@ enum v4l2_memory        - 4        - The buffer is used for :ref:`DMA shared buffer <dmabuf>` I/O. +.. _memory-flags: + +Memory Consistency Flags +------------------------ + +.. raw:: latex + +    \small + +.. tabularcolumns:: |p{7.0cm}|p{2.1cm}|p{8.4cm}| + +.. cssclass:: longtable + +.. flat-table:: +    :header-rows:  0 +    :stub-columns: 0 +    :widths:       3 1 4 + +    * .. _`V4L2-MEMORY-FLAG-NON-COHERENT`: + +      - ``V4L2_MEMORY_FLAG_NON_COHERENT`` +      - 0x00000001 +      - A buffer is allocated either in coherent (it will be automatically +	coherent between the CPU and the bus) or non-coherent memory. The +	latter can provide performance gains, for instance the CPU cache +	sync/flush operations can be avoided if the buffer is accessed by the +	corresponding device only and the CPU does not read/write to/from that +	buffer. However, this requires extra care from the driver -- it must +	guarantee memory consistency by issuing a cache flush/sync when +	consistency is needed. If this flag is set V4L2 will attempt to +	allocate the buffer in non-coherent memory. The flag takes effect +	only if the buffer is used for :ref:`memory mapping <mmap>` I/O and the +	queue reports the :ref:`V4L2_BUF_CAP_SUPPORTS_MMAP_CACHE_HINTS +	<V4L2-BUF-CAP-SUPPORTS-MMAP-CACHE-HINTS>` capability. + +.. raw:: latex + +    \normalsize  Timecodes  ========= |