Hello all This series adds a driver for the Input Video Control Block in the RZ/V2H SoC. The IVC block transmits input image data from memory to the ISP core (on this SoC, a Mali-C55 ISP). The driver registers an output video device for userspace to queue image buffers to. One noteworthy feature is that - because it is not a part of the main ISP drive - the IVC driver also registers a subdevice, which connects to the media device created by the ISP driver through the usual v4l2 async framework. This requires delaying the registration of the video device until the .registered() callback of the subdevice, so that the struct v4l2_dev pointer the subdevice connected to can be set to the video device. To facilitate communication between the ISP driver and the IVC driver we use the new media jobs framework that was posted recently [1]. The series is also based on top of the latest version of the Mali-C55 driver [2] and some updates to rzg2l-cru [3]. Note that this is not quite ready to merge, as there's an outstanding bug that sometimes causes the driver to hang. The device should fire two interrupts per frame; once on completion of data transmission and once on expiration of the blanking period. The second interrupt seems sometimes not to arrive, and at the moment the problem is worked around with a timeout in rzv2h_ivc_send_next_buffer(). We're working on that issue, but because the driver lends helpful context to the media jobs and mali-c55 series (and is probably otherwise ready for comment too) I wanted to post it. Thanks Dan [1] https://lore.kernel.org/linux-media/20250519140403.443915-1-dan.scally@xxxxxxxxxxxxxxxx/T/ [2] https://lore.kernel.org/linux-media/20250519143409.451100-1-dan.scally@xxxxxxxxxxxxxxxx/T/ [3] https://lore.kernel.org/linux-media/20250506125015.567746-1-dan.scally@xxxxxxxxxxxxxxxx/T/ Daniel Scally (3): dt-bindings: media: Add bindings for the RZ/V2H IVC block media: platform: Add Renesas Input Video Control block driver MAINTAINERS: Add entry for rzv2h-ivc driver .../bindings/media/renesas,rzv2h-ivc.yaml | 99 +++ MAINTAINERS | 7 + drivers/media/platform/renesas/Kconfig | 2 + drivers/media/platform/renesas/Makefile | 1 + .../media/platform/renesas/rzv2h-ivc/Kconfig | 11 + .../media/platform/renesas/rzv2h-ivc/Makefile | 7 + .../renesas/rzv2h-ivc/rzv2h-ivc-dev.c | 239 ++++++ .../renesas/rzv2h-ivc/rzv2h-ivc-subdev.c | 376 ++++++++++ .../renesas/rzv2h-ivc/rzv2h-ivc-video.c | 703 ++++++++++++++++++ .../platform/renesas/rzv2h-ivc/rzv2h-ivc.h | 141 ++++ 10 files changed, 1586 insertions(+) create mode 100644 Documentation/devicetree/bindings/media/renesas,rzv2h-ivc.yaml create mode 100644 drivers/media/platform/renesas/rzv2h-ivc/Kconfig create mode 100644 drivers/media/platform/renesas/rzv2h-ivc/Makefile create mode 100644 drivers/media/platform/renesas/rzv2h-ivc/rzv2h-ivc-dev.c create mode 100644 drivers/media/platform/renesas/rzv2h-ivc/rzv2h-ivc-subdev.c create mode 100644 drivers/media/platform/renesas/rzv2h-ivc/rzv2h-ivc-video.c create mode 100644 drivers/media/platform/renesas/rzv2h-ivc/rzv2h-ivc.h -- 2.34.1