Hi Laurent, > -----Original Message----- > From: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > Sent: Monday, November 4, 2024 4:25 PM > To: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> > Cc: Wang, Hongju <hongju.wang@xxxxxxxxx>; linux-media@xxxxxxxxxxxxxxx; > bingbu.cao@xxxxxxxxxxxxxxx; hverkuil@xxxxxxxxx > Subject: Re: [PATCH] media: intel/ipu6: Set the VC of the stream as the > SOF event id > > On Mon, Nov 04, 2024 at 07:56:51AM +0000, Sakari Ailus wrote: > > On Mon, Nov 04, 2024 at 03:07:58AM +0000, Wang, Hongju wrote: > > > On Thursday, October 24, 2024 6:31 PM, Sakari Ailus wrote: > > > > On Thu, Oct 24, 2024 at 11:22:01AM +0800, Hongju Wang wrote: > > > > > In the virtual channel case, they should use v4l2_event.id to > > > > > distinguish SOF events of different streams. Therefore, we set > > > > > the virtual channel number of the stream as the SOF event ID. This > number is unique. > > > > > > > > > > Signed-off-by: Hongju Wang <hongju.wang@xxxxxxxxx> > > > > > --- > > > > > drivers/media/pci/intel/ipu6/ipu6-isys-csi2.c | 1 + > > > > > 1 file changed, 1 insertion(+) > > > > > > > > > > diff --git a/drivers/media/pci/intel/ipu6/ipu6-isys-csi2.c > > > > > b/drivers/media/pci/intel/ipu6/ipu6-isys-csi2.c > > > > > index 051898ce53f4..5ad426afa0f0 100644 > > > > > --- a/drivers/media/pci/intel/ipu6/ipu6-isys-csi2.c > > > > > +++ b/drivers/media/pci/intel/ipu6/ipu6-isys-csi2.c > > > > > @@ -578,6 +578,7 @@ void ipu6_isys_csi2_sof_event_by_stream(struct > ipu6_isys_stream *stream) > > > > > .type = V4L2_EVENT_FRAME_SYNC, > > > > > }; > > > > > > > > > > + ev.id = stream->vc; > > > > > ev.u.frame_sync.frame_sequence = atomic_fetch_inc(&stream- > >sequence); > > > > > v4l2_event_queue(vdev, &ev); > > > > > > > > > > > > > The id field in struct v4l2_event isn't used for the FRAME_SYNC > > > > event and also the virtual channel isn't communicated to the user > space currently. > > > > > > How to use the id field? User space should use SOF to do FRAME_SYNC, > > > but the v4l2_event doesn't distinguish different streams. Do you > have > > > any good suggestions? > > > > Ah, now I think I do understand the problem. The events are produced > > by the > > CSI-2 receiver sub-device but there are multiple streams and the event > > isn't stream-aware? > > > > It's nice that the id field of the FRAME_SYNC event isn't in use for > > any other purpose. This should be taken into account in event > > subscription, too. > > > > I'll add a patch documenting this in the metadata series. Any thoughts? > > I think we could use the id field for this purpose, but maybe not to > report the VC. Userspace isn't VC-aware, we should instead convert the VC > to a stream. > Do you mean that we use a stream id? But which stream is used isn't fixed. Only when video streams on, we select a stream for it. Which sensor uses Which VC is fixed by sensor driver. > > Cc Laurent and Hans. > > -- > Regards, > > Laurent Pinchart