diff mbox series

media: intel/ipu6: Set the VC of the stream as the SOF event id

Message ID 20241024032201.3867638-1-hongju.wang@intel.com (mailing list archive)
State New
Headers show
Series media: intel/ipu6: Set the VC of the stream as the SOF event id | expand

Commit Message

Hongju Wang Oct. 24, 2024, 3:22 a.m. UTC
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@intel.com>
---
 drivers/media/pci/intel/ipu6/ipu6-isys-csi2.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Sakari Ailus Oct. 24, 2024, 10:30 a.m. UTC | #1
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@intel.com>
> ---
>  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.

Doesn't the video device itself (and the routing configuration) associate
this to a given sensor already?
diff mbox series

Patch

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);