Commit 7fc7af64 authored by Yong Zhi's avatar Yong Zhi Committed by Mauro Carvalho Chehab
Browse files

media: staging/intel-ipu3: Add imgu top level pci device driver



This patch adds support for the Intel IPU v3 as found
on Skylake and Kaby Lake SoCs.

The driver glues v4l2, css(camera sub system) and other
pieces together to perform its functions, it also loads
the IPU3 firmware binary as part of its initialization.

Signed-off-by: default avatarYong Zhi <yong.zhi@intel.com>
Signed-off-by: default avatarTomasz Figa <tfiga@chromium.org>
Signed-off-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+samsung@kernel.org>
parent a0ca1627
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -39,4 +39,6 @@ source "drivers/staging/media/tegra-vde/Kconfig"

source "drivers/staging/media/zoran/Kconfig"

source "drivers/staging/media/ipu3/Kconfig"

endif
+1 −0
Original line number Diff line number Diff line
@@ -9,3 +9,4 @@ obj-$(CONFIG_VIDEO_SUNXI) += sunxi/
obj-$(CONFIG_TEGRA_VDE)		+= tegra-vde/
obj-$(CONFIG_VIDEO_ZORAN)	+= zoran/
obj-$(CONFIG_VIDEO_ROCKCHIP_VPU) += rockchip/vpu/
obj-$(CONFIG_VIDEO_IPU3_IMGU)	+= ipu3/
+14 −0
Original line number Diff line number Diff line
config VIDEO_IPU3_IMGU
	tristate "Intel ipu3-imgu driver"
	depends on PCI && VIDEO_V4L2
	depends on MEDIA_CONTROLLER && VIDEO_V4L2_SUBDEV_API
	depends on X86
	select IOMMU_IOVA
	select VIDEOBUF2_DMA_SG
	---help---
	  This is the Video4Linux2 driver for Intel IPU3 image processing unit,
	  found in Intel Skylake and Kaby Lake SoCs and used for processing
	  images and video.

	  Say Y or M here if you have a Skylake/Kaby Lake SoC with a MIPI
	  camera. The module will be called ipu3-imgu.
+11 −0
Original line number Diff line number Diff line
#
# Makefile for the IPU3 ImgU drivers
#

ipu3-imgu-objs += \
		ipu3-mmu.o ipu3-dmamap.o \
		ipu3-tables.o ipu3-css-pool.o \
		ipu3-css-fw.o ipu3-css-params.o \
		ipu3-css.o ipu3-v4l2.o ipu3.o

obj-$(CONFIG_VIDEO_IPU3_IMGU) += ipu3-imgu.o
+23 −0
Original line number Diff line number Diff line
This is a list of things that need to be done to get this driver out of the
staging directory.

- Request API conversion. Remove of the dual pipeline and associate buffers
  as well as formats and the binary used to a request. Remove the
  opportunistic buffer management. (Sakari)

- Using ENABLED and IMMUTABLE link flags for the links where those are
  relevant. (Sakari)

- Prefix imgu for all public APIs, i.e. change ipu3_v4l2_register() to
  imgu_v4l2_register(). (Sakari)

- Use V4L2_CTRL_TYPE_MENU for dual-pipe mode control. (Sakari)

- IPU3 driver documentation (Laurent)
  Add diagram in driver rst to describe output capability.
  Comments on configuring v4l2 subdevs for CIO2 and ImgU.

- uAPI documentation:
  Further clarification on some ambiguities such as data type conversion of
  IEFD CU inputs. (Sakari)
  Move acronyms to doc-rst file. (Mauro)
Loading