public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/6] media: rcar-vin: Unify notifiers and enable MC on Gen2
@ 2025-02-24 18:39 Niklas Söderlund
  2025-02-24 18:39 ` [PATCH 1/6] media: rcar-vin: Use correct count of remote subdevices Niklas Söderlund
                   ` (5 more replies)
  0 siblings, 6 replies; 9+ messages in thread
From: Niklas Söderlund @ 2025-02-24 18:39 UTC (permalink / raw)
  To: Sakari Ailus, Mauro Carvalho Chehab, Tomi Valkeinen, linux-media,
	linux-renesas-soc
  Cc: Niklas Söderlund

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


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

end of thread, other threads:[~2025-03-17 14:53 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-24 18:39 [PATCH 0/6] media: rcar-vin: Unify notifiers and enable MC on Gen2 Niklas Söderlund
2025-02-24 18:39 ` [PATCH 1/6] media: rcar-vin: Use correct count of remote subdevices Niklas Söderlund
2025-02-24 18:39 ` [PATCH 2/6] media: rcar-vin: Change link setup argument Niklas Söderlund
2025-02-24 18:39 ` [PATCH 3/6] media: rcar-vin: Generate a VIN group ID for Gen2 Niklas Söderlund
2025-02-27 13:46   ` Geert Uytterhoeven
2025-03-17 14:53     ` Niklas Söderlund
2025-02-24 18:39 ` [PATCH 4/6] media: rcar-vin: Prepare for unifying all v4l-async notifiers Niklas Söderlund
2025-02-24 18:39 ` [PATCH 5/6] media: rcar-vin: Merge all notifiers Niklas Söderlund
2025-02-24 18:39 ` [PATCH 6/6] media: rcar-vin: Enable media-graph on Gen2 Niklas Söderlund

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