Hi, Hans and Sakari, Thanks a lot for the code review, I attached the topology print FYI.
Regards, Yong ________________________________________ From: Sakari Ailus [[email protected]] Sent: Friday, June 09, 2017 2:20 AM To: Hans Verkuil Cc: Zhi, Yong; [email protected]; [email protected]; Zheng, Jian Xu; [email protected]; 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: [email protected] XMPP: [email protected]
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 []
imgu-topology.dot
Description: imgu-topology.dot
