From: Yong Zhi <yong.zhi@intel.com>
To: linux-media@vger.kernel.org, sakari.ailus@linux.intel.com
Cc: jian.xu.zheng@intel.com, tfiga@chromium.org,
rajmohan.mani@intel.com, tuukka.toivonen@intel.com,
Yong Zhi <yong.zhi@intel.com>
Subject: [PATCH 00/12] Intel IPU3 ImgU patchset
Date: Mon, 5 Jun 2017 15:39:05 -0500 [thread overview]
Message-ID: <1496695157-19926-1-git-send-email-yong.zhi@intel.com> (raw)
This patchset adds support for the Intel IPU3 (Image Processing Unit)
ImgU which is essentially a modern memory-to-memory ISP. It implements
raw Bayer to YUV image format conversion as well as a large number of
other pixel processing algorithms for improving the image quality.
Meta data formats are defined for image statistics (3A, i.e. automatic
white balance, exposure and focus, histogram and local area contrast
enhancement) as well as for the pixel processing algorithm parameters.
The documentation for these formats is currently not included in the
patchset but will be added in a future version of this set.
The algorithm parameters need to be considered specific to a given frame
and typically a large number of these parameters change on frame to frame
basis. Additionally, the parameters are highly structured (and not a flat
space of independent configuration primitives). They also reflect the
data structures used by the firmware and the hardware. On top of that,
the algorithms require highly specialized user space to make meaningful
use of them. For these reasons it has been chosen video buffers to pass
the parameters to the device.
On individual patches:
The heart of ImgU is the CSS, or Camera Subsystem, which contains the
image processors and HW accelerators.
The 3A statistics and other firmware parameter computation related
functions are implemented in patch 8.
All h/w programming related code can be found in patch 9.
To access DDR via ImgU's own memory space, IPU3 is also equipped with
its own MMU unit, the driver is implemented in patch 2.
Patch 3 uses above driver for DMA mapping operation.
Patch 5-10 are basically IPU3 CSS specific implementations:
6 and 7 provide some utility functions and manage IPU3 fw download and
install.
Patch 9 and 10 are of the same file, the latter implements interface
functions for access fw & hw capabilities defined in patch 8.
Patch 12 uses Kconfig and Makefile created by IPU3 cio2 patch set,
the code path, however is updated to drivers/media/pci/intel/ipu3.
The path change will be reflected in next revision of the cio2 patch as well.
Tuukka Toivonen (1):
intel-ipu3: mmu: implement driver
Yong Zhi (11):
videodev2.h, v4l2-ioctl: add IPU3 meta buffer format
intel-ipu3: Add DMA API implementation
intel-ipu3: Add user space ABI definitions
intel-ipu3: css: tables
intel-ipu3: css: imgu dma buff pool
intel-ipu3: css: firmware management
intel-ipu3: params: compute and program ccs
intel-ipu3: css hardware setup
intel-ipu3: css pipeline
intel-ipu3: Add imgu v4l2 driver
intel-ipu3: imgu top level pci device
drivers/media/pci/intel/ipu3/Kconfig | 32 +
drivers/media/pci/intel/ipu3/Makefile | 8 +
drivers/media/pci/intel/ipu3/ipu3-abi.h | 1572 ++++
drivers/media/pci/intel/ipu3/ipu3-css-fw.c | 272 +
drivers/media/pci/intel/ipu3/ipu3-css-fw.h | 215 +
drivers/media/pci/intel/ipu3/ipu3-css-params.c | 3113 ++++++++
drivers/media/pci/intel/ipu3/ipu3-css-params.h | 105 +
drivers/media/pci/intel/ipu3/ipu3-css-pool.c | 129 +
drivers/media/pci/intel/ipu3/ipu3-css-pool.h | 53 +
drivers/media/pci/intel/ipu3/ipu3-css.c | 2242 ++++++
drivers/media/pci/intel/ipu3/ipu3-css.h | 236 +
drivers/media/pci/intel/ipu3/ipu3-dmamap.c | 408 +
drivers/media/pci/intel/ipu3/ipu3-dmamap.h | 20 +
drivers/media/pci/intel/ipu3/ipu3-mmu.c | 423 ++
drivers/media/pci/intel/ipu3/ipu3-mmu.h | 73 +
drivers/media/pci/intel/ipu3/ipu3-tables.c | 9621 ++++++++++++++++++++++++
drivers/media/pci/intel/ipu3/ipu3-tables.h | 82 +
drivers/media/pci/intel/ipu3/ipu3-v4l2.c | 723 ++
drivers/media/pci/intel/ipu3/ipu3.c | 712 ++
drivers/media/pci/intel/ipu3/ipu3.h | 184 +
drivers/media/v4l2-core/v4l2-ioctl.c | 4 +
include/uapi/linux/intel-ipu3.h | 2182 ++++++
include/uapi/linux/videodev2.h | 6 +
23 files changed, 22415 insertions(+)
create mode 100644 drivers/media/pci/intel/ipu3/ipu3-abi.h
create mode 100644 drivers/media/pci/intel/ipu3/ipu3-css-fw.c
create mode 100644 drivers/media/pci/intel/ipu3/ipu3-css-fw.h
create mode 100644 drivers/media/pci/intel/ipu3/ipu3-css-params.c
create mode 100644 drivers/media/pci/intel/ipu3/ipu3-css-params.h
create mode 100644 drivers/media/pci/intel/ipu3/ipu3-css-pool.c
create mode 100644 drivers/media/pci/intel/ipu3/ipu3-css-pool.h
create mode 100644 drivers/media/pci/intel/ipu3/ipu3-css.c
create mode 100644 drivers/media/pci/intel/ipu3/ipu3-css.h
create mode 100644 drivers/media/pci/intel/ipu3/ipu3-dmamap.c
create mode 100644 drivers/media/pci/intel/ipu3/ipu3-dmamap.h
create mode 100644 drivers/media/pci/intel/ipu3/ipu3-mmu.c
create mode 100644 drivers/media/pci/intel/ipu3/ipu3-mmu.h
create mode 100644 drivers/media/pci/intel/ipu3/ipu3-tables.c
create mode 100644 drivers/media/pci/intel/ipu3/ipu3-tables.h
create mode 100644 drivers/media/pci/intel/ipu3/ipu3-v4l2.c
create mode 100644 drivers/media/pci/intel/ipu3/ipu3.c
create mode 100644 drivers/media/pci/intel/ipu3/ipu3.h
create mode 100644 include/uapi/linux/intel-ipu3.h
--
2.7.4
next reply other threads:[~2017-06-05 20:39 UTC|newest]
Thread overview: 66+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-06-05 20:39 Yong Zhi [this message]
2017-06-05 20:39 ` [PATCH 01/12] videodev2.h, v4l2-ioctl: add IPU3 meta buffer format Yong Zhi
2017-06-05 20:43 ` Alan Cox
2017-06-09 10:55 ` Sakari Ailus
2017-06-06 4:30 ` Tomasz Figa
2017-06-06 4:30 ` Tomasz Figa
2017-06-06 7:25 ` Sakari Ailus
2017-06-06 8:04 ` Hans Verkuil
2017-06-06 10:09 ` Tomasz Figa
2017-06-16 5:52 ` Tomasz Figa
2017-06-16 8:25 ` Sakari Ailus
2017-06-16 8:35 ` Tomasz Figa
2017-06-16 8:49 ` Sakari Ailus
2017-06-16 9:03 ` Tomasz Figa
2017-06-16 9:19 ` Sakari Ailus
2017-06-16 9:29 ` Tomasz Figa
2017-06-19 9:17 ` Laurent Pinchart
2017-06-19 10:41 ` Tomasz Figa
2017-06-05 20:39 ` [PATCH 02/12] intel-ipu3: mmu: implement driver Yong Zhi
2017-06-06 8:07 ` Hans Verkuil
2017-06-16 9:21 ` Sakari Ailus
2017-06-06 10:13 ` Tomasz Figa
2017-06-07 8:35 ` Tomasz Figa
2017-06-08 16:43 ` Sakari Ailus
2017-06-09 5:59 ` Tomasz Figa
2017-06-09 11:16 ` Sakari Ailus
2017-06-09 12:09 ` Tomasz Figa
2017-06-09 8:26 ` Tuukka Toivonen
2017-06-09 12:10 ` Tomasz Figa
2017-06-07 21:59 ` Sakari Ailus
2017-06-08 7:36 ` Tomasz Figa
2017-06-05 20:39 ` [PATCH 03/12] intel-ipu3: Add DMA API implementation Yong Zhi
2017-06-07 9:47 ` Tomasz Figa
2017-06-07 17:45 ` Alan Cox
2017-06-08 2:55 ` Tomasz Figa
2017-06-08 16:47 ` Sakari Ailus
2017-06-08 13:22 ` Robin Murphy
2017-06-08 14:35 ` Tomasz Figa
2017-06-08 18:07 ` Robin Murphy
2017-06-09 6:20 ` Tomasz Figa
2017-06-09 13:05 ` Robin Murphy
2017-06-05 20:39 ` [PATCH 04/12] intel-ipu3: Add user space ABI definitions Yong Zhi
2017-06-06 8:28 ` Hans Verkuil
2017-06-07 22:22 ` Sakari Ailus
2017-09-05 17:31 ` Zhi, Yong
2018-04-27 12:27 ` Sakari Ailus
2017-06-05 20:39 ` [PATCH 06/12] intel-ipu3: css: imgu dma buff pool Yong Zhi
2017-06-05 20:39 ` [PATCH 07/12] intel-ipu3: css: firmware management Yong Zhi
2017-06-06 8:38 ` Hans Verkuil
2017-06-14 21:46 ` Zhi, Yong
2017-06-16 10:15 ` Tomasz Figa
2017-06-05 20:39 ` [PATCH 08/12] intel-ipu3: params: compute and program ccs Yong Zhi
2017-06-05 20:39 ` [PATCH 09/12] intel-ipu3: css hardware setup Yong Zhi
2017-06-05 20:39 ` [PATCH 10/12] intel-ipu3: css pipeline Yong Zhi
2017-06-05 20:39 ` [PATCH 11/12] intel-ipu3: Add imgu v4l2 driver Yong Zhi
2017-06-06 9:08 ` Hans Verkuil
2017-06-09 9:20 ` Sakari Ailus
2017-06-14 23:40 ` Zhi, Yong
2017-06-05 20:39 ` [PATCH 12/12] intel-ipu3: imgu top level pci device Yong Zhi
2017-06-05 20:46 ` [PATCH 00/12] Intel IPU3 ImgU patchset Alan Cox
2017-06-14 22:26 ` Sakari Ailus
2017-06-15 8:26 ` Andy Shevchenko
2017-06-15 8:37 ` Sakari Ailus
2017-06-06 9:14 ` Hans Verkuil
[not found] ` <1496695157-19926-6-git-send-email-yong.zhi@intel.com>
2017-06-08 8:29 ` [PATCH 05/12] intel-ipu3: css: tables Tomasz Figa
2017-06-09 9:43 ` Sakari Ailus
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1496695157-19926-1-git-send-email-yong.zhi@intel.com \
--to=yong.zhi@intel.com \
--cc=jian.xu.zheng@intel.com \
--cc=linux-media@vger.kernel.org \
--cc=rajmohan.mani@intel.com \
--cc=sakari.ailus@linux.intel.com \
--cc=tfiga@chromium.org \
--cc=tuukka.toivonen@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).