cron job: media_tree daily build: WARNINGS

2018-08-04 Thread Hans Verkuil
This message is generated daily by a cron job that builds media_tree for the kernels and architectures in the list below. Results of the daily build of media_tree: date: Sun Aug 5 05:00:10 CEST 2018 media-tree git hash:12f336c88090fb8004736fd4329184326a49673b media_build gi

[ragnatech:media-tree 273/382] drivers/media/i2c/mt9v111.c:801:10: error: implicit declaration of function 'v4l2_subdev_get_try_format'; did you mean 'v4l2_subdev_notify_event'?

2018-08-04 Thread kbuild test robot
tree: git://git.ragnatech.se/linux media-tree head: 12f336c88090fb8004736fd4329184326a49673b commit: aab7ed1c392703604fbdc5bd5005dfb61a0b32f9 [273/382] media: i2c: Add driver for Aptina MT9V111 config: x86_64-randconfig-x010-201831 (attached as .config) compiler: gcc-7 (Debian 7.3.0-16) 7.3.0

Re: [PATCH v2 1/2] uvcvideo: rename UVC_QUIRK_INFO to UVC_INFO_QUIRK

2018-08-04 Thread Nicolas Dufresne
Le vendredi 03 août 2018 à 13:36 +0200, Guennadi Liakhovetski a écrit : > This macro defines "information about quirks," not "quirks for > information." Does not sound better to me. It's "Quirk's information", vs "information about quirks". I prefer the first one. In term of C namespace the origna

[RFC] Request API and V4L2 capabilities

2018-08-04 Thread Hans Verkuil
Hi all, While the Request API patch series addresses all the core API issues, there are some high-level considerations as well: 1) How can the application tell that the Request API is supported and for which buffer types (capture/output) and pixel formats? 2) How can the application tell if t

[PATCHv17 00/34] Request API

2018-08-04 Thread Hans Verkuil
From: Hans Verkuil Hi all, This is version 17 of the Request API series. The (minor) changes compared to v16 are: - Incorporated Tomasz' documentation comments. - Dropped patch 28/34: "v4l2-mem2mem: Simplify exiting the function in v4l2_m2m_try_schedule". This is really independent of the R

[PATCHv17 07/34] v4l2-device.h: add v4l2_device_supports_requests() helper

2018-08-04 Thread Hans Verkuil
From: Hans Verkuil Add a simple helper function that tests if the driver supports the request API. Signed-off-by: Hans Verkuil --- include/media/v4l2-device.h | 11 +++ 1 file changed, 11 insertions(+) diff --git a/include/media/v4l2-device.h b/include/media/v4l2-device.h index b330e4

[PATCHv17 06/34] media-request: add media_request_object_find

2018-08-04 Thread Hans Verkuil
From: Hans Verkuil Add media_request_object_find to find a request object inside a request based on ops and priv values. Objects of the same type (vb2 buffer, control handler) will have the same ops value. And objects that refer to the same 'parent' object (e.g. the v4l2_ctrl_handler that has th

[PATCHv17 11/34] v4l2-ctrls: prepare internal structs for request API

2018-08-04 Thread Hans Verkuil
From: Hans Verkuil Embed and initialize a media_request_object in struct v4l2_ctrl_handler. Add a p_req field to struct v4l2_ctrl_ref that will store the request value. Signed-off-by: Hans Verkuil Signed-off-by: Alexandre Courbot --- drivers/media/v4l2-core/v4l2-ctrls.c | 1 + include/media

[PATCHv17 18/34] davinci_vpfe: remove bogus vb2->state check

2018-08-04 Thread Hans Verkuil
From: Hans Verkuil There is no need to check the vb2 state in the buf_prepare callback: it can never be wrong. Since VB2_BUF_STATE_PREPARED will be removed in the next patch we'll remove this unnecessary check (and use of that state) first. Signed-off-by: Hans Verkuil --- drivers/staging/medi

[PATCHv17 12/34] v4l2-ctrls: alloc memory for p_req

2018-08-04 Thread Hans Verkuil
From: Hans Verkuil To store request data the handler_new_ref() allocates memory for it if needed. Signed-off-by: Hans Verkuil --- drivers/media/v4l2-core/v4l2-ctrls.c | 20 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/drivers/media/v4l2-core/v4l2-ctrls.c

[PATCHv17 10/34] v4l2-ctrls: v4l2_ctrl_add_handler: add from_other_dev

2018-08-04 Thread Hans Verkuil
From: Hans Verkuil Add a 'bool from_other_dev' argument: set to true if the two handlers refer to different devices (e.g. it is true when inheriting controls from a subdev into a main v4l2 bridge driver). This will be used later when implementing support for the request API since we need to skip

[PATCHv17 22/34] videobuf2-core: embed media_request_object

2018-08-04 Thread Hans Verkuil
From: Hans Verkuil Make vb2_buffer a request object. Signed-off-by: Hans Verkuil --- include/media/videobuf2-core.h | 4 1 file changed, 4 insertions(+) diff --git a/include/media/videobuf2-core.h b/include/media/videobuf2-core.h index cbda3968d018..df92dcdeabb3 100644 --- a/include/medi

[PATCHv17 03/34] media-request: implement media requests

2018-08-04 Thread Hans Verkuil
From: Hans Verkuil Add initial media request support: 1) Add MEDIA_IOC_REQUEST_ALLOC ioctl support to media-device.c 2) Add struct media_request to store request objects. 3) Add struct media_request_object to represent a request object. 4) Add MEDIA_REQUEST_IOC_QUEUE/REINIT ioctl support. Basic

[PATCHv17 13/34] v4l2-ctrls: use ref in helper instead of ctrl

2018-08-04 Thread Hans Verkuil
From: Hans Verkuil The next patch needs the reference to a control instead of the control itself, so change struct v4l2_ctrl_helper accordingly. Signed-off-by: Hans Verkuil --- drivers/media/v4l2-core/v4l2-ctrls.c | 18 +- 1 file changed, 9 insertions(+), 9 deletions(-) diff -

[PATCHv17 15/34] v4l2-ctrls: support g/s_ext_ctrls for requests

2018-08-04 Thread Hans Verkuil
From: Hans Verkuil The v4l2_g/s_ext_ctrls functions now support control handlers that represent requests. The v4l2_ctrls_find_req_obj() function is responsible for finding the request from the fd. Signed-off-by: Hans Verkuil --- drivers/media/platform/omap3isp/ispvideo.c | 2 +- drivers/med

[PATCHv17 23/34] videobuf2-core: integrate with media requests

2018-08-04 Thread Hans Verkuil
From: Hans Verkuil Buffers can now be prepared or queued for a request. A buffer is unbound from the request at vb2_buffer_done time or when the queue is cancelled. Signed-off-by: Hans Verkuil --- .../media/common/videobuf2/videobuf2-core.c | 133 +- .../media/common/videobu

[PATCHv17 05/34] media-request: add media_request_get_by_fd

2018-08-04 Thread Hans Verkuil
From: Hans Verkuil Add media_request_get_by_fd() to find a request based on the file descriptor. The caller has to call media_request_put() for the returned request since this function increments the refcount. Signed-off-by: Hans Verkuil Acked-by: Sakari Ailus --- drivers/media/media-request

[PATCHv17 29/34] v4l2-mem2mem: add vb2_m2m_request_queue

2018-08-04 Thread Hans Verkuil
From: Hans Verkuil For mem2mem devices we have to make sure that v4l2_m2m_try_schedule() is called whenever a request is queued. We do that by creating a vb2_m2m_request_queue() helper that should be used instead of the 'normal' vb2_request_queue() helper. The m2m helper function will call v4l2_

[PATCHv17 28/34] videobuf2-v4l2: refuse qbuf if queue uses requests or vv.

2018-08-04 Thread Hans Verkuil
From: Hans Verkuil Check if the vb2 queue uses requests, and if so refuse to add buffers that are not part of a request. Also check for the reverse: a vb2 queue did not use requests, and an attempt was made to queue a buffer to a request. We might relax this in the future, but for now just retur

[PATCHv17 17/34] vb2: store userspace data in vb2_v4l2_buffer

2018-08-04 Thread Hans Verkuil
From: Hans Verkuil The userspace-provided plane data needs to be stored in vb2_v4l2_buffer. Currently this information is applied by __fill_vb2_buffer() which is called by the core prepare_buf and qbuf functions, but when using requests these functions aren't called yet since the buffer won't be

[PATCHv17 14/34] v4l2-ctrls: add core request support

2018-08-04 Thread Hans Verkuil
From: Hans Verkuil Integrate the request support. This adds the v4l2_ctrl_request_complete and v4l2_ctrl_request_setup functions to complete a request and (as a helper function) to apply a request to the hardware. It takes care of queuing requests and correctly chaining control values in the req

[PATCHv17 25/34] videobuf2-core: add request helper functions

2018-08-04 Thread Hans Verkuil
From: Hans Verkuil Add a new helper function to tell if a request object is a buffer. Add a new helper function that returns true if a media_request contains at least one buffer. Signed-off-by: Hans Verkuil --- .../media/common/videobuf2/videobuf2-core.c | 24 +++ include/me

[PATCHv17 26/34] videobuf2-v4l2: add vb2_request_queue/validate helpers

2018-08-04 Thread Hans Verkuil
From: Hans Verkuil The generic vb2_request_validate helper function checks if there are buffers in the request and if so, prepares (validates) all objects in the request. The generic vb2_request_queue helper function queues all buffer objects in the validated request. Signed-off-by: Hans Verkui

[PATCHv17 24/34] videobuf2-v4l2: integrate with media requests

2018-08-04 Thread Hans Verkuil
From: Hans Verkuil This implements the V4L2 part of the request support. The main change is that vb2_qbuf and vb2_prepare_buf now have a new media_device pointer. This required changes to several drivers that did not use the vb2_ioctl_qbuf/prepare_buf helper functions. Signed-off-by: Hans Verkui

[PATCHv17 20/34] videodev2.h: Add request_fd field to v4l2_buffer

2018-08-04 Thread Hans Verkuil
From: Hans Verkuil When queuing buffers allow for passing the request that should be associated with this buffer. If V4L2_BUF_FLAG_REQUEST_FD is set, then request_fd is used as the file descriptor. If a buffer is stored in a request, but not yet queued to the driver, then V4L2_BUF_FLAG_IN_REQUE

[PATCHv17 19/34] vb2: drop VB2_BUF_STATE_PREPARED, use bool prepared/synced instead

2018-08-04 Thread Hans Verkuil
From: Hans Verkuil The PREPARED state becomes a problem with the request API: a buffer could be PREPARED but dequeued, or PREPARED and in state IN_REQUEST. PREPARED is really not a state as such, but more a property of the buffer. So make new 'prepared' and 'synced' bools instead to remember whe

[PATCHv17 21/34] vb2: add init_buffer buffer op

2018-08-04 Thread Hans Verkuil
From: Hans Verkuil We need to initialize the request_fd field in struct vb2_v4l2_buffer to -1 instead of the default of 0. So we need to add a new op that is called when struct vb2_v4l2_buffer is allocated. Signed-off-by: Hans Verkuil --- drivers/media/common/videobuf2/videobuf2-core.c | 2 ++

[PATCHv17 01/34] Documentation: v4l: document request API

2018-08-04 Thread Hans Verkuil
From: Alexandre Courbot Document the request API for V4L2 devices, and amend the documentation of system calls influenced by it. Signed-off-by: Alexandre Courbot Signed-off-by: Hans Verkuil --- .../media/uapi/mediactl/media-controller.rst | 1 + .../media/uapi/mediactl/media-funcs.rst

[PATCHv17 34/34] RFC: media-requests: add debugfs node

2018-08-04 Thread Hans Verkuil
From: Hans Verkuil Keep track of the number of requests and request objects of a media device. Helps to verify that all request-related memory is freed. Signed-off-by: Hans Verkuil --- drivers/media/media-device.c | 41 +++ drivers/media/media-devnode.c | 17 ++

[PATCHv17 08/34] v4l2-dev: lock req_queue_mutex

2018-08-04 Thread Hans Verkuil
From: Hans Verkuil We need to serialize streamon/off with queueing new requests. These ioctls may trigger the cancellation of a streaming operation, and that should not be mixed with queuing a new request at the same time. Finally close() needs this lock since that too can trigger the cancellati

[PATCHv17 02/34] uapi/linux/media.h: add request API

2018-08-04 Thread Hans Verkuil
From: Hans Verkuil Define the public request API. This adds the new MEDIA_IOC_REQUEST_ALLOC ioctl to allocate a request and two ioctls that operate on a request in order to queue the contents of the request to the driver and to re-initialize the request. Signed-off-by: Hans Verkuil Acked-by: S

[PATCHv17 09/34] videodev2.h: add request_fd field to v4l2_ext_controls

2018-08-04 Thread Hans Verkuil
From: Alexandre Courbot If 'which' is V4L2_CTRL_WHICH_REQUEST_VAL, then the 'request_fd' field can be used to specify a request for the G/S/TRY_EXT_CTRLS ioctls. Signed-off-by: Alexandre Courbot Signed-off-by: Hans Verkuil --- drivers/media/v4l2-core/v4l2-compat-ioctl32.c | 5 - drivers/m

[PATCHv17 31/34] vim2m: support requests

2018-08-04 Thread Hans Verkuil
From: Hans Verkuil Add support for requests to vim2m. Signed-off-by: Hans Verkuil --- drivers/media/platform/vim2m.c | 26 ++ 1 file changed, 26 insertions(+) diff --git a/drivers/media/platform/vim2m.c b/drivers/media/platform/vim2m.c index 6f87ef025ff1..3b8df2c9d24a

[PATCHv17 04/34] media: doc: Add media-request.h header to documentation build

2018-08-04 Thread Hans Verkuil
From: Sakari Ailus media-request.h has been recently added; add it to the documentation build as well. Signed-off-by: Sakari Ailus Signed-off-by: Hans Verkuil --- Documentation/media/kapi/mc-core.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Documentation/media/kapi/mc-core.rst b

[PATCHv17 27/34] videobuf2-core: add uses_requests/qbuf flags

2018-08-04 Thread Hans Verkuil
From: Hans Verkuil Set the first time a buffer from a request is queued to vb2 (uses_requests) or directly queued (uses_qbuf). Cleared when the queue is canceled. Signed-off-by: Hans Verkuil --- drivers/media/common/videobuf2/videobuf2-core.c | 13 + include/media/videobuf2-core.h

[PATCHv17 16/34] v4l2-ctrls: add v4l2_ctrl_request_hdl_find/put/ctrl_find functions

2018-08-04 Thread Hans Verkuil
If a driver needs to find/inspect the controls set in a request then it can use these functions. E.g. to check if a required control is set in a request use this in the req_validate() implementation: int res = -EINVAL; hdl = v4l2_ctrl_request_hdl_find(req, parent_hdl); if

[PATCHv17 33/34] vivid: add request support

2018-08-04 Thread Hans Verkuil
From: Hans Verkuil Add support for requests to vivid. Signed-off-by: Hans Verkuil --- drivers/media/platform/vivid/vivid-core.c| 8 drivers/media/platform/vivid/vivid-kthread-cap.c | 12 drivers/media/platform/vivid/vivid-kthread-out.c | 12 drivers/

[PATCHv17 30/34] vim2m: use workqueue

2018-08-04 Thread Hans Verkuil
From: Hans Verkuil v4l2_ctrl uses mutexes, so we can't setup a ctrl_handler in interrupt context. Switch to a workqueue instead and drop the timer. Signed-off-by: Hans Verkuil --- drivers/media/platform/vim2m.c | 25 ++--- 1 file changed, 10 insertions(+), 15 deletions(-)

[PATCHv17 32/34] vivid: add mc

2018-08-04 Thread Hans Verkuil
From: Hans Verkuil Add support for the media_device to vivid. This is a prerequisite for request support. Signed-off-by: Hans Verkuil --- drivers/media/platform/vivid/vivid-core.c | 61 +++ drivers/media/platform/vivid/vivid-core.h | 8 +++ 2 files changed, 69 insertions(+

Re: [PATCHv16 01/34] Documentation: v4l: document request API

2018-08-04 Thread Hans Verkuil
Hi Tomasz, Thank you for your review. Unless stated otherwise I have incorporated your suggestions. On 08/03/2018 05:00 PM, Tomasz Figa wrote: > Hi Hans, > > On Fri, Jul 6, 2018 at 1:04 AM Hans Verkuil wrote: >> >> From: Alexandre Courbot >> >> Document the request API for V4L2 devices, and am

[PATCH] mediactl/*.rst: document argp

2018-08-04 Thread Hans Verkuil
The documentation of the Media Controller API ioctls is missing a description of the argp ioctl argument. Add this. Signed-off-by: Hans Verkuil --- diff --git a/Documentation/media/uapi/mediactl/media-ioc-device-info.rst b/Documentation/media/uapi/mediactl/media-ioc-device-info.rst index 649cb3d

Re: [PATCH 20/22] [media] tvp5150: Add input port connectors DT bindings

2018-08-04 Thread Marco Felsch
Hi Mauro, On 18-08-03 14:30, Mauro Carvalho Chehab wrote: > Em Fri, 3 Aug 2018 09:29:53 +0200 > Marco Felsch escreveu: > > > Hi Rob, > > > > first of all, thanks for the review. After some discussion with the > > media guys I have a question about the dt-bindings. > > > > On 18-07-03 17:23, Ro