mbox series

[v4,00/13] tegra-video: Add support for capturing from HDMI-to-CSI bridge

Message ID 1607706162-1548-1-git-send-email-skomatineni@nvidia.com
Headers show
Series tegra-video: Add support for capturing from HDMI-to-CSI bridge | expand

Message

Sowjanya Komatineni Dec. 11, 2020, 5:02 p.m. UTC
This series includes below changes to allow capturing from HDMI-to-CSI bridges.
- Add DV timing, EDID and log status V4L2 IOCTLs
- Subscribe V4L2_EVENT_SOURCE_CHANGE
- Implement V4L2 device notify callback to report queue error on source change
  during active streaming.
- Add support for NV16 V4L2 Pixel format.
- Add x8 capture by multiple ports gang up for 4K captures from HDMI-to-CSI
  bridges.

Note: These patches are tested with TC358840 HDMI-to-CSI bridge.

This series also include below fixes
- Allow format change for subdevs that don't have crop support.
- Correct V4L2 Pixel format for RGB888_1X24
- Enable VI pixel transform for YUV and RGB formats.

Delta between patch versions:
[v4]:	Includes v3 minor feedback

[v3]:	Includes below changes based on v2 feedback
	- Correct V4L2 pixel formats for RGB and YUV.
	- Sets V4L2_IN_CAP_DV_TIMINGS capability for v4l2 input.
	- Updates V4L2_FWNODE_CSI2_MAX_DATA_LANES to 8 and uses
	  data-lanes property of Tegra CSI device graph endpoint
	  for 8 lanes.
	- Added V4L2 custom control V4L2_CID_TEGRA_SYNCPT_TIMEOUT_RETRY
	  for HDMI-to-CSI bridge debug purposes.

[v2]:	v1 + additional patch for x8 capture support


Sowjanya Komatineni (13):
  media: tegra-video: Use zero crop settings if subdev has no
    get_selection
  media: tegra-video: Enable VI pixel transform for YUV and RGB formats
  media: tegra-video: Fix V4L2 pixel format RGB and YUV
  media: tegra-video: Add support for V4L2_PIX_FMT_NV16
  media: tegra-video: Add DV timing support
  media: tegra-video: Add support for EDID ioctl ops
  media: tegra-video: Add support for VIDIOC_LOG_STATUS ioctl
  media: tegra-video: Add support for V4L2_EVENT_SOURCE_CHANGE
  media: tegra-video: Implement V4L2 device notify callback
  media: v4l2-fwnode: Update V4L2_FWNODE_CSI2_MAX_DATA_LANES to 8
  dt-bindings: tegra: Update csi data-lanes to maximum 8 lanes
  media: tegra-video: Add support for x8 captures with gang ports
  media: tegra-video: Add custom V4L2 control
    V4L2_CID_TEGRA_SYNCPT_TIMEOUT_RETRY

 .../display/tegra/nvidia,tegra20-host1x.txt        |   4 +-
 drivers/staging/media/tegra-video/csi.c            |  35 ++-
 drivers/staging/media/tegra-video/csi.h            |  14 +-
 drivers/staging/media/tegra-video/tegra210.c       | 340 ++++++++++++++-------
 drivers/staging/media/tegra-video/vi.c             | 338 +++++++++++++++++---
 drivers/staging/media/tegra-video/vi.h             |  23 +-
 drivers/staging/media/tegra-video/video.c          |  18 ++
 include/media/v4l2-fwnode.h                        |   2 +-
 8 files changed, 614 insertions(+), 160 deletions(-)