Hello,
This patch set adds support for the Renesas R-Car Gen3 SoC family to the VSP1
driver. The large number of patches is caused by a change in the display
controller architecture that makes usage of the VSP mandatory as the display
controller has lost the ability to read data from memory.
Patch 01/35 extends V4L2 with support for missing tri-planar non-contiguous
pixel formats that are needed by the driver. Patchs 02/35 to 32/35 prepare for
the implementation of an API exported to the DRM driver in patch 33/35. Patch
34/35 enables support for the R-Car Gen3 family, and patch 35/35 finally
enhances perfomances by implementing support for display lists.
The major change compared to v2 is the addition of tri-planar formats support
and the rebase on top of a merge of linuxtv/master and linuxtv/fixes (the
latter due to a conflict with this series).
The major change compared to v1 is the usage of the IP version register
instead of DT properties to configure device parameters such as the number of
BRU inputs or the availability of the BRU.
Laurent Pinchart (34):
v4l: Add YUV 4:2:2 and YUV 4:4:4 tri-planar non-contiguous formats
v4l: vsp1: Add tri-planar memory formats support
v4l: vsp1: Group all link creation code in a single file
v4l: vsp1: Change the type of the rwpf field in struct vsp1_video
v4l: vsp1: Store the memory format in struct vsp1_rwpf
v4l: vsp1: Move video operations to vsp1_rwpf
v4l: vsp1: Rename vsp1_video_buffer to vsp1_vb2_buffer
v4l: vsp1: Move video device out of struct vsp1_rwpf
v4l: vsp1: Make rwpf operations independent of video device
v4l: vsp1: Support VSP1 instances without any UDS
v4l: vsp1: Move vsp1_video pointer from vsp1_entity to vsp1_rwpf
v4l: vsp1: Remove struct vsp1_pipeline num_video field
v4l: vsp1: Decouple pipeline end of frame processing from vsp1_video
v4l: vsp1: Split pipeline management code from vsp1_video.c
v4l: vsp1: Rename video pipeline functions to use vsp1_video prefix
v4l: vsp1: Extract pipeline initialization code into a function
v4l: vsp1: Reuse local variable instead of recomputing it
v4l: vsp1: Extract link creation to separate function
v4l: vsp1: Document the vsp1_pipeline structure
v4l: vsp1: Fix typo in VI6_DISP_IRQ_STA_DST register bit name
v4l: vsp1: Set the SRU CTRL0 register when starting the stream
v4l: vsp1: Remove unused module read functions
v4l: vsp1: Move entity route setup function to vsp1_entity.c
v4l: vsp1: Make number of BRU inputs configurable
v4l: vsp1: Make the BRU optional
v4l: vsp1: Move format info to vsp1_pipe.c
v4l: vsp1: Make the userspace API optional
v4l: vsp1: Make pipeline inputs array index by RPF index
v4l: vsp1: Set the alpha value manually in RPF and WPF s_stream
handlers
v4l: vsp1: Don't validate links when the userspace API is disabled
v4l: vsp1: Add VSP+DU support
v4l: vsp1: Disconnect unused RPFs from the DRM pipeline
v4l: vsp1: Implement atomic update for the DRM driver
v4l: vsp1: Add support for the R-Car Gen3 VSP2
Takashi Saito (1):
v4l: vsp1: Add display list support
Documentation/DocBook/media/v4l/pixfmt-yuv422m.xml | 166 ++++++
Documentation/DocBook/media/v4l/pixfmt-yuv444m.xml | 177 ++++++
Documentation/DocBook/media/v4l/pixfmt.xml | 2 +
.../devicetree/bindings/media/renesas,vsp1.txt | 21 +-
drivers/media/platform/vsp1/Makefile | 3 +-
drivers/media/platform/vsp1/vsp1.h | 24 +
drivers/media/platform/vsp1/vsp1_bru.c | 33 +-
drivers/media/platform/vsp1/vsp1_bru.h | 3 +-
drivers/media/platform/vsp1/vsp1_dl.c | 305 +++++++++++
drivers/media/platform/vsp1/vsp1_dl.h | 42 ++
drivers/media/platform/vsp1/vsp1_drm.c | 597 +++++++++++++++++++++
drivers/media/platform/vsp1/vsp1_drm.h | 38 ++
drivers/media/platform/vsp1/vsp1_drv.c | 267 +++++++--
drivers/media/platform/vsp1/vsp1_entity.c | 31 +-
drivers/media/platform/vsp1/vsp1_entity.h | 14 +-
drivers/media/platform/vsp1/vsp1_hsit.c | 2 +-
drivers/media/platform/vsp1/vsp1_lif.c | 11 +-
drivers/media/platform/vsp1/vsp1_lut.c | 7 +-
drivers/media/platform/vsp1/vsp1_pipe.c | 426 +++++++++++++++
drivers/media/platform/vsp1/vsp1_pipe.h | 134 +++++
drivers/media/platform/vsp1/vsp1_regs.h | 32 +-
drivers/media/platform/vsp1/vsp1_rpf.c | 88 ++-
drivers/media/platform/vsp1/vsp1_rwpf.h | 29 +-
drivers/media/platform/vsp1/vsp1_sru.c | 9 +-
drivers/media/platform/vsp1/vsp1_uds.c | 8 +-
drivers/media/platform/vsp1/vsp1_video.c | 518 ++++--------------
drivers/media/platform/vsp1/vsp1_video.h | 111 +---
drivers/media/platform/vsp1/vsp1_wpf.c | 98 ++--
drivers/media/v4l2-core/v4l2-ioctl.c | 4 +
include/media/vsp1.h | 33 ++
include/uapi/linux/videodev2.h | 4 +
31 files changed, 2451 insertions(+), 786 deletions(-)
create mode 100644 Documentation/DocBook/media/v4l/pixfmt-yuv422m.xml
create mode 100644 Documentation/DocBook/media/v4l/pixfmt-yuv444m.xml
create mode 100644 drivers/media/platform/vsp1/vsp1_dl.c
create mode 100644 drivers/media/platform/vsp1/vsp1_dl.h
create mode 100644 drivers/media/platform/vsp1/vsp1_drm.c
create mode 100644 drivers/media/platform/vsp1/vsp1_drm.h
create mode 100644 drivers/media/platform/vsp1/vsp1_pipe.c
create mode 100644 drivers/media/platform/vsp1/vsp1_pipe.h
create mode 100644 include/media/vsp1.h
--
Regards,
Laurent Pinchart