Hi Sakari > -----Original Message----- > From: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxx> > Sent: Thursday, October 24, 2024 6:31 PM > To: Wang, Hongju <hongju.wang@xxxxxxxxx> > Cc: linux-media@xxxxxxxxxxxxxxx; bingbu.cao@xxxxxxxxxxxxxxx > Subject: Re: [PATCH] media: intel/ipu6: Set the VC of the stream as the > SOF event id > > Hi Hongju, > > 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? > Doesn't the video device itself (and the routing configuration) associate > this to a given sensor already? Yes, they are already connected. But we can't use the video device to do FRAME_SYNC, The CSI2 hardware interrupt has processing for FRAME_SYNC, we cannot pass it to the video device. > > -- > Kind regards, > > Sakari Ailus