RE: [PATCH 11/12] intel-ipu3: Add imgu v4l2 driver

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

 



Hi, Hans and Sakari,

Thanks a lot for the code review, I attached the topology print FYI.

Regards,

Yong
________________________________________
From: Sakari Ailus [sakari.ailus@xxxxxx]
Sent: Friday, June 09, 2017 2:20 AM
To: Hans Verkuil
Cc: Zhi, Yong; linux-media@xxxxxxxxxxxxxxx; sakari.ailus@xxxxxxxxxxxxxxx; Zheng, Jian Xu; tfiga@xxxxxxxxxxxx; Mani, Rajmohan; Toivonen, Tuukka
Subject: Re: [PATCH 11/12] intel-ipu3: Add imgu v4l2 driver

Hi Hans,

On Tue, Jun 06, 2017 at 11:08:07AM +0200, Hans Verkuil wrote:
> > +           /* Initialize vdev */
> > +           strlcpy(vdev->name, node->name, sizeof(vdev->name));
> > +           vdev->release = video_device_release_empty;
> > +           vdev->fops = &m2m2->v4l2_file_ops;
> > +           vdev->ioctl_ops = &ipu3_v4l2_ioctl_ops;
> > +           vdev->lock = &node->lock;
> > +           vdev->v4l2_dev = &m2m2->v4l2_dev;
> > +           vdev->queue = &node->vbq;
> > +           vdev->vfl_dir = node->output ? VFL_DIR_TX : VFL_DIR_RX;
>
> Why have two video nodes (one tx, one rx) instead of a single m2m device
> node?
>
> I'm not saying this is wrong, I just like to know the rationale for this
> design.

There are a bunch of outputs from the same input stream. Also the parameters
are needed to process the frame, I think there are two OUTPUT devices and
five CAPTURE devices.

Yong: could you send the media graph of the device, please?

--
Regards,

Sakari Ailus
e-mail: sakari.ailus@xxxxxx     XMPP: sailus@xxxxxxxxxxxxxx
Media controller API version 0.1.0

Media device information
------------------------
driver          ipu3-imgu
model           ipu3-imgu
serial          
bus info        0000:00:05.0
hw revision     0x0
driver version  4.12.0

Device topology
- entity 1: ipu3-imgu:0 (8 pads, 8 links)
            type V4L2 subdev subtype Unknown flags 0
            device node name /dev/v4l-subdev0
	pad0:Sink
		stream:0[fmt:UYVY2X8/352x288]
		link: 
		<- "input":0 [ENABLED,IMMUTABLE]
	pad1:Sink
		stream:0[fmt:UYVY2X8/352x288]
		link: 
		<- "parameters":0 []
	pad2:Source
		stream:0[fmt:UYVY2X8/352x288]
		link: 
		-> "output":0 []
	pad3:Source
		stream:0[fmt:UYVY2X8/352x288]
		link: 
		-> "viewfinder":0 []
	pad4:Source
		stream:0[fmt:UYVY2X8/352x288]
		link: 
		-> "postview":0 []
	pad5:Source
		stream:0[fmt:UYVY2X8/352x288]
		link: 
		-> "3a stat":0 []
	pad6:Source
		stream:0[fmt:UYVY2X8/352x288]
		link: 
		-> "dvs stat":0 []
	pad7:Source
		stream:0[fmt:UYVY2X8/352x288]
		link: 
		-> "lace stat":0 []

- entity 2: input (1 pad, 1 link)
            type Node subtype V4L flags 0
            device node name /dev/video0
	pad0:Source
		link: 
		-> "ipu3-imgu:0":0 [ENABLED,IMMUTABLE]

- entity 3: parameters (1 pad, 1 link)
            type Node subtype V4L flags 0
            device node name /dev/video1
	pad0:Source
		link: 
		-> "ipu3-imgu:0":1 []

- entity 4: output (1 pad, 1 link)
            type Node subtype V4L flags 0
            device node name /dev/video2
	pad0:Sink
		link: 
		<- "ipu3-imgu:0":2 []

- entity 5: viewfinder (1 pad, 1 link)
            type Node subtype V4L flags 0
            device node name /dev/video3
	pad0:Sink
		link: 
		<- "ipu3-imgu:0":3 []

- entity 6: postview (1 pad, 1 link)
            type Node subtype V4L flags 0
            device node name /dev/video4
	pad0:Sink
		link: 
		<- "ipu3-imgu:0":4 []

- entity 7: 3a stat (1 pad, 1 link)
            type Node subtype V4L flags 0
            device node name /dev/video5
	pad0:Sink
		link: 
		<- "ipu3-imgu:0":5 []

- entity 8: dvs stat (1 pad, 1 link)
            type Node subtype V4L flags 0
            device node name /dev/video6
	pad0:Sink
		link: 
		<- "ipu3-imgu:0":6 []

- entity 9: lace stat (1 pad, 1 link)
            type Node subtype V4L flags 0
            device node name /dev/video7
	pad0:Sink
		link: 
		<- "ipu3-imgu:0":7 []


Attachment: imgu-topology.dot
Description: imgu-topology.dot

Attachment: imgu.png
Description: imgu.png


[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