An error occurred fetching the project authors.
- 14 Sep, 2020 1 commit
-
-
Sergey Senozhatsky authored
The patch partially reverts some of the UAPI bits of the buffer cache management hints. Namely, the queue consistency (memory coherency) user-space hint because, as it turned out, the kernel implementation of this feature was misusing DMA_ATTR_NON_CONSISTENT. The patch reverts both kernel and user space parts: removes the DMA consistency attr functions, rolls back changes to v4l2_requestbuffers, v4l2_create_buffers structures and corresponding UAPI functions (plus compat32 layer) and cleans up the documentation. [hverkuil: fixed a few typos in the commit log] [hverkuil: fixed vb2_core_reqbufs call in drivers/media/dvb-core/dvb_vb2.c] [mchehab: fixed a typo in the commit log: revers->reverts] Signed-off-by:
Christoph Hellwig <hch@lst.de> Signed-off-by:
Sergey Senozhatsky <sergey.senozhatsky@gmail.com> Signed-off-by:
Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by:
Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
- 19 Jul, 2020 1 commit
-
-
Randy Dunlap authored
Drop duplicated words in Documentation/userspace-api/media/. This addresses the words "struct" and "value". Signed-off-by:
Randy Dunlap <rdunlap@infradead.org> Cc: Jonathan Corbet <corbet@lwn.net> Signed-off-by:
Hans Verkuil <hverkuil-cisco@xs4all.nl> [hverkuil-cisco@xs4all.nl: dev-sdr.rst: there is two -> there are two] Signed-off-by:
Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
- 23 Jun, 2020 1 commit
-
-
Sergey Senozhatsky authored
By setting or clearing V4L2_FLAG_MEMORY_NON_CONSISTENT flag user-space should be able to set or clear queue's NON_CONSISTENT ->dma_attrs. Queue's ->dma_attrs are passed to the underlying allocator in __vb2_buf_mem_alloc(), so thus user-space is able to request vb2 buffer's memory to be either consistent (coherent) or non-consistent. The patch set also adds a corresponding capability flag: fill_buf_caps() reports V4L2_BUF_CAP_SUPPORTS_MMAP_CACHE_HINTS when queue supports user-space cache management hints. Note, however, that MMAP_CACHE_HINTS capability only valid when the queue is used for memory MMAP-ed streaming I/O. Signed-off-by:
Sergey Senozhatsky <senozhatsky@chromium.org> Signed-off-by:
Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by:
Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
- 14 Apr, 2020 1 commit
-
-
Mauro Carvalho Chehab authored
Since 2017, there is an space reserved for userspace API, created by changeset 1d596dee ("docs: Create a user-space API guide"). As the media subsystem was one of the first subsystems to use Sphinx, until this patch, we were keeping things on a separate place. Let's just use the new location, as having all uAPI altogether will likely make things easier for developers. Signed-off-by:
Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
- 24 Feb, 2020 1 commit
-
-
Hans Verkuil authored
Avoid adding an extra columns when describing unions in the documentation. That makes it much harder to read. See e.g. VIDIOC_QUERY_EXT_CTRLS. Instead start off a union with 'union {' and end it with an extra row containing '}'. This leaves a lot more space for the description of the fields. This formatting technique was used in a few places already, but this patches fixes all remaining occurrences of 'union' in the media uAPI. Signed-off-by:
Hans Verkuil <hverkuil-cisco@xs4all.nl> Reported-by:
Nicolas Dufresne <nicolas@ndufresne.ca> Signed-off-by:
Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
-
- 21 Oct, 2019 1 commit
-
-
Hans Verkuil authored
This patch adds support for the V4L2_BUF_FLAG_M2M_HOLD_CAPTURE_BUF flag. It also adds a new V4L2_BUF_CAP_SUPPORTS_M2M_HOLD_CAPTURE_BUF capability. Drivers should set vb2_queue->subsystem_flags to VB2_V4L2_FL_SUPPORTS_M2M_HOLD_CAPTURE_BUF to indicate support for this flag. Signed-off-by:
Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by:
Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
-
- 30 Mar, 2019 1 commit
-
-
Mauro Carvalho Chehab authored
Avoid cell overlapping by changing some sizes, and changing the font sizes when needed. Tested with Sphinx 1.7.8. Signed-off-by:
Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
-
- 25 Mar, 2019 1 commit
-
-
Hans Verkuil authored
If requests are used when they shouldn't, or not used when they should, then return EBADR (Invalid request descriptor) instead of EACCES. The reason for this change is that EACCES has more to do with permissions (not being the owner of the resource), but in this case the request file descriptor is just wrong for the current mode of the device. Update the documentation accordingly. Signed-off-by:
Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by:
Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
-
- 07 Jan, 2019 1 commit
-
-
Hans Verkuil authored
V4L2_BUF_FLAG_TIMECODE is not video capture specific, so drop that part. The 'Timecodes' section was a bit messy, so that's cleaned up. Signed-off-by:
Hans Verkuil <hverkuil-cisco@xs4all.nl> Reviewed-by:
Paul Kocialkowski <paul.kocialkowski@bootlin.com> Reviewed-by:
Alexandre Courbot <acourbot@chromium.org> Signed-off-by:
Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
-
- 14 Dec, 2018 1 commit
-
-
Sakari Ailus authored
Document the interface for metadata output, including V4L2_BUF_TYPE_META_OUTPUT buffer type and V4L2_CAP_META_OUTPUT capability bits. Signed-off-by:
Sakari Ailus <sakari.ailus@linux.intel.com> Acked-by:
Hans Verkuil <hans.verkuil@cisco.com> Reviewed-by:
Tomasz Figa <tfiga@chromium.org> Tested-by:
Tian Shu Qiu <tian.shu.qiu@intel.com> Signed-off-by:
Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
-
- 05 Dec, 2018 2 commits
-
-
Mauro Carvalho Chehab authored
All those files are under GFDL 1.1 or later, with no invariant sections. Tag them as such. Signed-off-by:
Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
-
Mauro Carvalho Chehab authored
This is not needed there. Also, the same UTF-8 encoding should be used on all documents. Signed-off-by:
Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
-
- 11 Sep, 2018 4 commits
-
-
Hans Verkuil authored
Various clarifications and readability improvements based on Laurent Pinchart's review of the documentation. Signed-off-by:
Hans Verkuil <hans.verkuil@cisco.com> Reviewed-by:
Tomasz Figa <tfiga@chromium.org> Acked-by:
Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by:
Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
-
Hans Verkuil authored
If requests are not supported by the driver, then return EACCES, not EPERM. If you attempt to mix queueing buffers directly and using requests, then EBUSY is returned instead of EPERM: once a specific queueing mode has been chosen the queue is 'busy' if you attempt the other mode (i.e. direct queueing vs via a request). Signed-off-by:
Hans Verkuil <hans.verkuil@cisco.com> Reviewed-by:
Tomasz Figa <tfiga@chromium.org> Acked-by:
Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by:
Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
-
Hans Verkuil authored
Document that V4L2_BUF_FLAG_REQUEST_FD should only be used with VIDIOC_QBUF and cleared otherwise. Signed-off-by:
Hans Verkuil <hansverk@cisco.com> Reviewed-by:
Tomasz Figa <tfiga@chromium.org> Acked-by:
Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by:
Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
-
Hans Verkuil authored
Instead of returning -ENOENT when a request_fd was not found (VIDIOC_QBUF and VIDIOC_G/S/TRY_EXT_CTRLS), we now return -EINVAL. This is in line with what we do when invalid dmabuf fds are passed to e.g. VIDIOC_QBUF. Also document that EINVAL is returned for invalid m.fd values, we never documented that. Signed-off-by:
Hans Verkuil <hansverk@cisco.com> Reviewed-by:
Tomasz Figa <tfiga@chromium.org> Acked-by:
Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by:
Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
-
- 31 Aug, 2018 1 commit
-
-
Alexandre Courbot authored
Document the request API for V4L2 devices, and amend the documentation of system calls influenced by it. Signed-off-by:
Alexandre Courbot <acourbot@chromium.org> Signed-off-by:
Hans Verkuil <hans.verkuil@cisco.com> Reviewed-by:
Mauro Carvalho Chehab <mchehab+samsung@kernel.org> Signed-off-by:
Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
-
- 26 Feb, 2018 1 commit
-
-
Gustavo Padovan authored
The link was showing both VIDIOC_QBUF, VIDIOC_DQBUF while it should show only VIDIOC_QBUF in this case. Signed-off-by:
Gustavo Padovan <gustavo.padovan@collabora.com> Acked-by:
Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by:
Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by:
Mauro Carvalho Chehab <mchehab@s-opensource.com>
-
- 15 Apr, 2017 3 commits
-
-
Hans Verkuil authored
Explain when the V4L2_CTRL_FLAG_MODIFY_LAYOUT and V4L2_CTRL_FLAG_MODIFY_GRABBER flags should be used. Signed-off-by:
Hans Verkuil <hans.verkuil@cisco.com> Acked-by:
Sakari Ailus <sakari.ailus@linux.intel.com> Signed-off-by:
Mauro Carvalho Chehab <mchehab@s-opensource.com>
-
Laurent Pinchart authored
The metadata buffer type is used to transfer metadata between userspace and kernelspace through a V4L2 buffers queue. It comes with a new metadata capture capability and format description. Signed-off-by:
Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Tested-by:
Guennadi Liakhovetski <guennadi.liakhovetski@intel.com> Acked-by:
Sakari Ailus <sakari.ailus@linux.intel.com> Acked-by:
Hans Verkuil <hans.verkuil@cisco.com> [hans.verkuil@cisco.com: removed left-over 'experimental' note] [hans.verkuil@cisco.com: add newline after _v4l2-meta-format label] Signed-off-by:
Mauro Carvalho Chehab <mchehab@s-opensource.com>
-
Laurent Pinchart authored
V4L2 exposes parameters that influence buffers sizes through the format ioctls (VIDIOC_G_FMT, VIDIOC_TRY_FMT, VIDIOC_S_FMT, and possibly VIDIOC_G_SELECTION and VIDIOC_S_SELECTION). Other parameters not part of the format structure may also influence buffer sizes or buffer layout in general. One existing such parameter is rotation, which is implemented by the V4L2_CID_ROTATE control and thus exposed through the V4L2 control ioctls. The interaction between those parameters and buffers is currently only partially specified by the V4L2 API. In particular interactions between controls and buffers isn't specified at all. The behaviour of the VIDIOC_S_FMT and VIDIOC_S_SELECTION ioctls when buffers are allocated is also not fully specified. This patch clearly defines and documents the interactions between formats, selections, controls and buffers. The preparatory discussions for the documentation change considered completely disallowing controls that change the buffer size or layout, in favour of extending the format API with a new ioctl that would bundle those controls with format information. The idea has been rejected, as this would essentially be a restricted version of the upcoming request API that wouldn't bring any additional value. Another option we have considered was to mandate the use of the request API to modify controls that influence buffer size or layout. This has also been rejected on the grounds that requiring the request API to change rotation even when streaming is stopped would significantly complicate implementation of drivers and usage of the V4L2 API for applications. Applications will however be required to use the upcoming request API to change at runtime formats or controls that influence the buffer size or layout, because of the need to synchronize buffers with the formats and controls. Otherwise there would be no way to interpret the content of a buffer correctly. Signed-off-by:
Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com> Acked-by:
Sakari Ailus <sakari.ailus@linux.intel.com> Acked-by:
Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by:
Mauro Carvalho Chehab <mchehab@s-opensource.com>
-
- 22 Sep, 2016 1 commit
-
-
Laurent Pinchart authored
Shorten the tables by removing row numbers in comments, allowing for later insertion of rows with minimal diffs. All changes have been generated by the following script. import io import re import sys def process_table(fname, data): if fname.endswith('hist-v4l2.rst'): data = re.sub(u'\n{1,2}\t( ?) -( ?) ?', u'\n\t\\1 -\\2', data, flags = re.MULTILINE) data = re.sub(u'\n(\t| )- \.\. row [0-9]+\n\t ?-( ?) ?', u'\\1* -\\2', data, flags = re.MULTILINE) else: data = re.sub(u'\n{1,2} -( ?) ?', u'\n -\\1', data, flags = re.MULTILINE) data = re.sub(u'(\n?)(\n\n - \.\. row 1\n)', u'\n\\2', data, flags = re.MULTILINE) data = re.sub(u'\n - \.\. row [0-9]+\n -( ?) ?', u' * -\\1', data, flags = re.MULTILINE) data = re.sub(u'\n - \.\. row [0-9]+\n \.\. (_[A-Z0-9_`-]*:)', u'\n - .. \\1', data, flags = re.MULTILINE) data = re.sub(u'\n - \.\. (_[A-Z0-9_`-]*:)\n -', u' * .. \\1\n\n -', data, flags = re.MULTILINE) data = re.sub(u'^ - ', u' -', data, flags = re.MULTILINE) data = re.sub(u'^(\t{1,2}) ', u'\\1', data, flags = re.MULTILINE) return data def process_file(fname, data): buf = io.StringIO(data) output = '' in_table = False table_separator = 0 for line in buf.readlines(): if line.find('.. flat-table::') != -1: in_table = True table = '' elif in_table and not re.match('^[\t\n]|( )', line): in_table = False output += process_table(fname, table) if in_table: table += line else: output += line if in_table: in_table = False output += process_table(fname, table) return output fname = sys.argv[1] data = file(fname, 'rb').read().decode('utf-8') data = process_file(fname, data) file(fname, 'wb').write(data.encode('utf-8')) Signed-off-by:
Laurent Pinchart <laurent.pinchart@ideasonboard.com>
-
- 09 Sep, 2016 5 commits
-
-
Mauro Carvalho Chehab authored
There are several broken references there, due to the conversion to C domain. Fix them using this shell script and manually adjust what's broken: # funcs is a file with the broken functions/references for i in $(cat funcs|sort|uniq|perl -ne 'print "$1\n" if (m/(\S+)$/)'); do i=${i//-/_} echo $i j=${i//_/-} for k in $(git grep -l "_$j:" Documentation/); do sed s,\_$j\:,"c\:type\:\: $i", <$k >a && mv a $k done for k in $(git grep -l "$j" Documentation/media/*.exceptions); do sed s,$j,":c\:type\:\`$i\`", <$k >a && mv a $k done for k in $(git grep -l "$j" Documentation/); do sed "s,:ref:\`$i <$j>\`,:c:type:\`$i\`," <$k >a && mv a $k sed "s,:ref:\`$j\`,:c:type:\`$i\`," <$k >a && mv a $k sed -E "s,:ref:\`(.*)<$j>\`,:c:type:\`\1<$i>\`," <$k >a && mv a $k done for k in $(git grep -l "<$j>" include/media); do sed -E "s,:ref:\`(.*)<$j>\`,enum \&$i," <$k >a && mv a $k done done Signed-off-by:
Mauro Carvalho Chehab <mchehab@s-opensource.com>
-
Mauro Carvalho Chehab authored
Fix those warnings: Documentation/media/uapi/cec/cec-ioc-dqevent.rst:124: WARNING: c:func reference target not found: clock_gettime(2) By replacing it with the right function name, using this shell script: for i in `find Documentation/media -type f`; do sed 's,clock_gettime(2),clock_gettime,' <$i >a && mv a $i; done Please notice that this will make the nitpick mode to shut up complaining about that, becasue clock_gettime is on its exclude list, but the cross reference will be undefined until someone documents this function at the core documentation. Signed-off-by:
Mauro Carvalho Chehab <mchehab@s-opensource.com>
-
Mauro Carvalho Chehab authored
The :c:type: references point to the structure name, and not to struct foo. Fixed via this shell script: for i in `find Documentation/media -type f`; do perl -ne 'if (s/\:c\:type\:\`struct\s*(\S+)\`/struct :c:type:`$1`/) { s/struct\s+struct/struct/; s/(struct\s+\:c\:type\:\`\S+\`)\s+structure/$1/; } print $_' <$i >a && mv a $i; done Signed-off-by:
Mauro Carvalho Chehab <mchehab@s-opensource.com>
-
Mauro Carvalho Chehab authored
Instead of using c:type:`struct foo <foo>`, use: struct c:type:`foo` This patch was generated via this shell script: for i in `find Documentation/media -type f`; do perl -ne 'if (m/\:c\:type\:\`struct\s+(\S+)\s*\<(\S+)\>\`/) { $s=$1; $r=$2; if ($s eq $r) { s/\:c\:type\:\`struct\s+(\S+)\s*\<(\S+)\>\`/struct :c:type:`$2`/; s/struct\s+struct/struct/; s/(struct\s+\:c\:type\:\`\S+\`)\s+structure/$1/; }} print $_' <$i >a && mv a $i; done Signed-off-by:
Mauro Carvalho Chehab <mchehab@s-opensource.com>
-
Mauro Carvalho Chehab authored
instead of declaring the uAPI structs using usual refs, e. g.: .. _foo-struct: Use the C domain way: .. c:type:: foo_struct This way, the kAPI documentation can use cross-references to point to the uAPI symbols. That solves about ~100 undefined warnings like: WARNING: c:type reference target not found: foo_struct Signed-off-by:
Mauro Carvalho Chehab <mchehab@s-opensource.com>
-
- 22 Aug, 2016 4 commits
-
-
Mauro Carvalho Chehab authored
There are still a few tables with wrong columns at the uAPI docs. Fix them. Signed-off-by:
Mauro Carvalho Chehab <mchehab@s-opensource.com>
-
Mauro Carvalho Chehab authored
The table columns are not properly displayed. Also, some tables are too big to fit into just one page. So, fix them, in order to better display the tables. Signed-off-by:
Mauro Carvalho Chehab <mchehab@s-opensource.com>
-
Mauro Carvalho Chehab authored
LaTeX doesn't handle too well auto-width on tables, and ReST markup requires an special tag to give it the needed hints. As we're using A4 paper, we have 17cm of useful spaces. As most media tables have widths, let's use it to generate the needed via the following perl script: my ($line_size, $table_header, $has_cols) = (17.5, 0, 0); my $out; my $header = ""; my @widths = (); sub round { $_[0] > 0 ? int($_[0] + .5) : -int(-$_[0] + .5) } while (<>) { if (!$table_header) { $has_cols = 1 if (m/..\s+tabularcolumns::/); if (m/..\s+flat-table::/) { $table_header = 1; $header = $_; next; } $out .= $_; next; } $header .= $_; @widths = split(/ /, $1) if (m/:widths:\s+(.*)/); if (m/^\n$/) { if (!$has_cols && @widths) { my ($tot, $t, $i) = (0, 0, 0); foreach my $v(@widths) { $tot += $v; }; $out .= ".. tabularcolumns:: |"; for ($i = 0; $i < scalar @widths - 1; $i++) { my $v = $widths[$i]; my $w = round(10 * ($v * $line_size) / $tot) / 10; $out .= sprintf "p{%.1fcm}|", $w; $t += $w; } my $w = $line_size - $t; $out .= sprintf "p{%.1fcm}|\n\n", $w; } $out .= $header; $table_header = 0; $has_cols = 0; $header = ""; @widths = (); } } print $out; Signed-off-by:
Mauro Carvalho Chehab <mchehab@s-opensource.com>
-
Mauro Carvalho Chehab authored
Change multi-line note tags to be more symetric, e. g. not starting the text together witht the tag. Signed-off-by:
Mauro Carvalho Chehab <mchehab@s-opensource.com>
-
- 13 Jul, 2016 1 commit
-
-
Mauro Carvalho Chehab authored
This patch touches on places where it shouldn't: image files and code examples. Also, it doesn't fix all array occurrences. So, let's revert it. This reverts commit ffbab694.
-
- 12 Jul, 2016 2 commits
-
-
Mauro Carvalho Chehab authored
Those characters are used for citations. Better to escape, to avoid them to be misinterpreted. Signed-off-by:
Mauro Carvalho Chehab <mchehab@s-opensource.com>
-
Mauro Carvalho Chehab authored
Fix it by adding a header to the flat-table to match to the list of define symbols. As a side-effect, it also removes some exceptions from videodev2.h.rst. Signed-off-by:
Mauro Carvalho Chehab <mchehab@s-opensource.com>
-
- 10 Jul, 2016 1 commit
-
-
Mauro Carvalho Chehab authored
There are several notes and warning mesages in the middle of the media docbook. Use the ReST tags for that, as it makes them visually better and hightlights them. While here, modify a few ones to make them clearer. Signed-off-by:
Mauro Carvalho Chehab <mchehab@s-opensource.com>
-
- 08 Jul, 2016 1 commit
-
-
Mauro Carvalho Chehab authored
The name of the subsystem is "media", and not "linux_tv". Also, as we plan to add other stuff there in the future, let's rename also the media uAPI book to media_uapi, to make it clearer. No functional changes. Signed-off-by:
Mauro Carvalho Chehab <mchehab@s-opensource.com>
-
- 04 Jul, 2016 2 commits
-
-
Mauro Carvalho Chehab authored
Sphinx actually doesn't numerate tables. So, let's add a subtitle before each table. That makes them numerated. Signed-off-by:
Mauro Carvalho Chehab <mchehab@s-opensource.com>
-
Mauro Carvalho Chehab authored
Let's remove bad whitespaces on the entire book. That helps to avoid mixing whitespace removal with other patches. Signed-off-by:
Mauro Carvalho Chehab <mchehab@s-opensource.com>
-
- 03 Jul, 2016 2 commits
-
-
Mauro Carvalho Chehab authored
The conversion script added some comments at the end. They point to the original DocBook files, with will be removed after the manual fixes. So, they'll be pointing to nowere. So, remove those comments. They'll be forever stored at the Kernel tree. So, if someone wants the references, it is just a matter of looking at the backlog. Signed-off-by:
Mauro Carvalho Chehab <mchehab@s-opensource.com>
-
Mauro Carvalho Chehab authored
On several places, instead of using references, the code was using some other tag. Not sure if this was due to the conversion, or if something were already wrong on the DocBook. In any case, let's fix them. Signed-off-by:
Mauro Carvalho Chehab <mchehab@s-opensource.com>
-