[PATCH 0/3] Add Input Video Control Block driver for RZ/V2H

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

 



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





[Index of Archives]     [Linux Samsung SOC]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux