Hi, On 21/05/2025 16:20, Niklas Söderlund wrote: > 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. > > See individual patches for changelog. > > 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 | 706 +++++++----------- > .../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, 305 insertions(+), 919 deletions(-) > On my V4H board, GMSL2, multistreams branch: Tested-by: Tomi Valkeinen <tomi.valkeinen+renesas@xxxxxxxxxxxxxxxx> Tomi