From: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
To: Hans Verkuil <hverkuil@xs4all.nl>
Cc: linux-media@vger.kernel.org
Subject: Re: [PATCHv18 00/35] Request API
Date: Tue, 14 Aug 2018 17:01:07 -0300 [thread overview]
Message-ID: <20180814170107.44d341a7@coco.lan> (raw)
In-Reply-To: <20180814142047.93856-1-hverkuil@xs4all.nl>
Em Tue, 14 Aug 2018 16:20:12 +0200
Hans Verkuil <hverkuil@xs4all.nl> escreveu:
> From: Hans Verkuil <hans.verkuil@cisco.com>
>
> Hi all,
>
> This is version 18 of the Request API series. The intention is that
> this will become a topic branch in preparation of merging this for
> 4.20 together with the cedrus staging driver.
>
> I incorporated Mauro's review comments and a review comment from
> Ezequiel in v18.
>
> The main change is that I reverted back to a simple int argument for the
> MEDIA_IOC_REQUEST_ALLOC ioctl. Mauro prefers it and I think he is right.
> It was what we had originally as well.
>
> Besides all the review comments I also fixed a bug. See:
> https://www.mail-archive.com/linux-media@vger.kernel.org/msg134311.html
I'll look on it right now.
>
> And sparse warned me about a poll prototype change, so the
> media_request_poll() was slightly changed (use of EPOLL* instead of POLL*
> and a __poll_t return type).
>
> I also split up the old patch 17/34 into three patches: the first just
> moves a function up in the source, the second replaces 'if' statements
> with a switch, and the third is the actual patch that does the real
> work. There is now much less noise in that patch and it should be much easier
> to review.
>
> Finally the RFC debugfs patch has been dropped from this series.
>
> This patch series is also available here:
>
> https://git.linuxtv.org/hverkuil/media_tree.git/log/?h=reqv18
>
> The patched v4l2-compliance (and rebased to the latest v4l-utils
> as well) is available here:
>
> https://git.linuxtv.org/hverkuil/v4l-utils.git/log/?h=request
>
> To avoid having to do a full review again I made a diff between
> v17 and v18 that is much easier to understand. I added it below
> the line (note that the removal of the debugfs patch is not included
> in this diff, it's not useful).
Patchset looks ok. Just not sure about a timestamp change at the
VB2 code. Found one or two nitpicks too. Once addressed, I guess
it is ready for being merged on a topic branch.
If nobody would require major changes, IMO the best would be
to just reply to a v19 patch to the few ones that might require
a respin.
>
> Regards,
>
> Hans
>
> Alexandre Courbot (2):
> Documentation: v4l: document request API
> videodev2.h: add request_fd field to v4l2_ext_controls
>
> Hans Verkuil (32):
> uapi/linux/media.h: add request API
> media-request: implement media requests
> media-request: add media_request_get_by_fd
> media-request: add media_request_object_find
> v4l2-device.h: add v4l2_device_supports_requests() helper
> v4l2-dev: lock req_queue_mutex
> v4l2-ctrls: v4l2_ctrl_add_handler: add from_other_dev
> v4l2-ctrls: prepare internal structs for request API
> v4l2-ctrls: alloc memory for p_req
> v4l2-ctrls: use ref in helper instead of ctrl
> v4l2-ctrls: add core request support
> v4l2-ctrls: support g/s_ext_ctrls for requests
> v4l2-ctrls: add v4l2_ctrl_request_hdl_find/put/ctrl_find functions
> videobuf2-v4l2: move __fill_v4l2_buffer() function
> videobuf2-v4l2: replace if by switch in __fill_vb2_buffer()
> vb2: store userspace data in vb2_v4l2_buffer
> davinci_vpfe: remove bogus vb2->state check
> vb2: drop VB2_BUF_STATE_PREPARED, use bool prepared/synced instead
> videodev2.h: Add request_fd field to v4l2_buffer
> vb2: add init_buffer buffer op
> videobuf2-core: embed media_request_object
> videobuf2-core: integrate with media requests
> videobuf2-v4l2: integrate with media requests
> videobuf2-core: add request helper functions
> videobuf2-v4l2: add vb2_request_queue/validate helpers
> videobuf2-core: add uses_requests/qbuf flags
> videobuf2-v4l2: refuse qbuf if queue uses requests or vv.
> v4l2-mem2mem: add vb2_m2m_request_queue
> vim2m: use workqueue
> vim2m: support requests
> vivid: add mc
> vivid: add request support
>
> Sakari Ailus (1):
> media: doc: Add media-request.h header to documentation build
>
> Documentation/media/kapi/mc-core.rst | 2 +
> .../media/uapi/mediactl/media-controller.rst | 1 +
> .../media/uapi/mediactl/media-funcs.rst | 6 +
> .../uapi/mediactl/media-ioc-request-alloc.rst | 65 +++
> .../uapi/mediactl/media-request-ioc-queue.rst | 82 +++
> .../mediactl/media-request-ioc-reinit.rst | 51 ++
> .../media/uapi/mediactl/request-api.rst | 245 ++++++++
> .../uapi/mediactl/request-func-close.rst | 48 ++
> .../uapi/mediactl/request-func-ioctl.rst | 67 +++
> .../media/uapi/mediactl/request-func-poll.rst | 77 +++
> Documentation/media/uapi/v4l/buffer.rst | 21 +-
> .../media/uapi/v4l/vidioc-g-ext-ctrls.rst | 53 +-
> Documentation/media/uapi/v4l/vidioc-qbuf.rst | 32 +-
> .../media/videodev2.h.rst.exceptions | 1 +
> drivers/media/Makefile | 3 +-
> .../media/common/videobuf2/videobuf2-core.c | 262 +++++++--
> .../media/common/videobuf2/videobuf2-v4l2.c | 508 +++++++++++-----
> drivers/media/dvb-core/dvb_vb2.c | 5 +-
> drivers/media/dvb-frontends/rtl2832_sdr.c | 5 +-
> drivers/media/media-device.c | 24 +-
> drivers/media/media-request.c | 489 ++++++++++++++++
> drivers/media/pci/bt8xx/bttv-driver.c | 2 +-
> drivers/media/pci/cx23885/cx23885-417.c | 2 +-
> drivers/media/pci/cx88/cx88-blackbird.c | 2 +-
> drivers/media/pci/cx88/cx88-video.c | 2 +-
> drivers/media/pci/saa7134/saa7134-empress.c | 4 +-
> drivers/media/pci/saa7134/saa7134-video.c | 2 +-
> .../media/platform/exynos4-is/fimc-capture.c | 2 +-
> drivers/media/platform/omap3isp/ispvideo.c | 4 +-
> drivers/media/platform/rcar-vin/rcar-core.c | 2 +-
> drivers/media/platform/rcar_drif.c | 2 +-
> .../media/platform/s3c-camif/camif-capture.c | 4 +-
> drivers/media/platform/s5p-mfc/s5p_mfc_dec.c | 4 +-
> drivers/media/platform/s5p-mfc/s5p_mfc_enc.c | 4 +-
> .../media/platform/soc_camera/soc_camera.c | 7 +-
> drivers/media/platform/vim2m.c | 49 +-
> drivers/media/platform/vivid/vivid-core.c | 69 +++
> drivers/media/platform/vivid/vivid-core.h | 8 +
> drivers/media/platform/vivid/vivid-ctrls.c | 46 +-
> .../media/platform/vivid/vivid-kthread-cap.c | 12 +
> .../media/platform/vivid/vivid-kthread-out.c | 12 +
> drivers/media/platform/vivid/vivid-sdr-cap.c | 16 +
> drivers/media/platform/vivid/vivid-vbi-cap.c | 10 +
> drivers/media/platform/vivid/vivid-vbi-out.c | 10 +
> drivers/media/platform/vivid/vivid-vid-cap.c | 10 +
> drivers/media/platform/vivid/vivid-vid-out.c | 10 +
> drivers/media/usb/cpia2/cpia2_v4l.c | 2 +-
> drivers/media/usb/cx231xx/cx231xx-417.c | 2 +-
> drivers/media/usb/cx231xx/cx231xx-video.c | 4 +-
> drivers/media/usb/msi2500/msi2500.c | 2 +-
> drivers/media/usb/tm6000/tm6000-video.c | 2 +-
> drivers/media/usb/uvc/uvc_queue.c | 5 +-
> drivers/media/usb/uvc/uvc_v4l2.c | 3 +-
> drivers/media/usb/uvc/uvcvideo.h | 1 +
> drivers/media/v4l2-core/v4l2-compat-ioctl32.c | 14 +-
> drivers/media/v4l2-core/v4l2-ctrls.c | 541 +++++++++++++++++-
> drivers/media/v4l2-core/v4l2-dev.c | 18 +-
> drivers/media/v4l2-core/v4l2-device.c | 3 +-
> drivers/media/v4l2-core/v4l2-ioctl.c | 44 +-
> drivers/media/v4l2-core/v4l2-mem2mem.c | 67 ++-
> drivers/media/v4l2-core/v4l2-subdev.c | 9 +-
> .../staging/media/davinci_vpfe/vpfe_video.c | 7 +-
> drivers/staging/media/imx/imx-media-dev.c | 2 +-
> drivers/staging/media/imx/imx-media-fim.c | 2 +-
> drivers/staging/media/omap4iss/iss_video.c | 3 +-
> drivers/usb/gadget/function/uvc_queue.c | 2 +-
> include/media/media-device.h | 29 +
> include/media/media-request.h | 386 +++++++++++++
> include/media/v4l2-ctrls.h | 123 +++-
> include/media/v4l2-device.h | 11 +
> include/media/v4l2-mem2mem.h | 4 +
> include/media/videobuf2-core.h | 62 +-
> include/media/videobuf2-v4l2.h | 20 +-
> include/uapi/linux/media.h | 8 +
> include/uapi/linux/videodev2.h | 14 +-
> 75 files changed, 3369 insertions(+), 363 deletions(-)
> create mode 100644 Documentation/media/uapi/mediactl/media-ioc-request-alloc.rst
> create mode 100644 Documentation/media/uapi/mediactl/media-request-ioc-queue.rst
> create mode 100644 Documentation/media/uapi/mediactl/media-request-ioc-reinit.rst
> create mode 100644 Documentation/media/uapi/mediactl/request-api.rst
> create mode 100644 Documentation/media/uapi/mediactl/request-func-close.rst
> create mode 100644 Documentation/media/uapi/mediactl/request-func-ioctl.rst
> create mode 100644 Documentation/media/uapi/mediactl/request-func-poll.rst
> create mode 100644 drivers/media/media-request.c
> create mode 100644 include/media/media-request.h
>
Thanks,
Mauro
next prev parent reply other threads:[~2018-08-14 22:49 UTC|newest]
Thread overview: 71+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-08-14 14:20 [PATCHv18 00/35] Request API Hans Verkuil
2018-08-14 14:20 ` [PATCHv18 01/35] Documentation: v4l: document request API Hans Verkuil
2018-08-14 19:16 ` Mauro Carvalho Chehab
2018-08-15 16:14 ` Laurent Pinchart
2018-08-16 9:58 ` Hans Verkuil
2018-08-16 10:16 ` Hans Verkuil
2018-08-16 10:28 ` Mauro Carvalho Chehab
2018-11-12 19:06 ` Thomas Gleixner
2018-11-18 13:52 ` Mauro Carvalho Chehab
2018-11-23 9:51 ` Mauro Carvalho Chehab
2018-11-23 10:38 ` Thomas Gleixner
2018-11-23 12:29 ` Mauro Carvalho Chehab
2018-11-23 12:44 ` Thomas Gleixner
2018-11-27 18:54 ` Mauro Carvalho Chehab
2018-11-26 3:27 ` Tomasz Figa
2018-08-14 14:20 ` [PATCHv18 02/35] uapi/linux/media.h: add " Hans Verkuil
2018-08-14 19:17 ` Mauro Carvalho Chehab
2018-08-14 14:20 ` [PATCHv18 03/35] media-request: implement media requests Hans Verkuil
2018-08-14 19:20 ` Mauro Carvalho Chehab
2018-08-14 14:20 ` [PATCHv18 04/35] media: doc: Add media-request.h header to documentation build Hans Verkuil
2018-08-14 14:20 ` [PATCHv18 05/35] media-request: add media_request_get_by_fd Hans Verkuil
2018-08-14 14:20 ` [PATCHv18 06/35] media-request: add media_request_object_find Hans Verkuil
2018-08-14 14:20 ` [PATCHv18 07/35] v4l2-device.h: add v4l2_device_supports_requests() helper Hans Verkuil
2018-08-24 10:21 ` Sakari Ailus
2018-08-14 14:20 ` [PATCHv18 08/35] v4l2-dev: lock req_queue_mutex Hans Verkuil
2018-08-14 19:22 ` Mauro Carvalho Chehab
2018-08-14 14:20 ` [PATCHv18 09/35] videodev2.h: add request_fd field to v4l2_ext_controls Hans Verkuil
2018-08-14 14:20 ` [PATCHv18 10/35] v4l2-ctrls: v4l2_ctrl_add_handler: add from_other_dev Hans Verkuil
2018-08-14 14:20 ` [PATCHv18 11/35] v4l2-ctrls: prepare internal structs for request API Hans Verkuil
2018-08-14 14:20 ` [PATCHv18 12/35] v4l2-ctrls: alloc memory for p_req Hans Verkuil
2018-08-14 14:20 ` [PATCHv18 13/35] v4l2-ctrls: use ref in helper instead of ctrl Hans Verkuil
2018-08-14 14:20 ` [PATCHv18 14/35] v4l2-ctrls: add core request support Hans Verkuil
2018-08-14 19:27 ` Mauro Carvalho Chehab
2018-08-14 14:20 ` [PATCHv18 15/35] v4l2-ctrls: support g/s_ext_ctrls for requests Hans Verkuil
2018-08-14 19:33 ` Mauro Carvalho Chehab
2018-08-14 14:20 ` [PATCHv18 16/35] v4l2-ctrls: add v4l2_ctrl_request_hdl_find/put/ctrl_find functions Hans Verkuil
2018-08-14 19:34 ` Mauro Carvalho Chehab
2018-08-14 14:20 ` [PATCHv18 17/35] videobuf2-v4l2: move __fill_v4l2_buffer() function Hans Verkuil
2018-08-14 19:36 ` Mauro Carvalho Chehab
2018-08-14 14:20 ` [PATCHv18 18/35] videobuf2-v4l2: replace if by switch in __fill_vb2_buffer() Hans Verkuil
2018-08-15 11:51 ` Mauro Carvalho Chehab
2018-08-14 14:20 ` [PATCHv18 19/35] vb2: store userspace data in vb2_v4l2_buffer Hans Verkuil
2018-08-14 19:47 ` Mauro Carvalho Chehab
2018-08-15 11:54 ` Hans Verkuil
2018-08-15 12:28 ` Mauro Carvalho Chehab
2018-08-15 12:33 ` Hans Verkuil
2018-08-14 14:20 ` [PATCHv18 20/35] davinci_vpfe: remove bogus vb2->state check Hans Verkuil
2018-08-14 14:20 ` [PATCHv18 21/35] vb2: drop VB2_BUF_STATE_PREPARED, use bool prepared/synced instead Hans Verkuil
2018-08-14 19:50 ` Mauro Carvalho Chehab
2018-08-14 14:20 ` [PATCHv18 22/35] videodev2.h: Add request_fd field to v4l2_buffer Hans Verkuil
2018-08-25 12:58 ` Sakari Ailus
2018-08-14 14:20 ` [PATCHv18 23/35] vb2: add init_buffer buffer op Hans Verkuil
2018-08-25 12:58 ` Sakari Ailus
2018-08-14 14:20 ` [PATCHv18 24/35] videobuf2-core: embed media_request_object Hans Verkuil
2018-08-14 19:53 ` Mauro Carvalho Chehab
2018-08-25 13:01 ` Sakari Ailus
2018-08-14 14:20 ` [PATCHv18 25/35] videobuf2-core: integrate with media requests Hans Verkuil
2018-08-14 14:20 ` [PATCHv18 26/35] videobuf2-v4l2: " Hans Verkuil
2018-08-14 14:20 ` [PATCHv18 27/35] videobuf2-core: add request helper functions Hans Verkuil
2018-08-14 14:20 ` [PATCHv18 28/35] videobuf2-v4l2: add vb2_request_queue/validate helpers Hans Verkuil
2018-08-14 19:54 ` Mauro Carvalho Chehab
2018-08-14 14:20 ` [PATCHv18 29/35] videobuf2-core: add uses_requests/qbuf flags Hans Verkuil
2018-08-14 14:20 ` [PATCHv18 30/35] videobuf2-v4l2: refuse qbuf if queue uses requests or vv Hans Verkuil
2018-08-14 14:20 ` [PATCHv18 31/35] v4l2-mem2mem: add vb2_m2m_request_queue Hans Verkuil
2018-08-14 19:56 ` Mauro Carvalho Chehab
2018-08-14 14:20 ` [PATCHv18 32/35] vim2m: use workqueue Hans Verkuil
2018-08-14 14:20 ` [PATCHv18 33/35] vim2m: support requests Hans Verkuil
2018-08-14 14:20 ` [PATCHv18 34/35] vivid: add mc Hans Verkuil
2018-08-14 14:20 ` [PATCHv18 35/35] vivid: add request support Hans Verkuil
2018-08-14 20:01 ` Mauro Carvalho Chehab [this message]
2018-08-14 20:04 ` [PATCHv18 00/35] Request API Mauro Carvalho Chehab
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180814170107.44d341a7@coco.lan \
--to=mchehab+samsung@kernel.org \
--cc=hverkuil@xs4all.nl \
--cc=linux-media@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.