From: "Niklas Söderlund" <niklas.soderlund+renesas@ragnatech.se>
To: Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
Hans Verkuil <hverkuil@xs4all.nl>
Cc: linux-media@vger.kernel.org, linux-renesas-soc@vger.kernel.org,
tomoharu.fukawa.eb@renesas.com,
"Sakari Ailus" <sakari.ailus@linux.intel.com>,
"Geert Uytterhoeven" <geert@linux-m68k.org>,
"Niklas Söderlund" <niklas.soderlund+renesas@ragnatech.se>
Subject: [PATCHv2 00/32] rcar-vin: Add Gen3 with media controller support
Date: Sat, 12 Nov 2016 14:11:44 +0100 [thread overview]
Message-ID: <20161112131216.22635-1-niklas.soderlund+renesas@ragnatech.se> (raw)
Hi All,
This series enable Gen3 VIN support in rcar-vin driver for Renesas
r8a7795 and r8a7796. It is based on top of v4.9-rc1.
Parts of this series was previously part of an different series from me
which enabled Gen3 support in a different way (using s_input instead of
a media controller) but after feedback during ELCE the Gen3 enablement
is now almost completely rewritten.
Patch 1-2: pick-up media entity features from Laurent which the driver
depends on.
Patch 3-5: fix small issues in the driver.
Patch 6-13: changes the driver from attaching to a video source
subdevice at probe time to when the video device node (/dev/videoX) are
opened. It also allows for the subdevice which is attached is not the
same as last time it was opened, but only at the time the first user
opens, i.e. when v4l2_fh_is_singular_file() is true.
Patch 14-15: prepare the internal data structures for Gen3.
Patch 16-17: small refactoring preparing for Gen3 additions.
Patch 18-19: add logic to work with the Gen3 hardware registers
Patch 20-24: add media control support, link setup and link notify
handlers.
Patch 25-29: add logic to the driver to work together with the media
controller.
Patch 30-32: document the new Gen3 DT bindings, add r8a7795 and r8a7796
definitions and device info structures.
The driver is tested on both Renesas H3 (r8a7795) and M3-W (r8a7796)
together with the new rcar-csi2 driver (posted separately) and a
prototype driver of the ADV7482 (not ready for upstream but publicly
available). It is possible to capture both CVBS and HDMI video streams,
v4l2-compliance passes with no errors (there is one warning due the
ADV7482 driver) and media-ctl can be used to change the routing from the
different CSI-2 sources to the different VIN consumers.
Gen2 compatibility is verified on Koelsch and no problems where found,
video can be captured just like before and v4l2-compliance passes
without errors or warnings.
I have started on a very basic test suite for the VIN driver at:
https://git.ragnatech.se/vin-tests
And as before the state of the driver and information about how to test it can
be found on the elinux wiki:
http://elinux.org/R-Car/Tests:rcar-vin
* Changes since v1
- Remove unneeded casts as pointed out by Geert.
- Fix spelling and DT documentation as pointed out by Geert and Sergei, thanks!
- Refresh patch 2/32 with an updated version, thanks Sakari for pointing this
out.
- Add Sakaris Ack to patch 1/32.
- Rebase on top of v4.9-rc1 instead of v4.9-rc3 to ease integration testing
together with renesas-drivers tree.
Laurent Pinchart (2):
media: entity: Add has_route entity operation
media: entity: Add media_entity_has_route() function
Niklas Söderlund (30):
media: rcar-vin: reset bytesperline and sizeimage when resetting
format
media: rcar-vin: use rvin_reset_format() in S_DV_TIMINGS
media: rcar-vin: fix how pads are handled for v4l2 subdeivce
operations
media: rcar-vin: fix standard in input enumeration
media: rcar-vin: add wrapper to get rvin_graph_entity
media: rcar-vin: move subdev source and sink pad index to
rvin_graph_entity
media: rcar-vin: move pad number discovery to async complete handler
media: rcar-vin: use pad information when verifying media bus format
media: rcar-vin: refactor pad lookup code
media: rcar-vin: split rvin_s_fmt_vid_cap()
media: rcar-vin: register the video device early
media: rcar-vin: move chip information to own struct
media: rcar-vin: move max width and height information to chip
information
media: rcar-vin: change name of video device
media: rcar-vin: clarify error message from the digital notifier
media: rcar-vin: enable Gen3 hardware configuration
media: rcar-vin: add functions to manipulate Gen3 CHSEL value
media: rcar-vin: expose a sink pad if we are on Gen3
media: rcar-vin: add group allocator functions
media: rcar-vin: add chsel information to rvin_info
media: rcar-vin: parse Gen3 OF and setup media graph
media: rcar-vin: add link notify for Gen3
media: rcar-vin: enable CSI2 group subdevices in lookup helpers
media: rcar-vin: add helpers for bridge
media: rcar-vin: start/stop the CSI2 bridge stream
media: rcar-vin: propagate format to bridge
media: rcar-vin: attach to CSI2 group when the video device is opened
media: rcar-vin: add Gen3 devicetree bindings documentation
media: rcar-vin: enable support for r8a7795
media: rcar-vin: enable support for r8a7796
.../devicetree/bindings/media/rcar_vin.txt | 117 +-
drivers/media/media-entity.c | 16 +
drivers/media/platform/rcar-vin/Kconfig | 2 +-
drivers/media/platform/rcar-vin/rcar-core.c | 1138 +++++++++++++++++++-
drivers/media/platform/rcar-vin/rcar-dma.c | 240 ++++-
drivers/media/platform/rcar-vin/rcar-v4l2.c | 394 ++++---
drivers/media/platform/rcar-vin/rcar-vin.h | 112 +-
include/media/media-entity.h | 22 +
8 files changed, 1795 insertions(+), 246 deletions(-)
--
2.10.2
next reply other threads:[~2016-11-12 13:13 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-12 13:11 Niklas Söderlund [this message]
2016-11-12 13:11 ` [PATCHv2 01/32] media: entity: Add has_route entity operation Niklas Söderlund
2016-11-12 13:11 ` [PATCHv2 02/32] media: entity: Add media_entity_has_route() function Niklas Söderlund
2016-11-12 13:11 ` [PATCHv2 03/32] media: rcar-vin: reset bytesperline and sizeimage when resetting format Niklas Söderlund
2016-11-12 13:11 ` [PATCHv2 04/32] media: rcar-vin: use rvin_reset_format() in S_DV_TIMINGS Niklas Söderlund
2016-11-12 13:11 ` [PATCHv2 05/32] media: rcar-vin: fix how pads are handled for v4l2 subdeivce operations Niklas Söderlund
2016-11-12 13:11 ` [PATCHv2 06/32] media: rcar-vin: fix standard in input enumeration Niklas Söderlund
2016-11-12 13:11 ` [PATCHv2 07/32] media: rcar-vin: add wrapper to get rvin_graph_entity Niklas Söderlund
2016-11-12 13:11 ` [PATCHv2 08/32] media: rcar-vin: move subdev source and sink pad index to rvin_graph_entity Niklas Söderlund
2016-11-12 13:11 ` [PATCHv2 09/32] media: rcar-vin: move pad number discovery to async complete handler Niklas Söderlund
2016-11-12 13:11 ` [PATCHv2 10/32] media: rcar-vin: use pad information when verifying media bus format Niklas Söderlund
2016-11-12 13:11 ` [PATCHv2 11/32] media: rcar-vin: refactor pad lookup code Niklas Söderlund
2016-11-12 13:11 ` [PATCHv2 12/32] media: rcar-vin: split rvin_s_fmt_vid_cap() Niklas Söderlund
2016-11-12 13:11 ` [PATCHv2 13/32] media: rcar-vin: register the video device early Niklas Söderlund
2016-11-12 13:11 ` [PATCHv2 14/32] media: rcar-vin: move chip information to own struct Niklas Söderlund
2016-11-12 13:11 ` [PATCHv2 15/32] media: rcar-vin: move max width and height information to chip information Niklas Söderlund
2016-11-12 13:12 ` [PATCHv2 16/32] media: rcar-vin: change name of video device Niklas Söderlund
2016-11-12 13:12 ` [PATCHv2 17/32] media: rcar-vin: clarify error message from the digital notifier Niklas Söderlund
2016-11-12 13:12 ` [PATCHv2 18/32] media: rcar-vin: enable Gen3 hardware configuration Niklas Söderlund
2016-11-12 13:12 ` [PATCHv2 19/32] media: rcar-vin: add functions to manipulate Gen3 CHSEL value Niklas Söderlund
2016-11-12 13:12 ` [PATCHv2 20/32] media: rcar-vin: expose a sink pad if we are on Gen3 Niklas Söderlund
2016-11-12 13:12 ` [PATCHv2 21/32] media: rcar-vin: add group allocator functions Niklas Söderlund
2016-11-12 13:12 ` [PATCHv2 22/32] media: rcar-vin: add chsel information to rvin_info Niklas Söderlund
2016-11-12 13:12 ` [PATCHv2 23/32] media: rcar-vin: parse Gen3 OF and setup media graph Niklas Söderlund
2016-11-12 13:12 ` [PATCHv2 24/32] media: rcar-vin: add link notify for Gen3 Niklas Söderlund
2016-11-12 13:12 ` [PATCHv2 25/32] media: rcar-vin: enable CSI2 group subdevices in lookup helpers Niklas Söderlund
2016-11-12 13:12 ` [PATCHv2 26/32] media: rcar-vin: add helpers for bridge Niklas Söderlund
2016-11-12 13:12 ` [PATCHv2 27/32] media: rcar-vin: start/stop the CSI2 bridge stream Niklas Söderlund
2016-11-12 13:12 ` [PATCHv2 28/32] media: rcar-vin: propagate format to bridge Niklas Söderlund
2016-11-12 13:12 ` [PATCHv2 29/32] media: rcar-vin: attach to CSI2 group when the video device is opened Niklas Söderlund
2016-11-12 13:12 ` [PATCHv2 30/32] media: rcar-vin: add Gen3 devicetree bindings documentation Niklas Söderlund
2016-11-12 13:12 ` [PATCHv2 31/32] media: rcar-vin: enable support for r8a7795 Niklas Söderlund
2016-11-12 13:12 ` [PATCHv2 32/32] media: rcar-vin: enable support for r8a7796 Niklas Söderlund
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=20161112131216.22635-1-niklas.soderlund+renesas@ragnatech.se \
--to=niklas.soderlund+renesas@ragnatech.se \
--cc=geert@linux-m68k.org \
--cc=hverkuil@xs4all.nl \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-media@vger.kernel.org \
--cc=linux-renesas-soc@vger.kernel.org \
--cc=sakari.ailus@linux.intel.com \
--cc=tomoharu.fukawa.eb@renesas.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).