public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3 00/27] rcar-vin: Add Gen3 with media controller support
@ 2017-03-14 19:02 Niklas Söderlund
  2017-03-14 19:02 ` [PATCH v3 01/27] rcar-vin: add Gen3 devicetree bindings documentation Niklas Söderlund
                   ` (27 more replies)
  0 siblings, 28 replies; 34+ messages in thread
From: Niklas Söderlund @ 2017-03-14 19:02 UTC (permalink / raw)
  To: Laurent Pinchart, Hans Verkuil
  Cc: linux-media, linux-renesas-soc, tomoharu.fukawa.eb, Sakari Ailus,
	Geert Uytterhoeven, Niklas Söderlund

Hi All,

This series enable Gen3 VIN support in rcar-vin driver for Renesas r8a7795 and 
r8a7796. It is based on top of v4.11-rc1.

Patches that previously have been part of this series have been broken out to a 
separate series since they fix issues in the rcar-vin driver which are not 
strictly related to the Gen3 MC enablement. This series depends on that 
patch series which is posted separately as '[PATCH 00/16] rcar-vin: fix 
issues with format and capturing'.

The driver is tested on both Renesas H3 (r8a7795) and M3-W (r8a7796) together 
with the 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 and media-ctl can be used to change the routing and formats for 
the different entities in the media graph.

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 v2
- Do not try to control the subdevices in the media graph from the rcar-vin 
  driver. Have user-space configure to format in the pipeline instead.
- Add link validation before starting the stream.
- Rework on how the subdevices are and the video node behave by defining 
  specific V4L2 operations for the MC mode of operation, this simplified the 
  driver quit a bit, thanks Laurent!
- Add a new 'renesas,id' DT property which is needed to to be able to keep the 
  VIN to CSI-2 routing table inside the driver. Previously this information was 
  taken from the CSI-2 DT node which is obviusly the wrong way to do things.  
  Thanks Laurent for pointing this out.
- Fixed a memory leek in the group allocator function.
- Return -EMLINK instead of -EBUSY if a MC link is not possible given the 
  current routing setup.
- Add comments to clarify that the 4 channels from the CSI-2 node is not 
  directly related to CSI-2 virtual channels, the CSI-2 node can output any VC 
  on any of its output channels.

* 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 (24):
  rcar-vin: add Gen3 devicetree bindings documentation
  rcar-vin: move chip information to own struct
  rcar-vin: move max width and height information to chip information
  rcar-vin: change name of video device
  rcar-vin: move functions regarding scaling
  rcar-vin: all Gen2 boards can scale simplify logic
  rcar-vin: do not reset crop and compose when setting format
  rcar-vin: do not allow changing scaling and composing while streaming
  rcar-vin: read subdevice format for crop only when needed
  rcar-vin: do not cut height in two for top, bottom or alternate fields
  rcar-vin: move media bus configuration to struct rvin_info
  rcar-vin: enable Gen3 hardware configuration
  rcar-vin: add functions to manipulate Gen3 CHSEL value
  rcar-vin: prepare digital notifier for group notifier
  rcar-vin: add flag to switch to media controller mode
  rcar-vin: use different v4l2 operations in media controller mode
  rcar-vin: register a media pad if running in media controller mode
  rcar-vin: add group allocator functions
  rcar-vin: add chsel information to rvin_info
  rcar-vin: parse Gen3 OF and setup media graph
  rcar-vin: add link notify for Gen3
  rcar-vin: extend {start,stop}_streaming to work with media controller
  rcar-vin: enable support for r8a7795
  rcar-vin: enable support for r8a7796

Sakari Ailus (1):
  media: entity: Swap pads if route is checked from source to sink

 .../devicetree/bindings/media/rcar_vin.txt         |  123 ++-
 drivers/media/media-entity.c                       |   20 +
 drivers/media/platform/rcar-vin/Kconfig            |    2 +-
 drivers/media/platform/rcar-vin/rcar-core.c        | 1066 +++++++++++++++++++-
 drivers/media/platform/rcar-vin/rcar-dma.c         |  979 ++++++++++--------
 drivers/media/platform/rcar-vin/rcar-v4l2.c        |  369 +++++--
 drivers/media/platform/rcar-vin/rcar-vin.h         |  117 ++-
 include/media/media-entity.h                       |   21 +
 8 files changed, 2127 insertions(+), 570 deletions(-)

-- 
2.12.0

^ permalink raw reply	[flat|nested] 34+ messages in thread

end of thread, other threads:[~2017-04-25 14:33 UTC | newest]

Thread overview: 34+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-03-14 19:02 [PATCH v3 00/27] rcar-vin: Add Gen3 with media controller support Niklas Söderlund
2017-03-14 19:02 ` [PATCH v3 01/27] rcar-vin: add Gen3 devicetree bindings documentation Niklas Söderlund
2017-03-14 19:02 ` [PATCH v3 02/27] media: entity: Add has_route entity operation Niklas Söderlund
2017-03-14 19:02 ` [PATCH v3 03/27] media: entity: Add media_entity_has_route() function Niklas Söderlund
2017-03-14 19:02 ` [PATCH v3 04/27] media: entity: Swap pads if route is checked from source to sink Niklas Söderlund
2017-03-14 19:02 ` [PATCH v3 05/27] rcar-vin: move chip information to own struct Niklas Söderlund
2017-03-14 19:02 ` [PATCH v3 06/27] rcar-vin: move max width and height information to chip information Niklas Söderlund
2017-03-15  9:37   ` Sergei Shtylyov
2017-03-14 19:02 ` [PATCH v3 07/27] rcar-vin: change name of video device Niklas Söderlund
2017-03-14 19:02 ` [PATCH v3 08/27] rcar-vin: move functions regarding scaling Niklas Söderlund
2017-03-14 19:02 ` [PATCH v3 09/27] rcar-vin: all Gen2 boards can scale simplify logic Niklas Söderlund
2017-03-14 19:02 ` [PATCH v3 10/27] rcar-vin: do not reset crop and compose when setting format Niklas Söderlund
2017-03-14 19:02 ` [PATCH v3 11/27] rcar-vin: do not allow changing scaling and composing while streaming Niklas Söderlund
2017-03-14 19:02 ` [PATCH v3 12/27] rcar-vin: read subdevice format for crop only when needed Niklas Söderlund
2017-03-14 19:02 ` [PATCH v3 13/27] rcar-vin: do not cut height in two for top, bottom or alternate fields Niklas Söderlund
2017-03-14 19:02 ` [PATCH v3 14/27] rcar-vin: move media bus configuration to struct rvin_info Niklas Söderlund
2017-03-14 19:02 ` [PATCH v3 15/27] rcar-vin: enable Gen3 hardware configuration Niklas Söderlund
2017-03-14 19:02 ` [PATCH v3 16/27] rcar-vin: add functions to manipulate Gen3 CHSEL value Niklas Söderlund
2017-03-14 19:02 ` [PATCH v3 17/27] rcar-vin: prepare digital notifier for group notifier Niklas Söderlund
2017-03-14 19:02 ` [PATCH v3 18/27] rcar-vin: add flag to switch to media controller mode Niklas Söderlund
2017-03-14 19:03 ` [PATCH v3 19/27] rcar-vin: use different v4l2 operations in " Niklas Söderlund
2017-03-14 19:03 ` [PATCH v3 20/27] rcar-vin: register a media pad if running " Niklas Söderlund
2017-03-14 19:03 ` [PATCH v3 21/27] rcar-vin: add group allocator functions Niklas Söderlund
2017-03-14 19:03 ` [PATCH v3 22/27] rcar-vin: add chsel information to rvin_info Niklas Söderlund
2017-03-14 19:03 ` [PATCH v3 23/27] rcar-vin: parse Gen3 OF and setup media graph Niklas Söderlund
2017-03-14 19:03 ` [PATCH v3 24/27] rcar-vin: add link notify for Gen3 Niklas Söderlund
2017-03-14 19:03 ` [PATCH v3 25/27] rcar-vin: extend {start,stop}_streaming to work with media controller Niklas Söderlund
2017-03-14 19:03 ` [PATCH v3 26/27] rcar-vin: enable support for r8a7795 Niklas Söderlund
2017-03-14 19:03 ` [PATCH v3 27/27] rcar-vin: enable support for r8a7796 Niklas Söderlund
2017-03-16  8:36   ` Geert Uytterhoeven
2017-03-16  9:17     ` Niklas Söderlund
2017-04-24 18:14 ` [PATCH 2/2] rcar-vin: group: use correct of_node Kieran Bingham
2017-04-25 14:30   ` Niklas Söderlund
2017-04-25 14:33     ` Kieran Bingham

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox