Re: [PATCH v2 14/15] Documentation: add Intel IPU6 ISYS driver admin-guide doc

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

 



Hi Bingbu,

On Mon, Jan 08, 2024 at 11:51:50AM +0800, Bingbu Cao wrote:
> Sakari,
> 
> On 10/25/23 8:15 PM, Sakari Ailus wrote:
> > Hi Bingbu,
> > 
> > On Tue, Oct 24, 2023 at 07:29:23PM +0800, bingbu.cao@xxxxxxxxx wrote:
> >> From: Bingbu Cao <bingbu.cao@xxxxxxxxx>
> >>
> >> This document mainly describe the functionality of IPU6 and
> >> IPU6 isys driver, and gives an example that how user can do
> >> imaging capture with tools.
> >>
> >> Signed-off-by: Bingbu Cao <bingbu.cao@xxxxxxxxx>
> >> ---
> >>  Documentation/admin-guide/media/ipu6-isys.rst |  159 +++
> >>  .../admin-guide/media/ipu6_isys_graph.svg     |  338 +++++
> >>  .../admin-guide/media/ipu6_isys_multi.svg     | 1124 +++++++++++++++++
> >>  .../admin-guide/media/v4l-drivers.rst         |    1 +
> >>  4 files changed, 1622 insertions(+)
> >>  create mode 100644 Documentation/admin-guide/media/ipu6-isys.rst
> >>  create mode 100644 Documentation/admin-guide/media/ipu6_isys_graph.svg
> >>  create mode 100644 Documentation/admin-guide/media/ipu6_isys_multi.svg
> >>
> >> diff --git a/Documentation/admin-guide/media/ipu6-isys.rst b/Documentation/admin-guide/media/ipu6-isys.rst
> >> new file mode 100644
> >> index 000000000000..fb4d355e1522
> >> --- /dev/null
> >> +++ b/Documentation/admin-guide/media/ipu6-isys.rst
> >> @@ -0,0 +1,159 @@
> >> +.. SPDX-License-Identifier: GPL-2.0
> >> +
> >> +.. include:: <isonum.txt>
> >> +
> >> +===============================================================
> >> +Intel Image Processing Unit 6 (IPU6) Input System driver
> >> +===============================================================
> > 
> > Too many '='s.
> > 
> >> +
> >> +Copyright |copy| 2023 Intel Corporation
> >> +
> >> +Introduction
> >> +============
> >> +
> >> +This file documents the Intel IPU6 (6th generation Image Processing Unit)
> >> +Input System (MIPI CSI2 receiver) drivers located under
> >> +drivers/media/pci/intel/ipu6.
> >> +
> >> +The Intel IPU6 can be found in certain Intel Chipsets but not in all SKUs:
> >> +
> >> +* TigerLake
> >> +* JasperLake
> >> +* AlderLake
> >> +* RaptorLake
> >> +* MeteorLake
> >> +
> >> +Intel IPU6 is made up of two components - Input System (ISYS) and Processing
> >> +System (PSYS).
> >> +
> >> +The Input System mainly works as MIPI CSI2 receiver which receives and
> >> +processes the imaging data from the sensors and outputs the frames to memory.
> >> +
> >> +There are 2 driver modules - intel_ipu6 and intel_ipu6_isys. intel_ipu6 is an
> >> +IPU6 common driver which does PCI configuration, firmware loading and parsing,
> >> +firmware authentication, DMA mapping and IPU-MMU (internal Memory mapping Unit)
> >> +configuration. intel_ipu6_isys implements V4L2, Media Controller and V4L2
> >> +sub-device interfaces. The IPU6 ISYS driver supports camera sensors connected
> >> +to the IPU6 ISYS through V4L2 sub-device sensor drivers.
> >> +
> >> +.. Note:: See Documentation/driver-api/media/drivers/ipu6.rst for more
> >> +	  information about the IPU6 hardware.
> > 
> > A direct reference would be nice.
> > 
> >> +
> >> +
> >> +Input system driver
> >> +===================
> >> +
> >> +The input System driver mainly configures CSI2 DPHY, constructs the firmware
> >> +stream configuration, sends commands to firmware, gets response from hardware
> >> +and firmware and then returns buffers to user.
> >> +The ISYS is represented as several V4L2 sub-devices - 'Intel IPU6 CSI2 $port',
> >> +which provide V4L2 subdev interfaces to the user space, there are also several
> >> +video nodes for each CSI-2 stream capture - 'Intel IPU6 ISYS capture $num' which
> >> +provide interface to user to set formats, queue buffers and streaming.
> >> +
> >> +.. kernel-figure::  ipu6_isys_graph.svg
> >> +   :alt: ipu6 isys media graph without multiple streams support
> >> +
> >> +   ipu6 isys media graph without multiple streams support
> >> +
> >> +.. kernel-figure::  ipu6_isys_multi.svg
> >> +   :alt: ipu6 isys media graph with multiple streams support
> >> +
> >> +   ipu6 isys media graph with multiple streams support
> > 
> > Is there a reason for having links from the CSI-2 receivers' source pads to
> > multiple video nodes? Isn't a single one enough?
> >
> 
> Sorry, I forgot to reply before. Firmware sees each MIPI VC as a single
> stream, for multiple VCs case, SW need create multiple firmware streams.

Yes, I understand that, but this does not explain why you have multiple
links between the source pads and video nodes. You can only capture one
stream at a time from a video node. The user needs to select the correct
video node related to a source pad, not to pick a random video node and
then figure out which link to enable.

The media graph does look impressive though. :-)

-- 
Regards,

Sakari Ailus




[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux