[PATCH 0/6] media: rcar-vin: Unify notifiers and enable MC on Gen2

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello,

This series completes the conversion of the soc_camera VIN driver to a 
full fledge media-graph enabled driver for R-Car Gen2 devices, Gen3 and 
later have been media-graph centric from the start. Having a single 
driver supporting both MC and non-MC operation have lead do odd design 
decisions in the driver, and it have prevented improving the driver over 
all.

New features and bug fixes have always been more important then fixing 
this old generation to be MC-centric. But in order to start to play with 
libcamera support for the R-Car pipeline it have become more pressing to 
make take the time to make this driver MC-only, and more importantly 
test it to make sure nothing really breaks.

Patch 1/6 and 2/6 are drive-by fixes correcting issues in the existing 
design. Patch 3/6 prepares for Gen2 MC by making sure each VIN instance 
on Gen2 gets a unique ID which will be needed to support VIN groups.  
Compared to Gen3 and later the group ID does not match what it can do in 
the group and does not need to be set from DT, all that matters is that 
each VIN instance have a unique ID.

Patch 4/6 and 5/6 uses the fact that VIN instances on Gen2 now have 
unique IDs and greatly simplifies the unnecessarily complex vl4-async
notifier usage in the VIN driver. This have in the past lead to some 
subtle bugs and having only a single notifier for all VIN will remove a 
lot of possibilities for this to go wrong in the future.

Finally patch 6/6 removes all non MC code paths and have the Gen2 
devices register a media device and configure links.

This have been tested on Gen3 and Gen4 devices without any regressions.  
And on Gen2 to make sure the media-graph behaves as it should. As a 
bonus the Gen2 devices can now join the VIN CI and any future issues 
should be caught as they are for Gen3 and Gen4.

Niklas Söderlund (6):
  media: rcar-vin: Use correct count of remote subdevices
  media: rcar-vin: Change link setup argument
  media: rcar-vin: Generate a VIN group ID for Gen2
  media: rcar-vin: Prepare for unifying all v4l-async notifiers
  media: rcar-vin: Merge all notifiers
  media: rcar-vin: Enable media-graph on Gen2

 .../platform/renesas/rcar-vin/rcar-core.c     | 665 +++++++-----------
 .../platform/renesas/rcar-vin/rcar-dma.c      |  16 +-
 .../platform/renesas/rcar-vin/rcar-v4l2.c     | 488 +------------
 .../platform/renesas/rcar-vin/rcar-vin.h      |  14 +-
 4 files changed, 273 insertions(+), 910 deletions(-)

-- 
2.48.1





[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux