Re: [PATCH 3/4] media: pisp_be: add missing wait_prepare/finish ops

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

 



Hi Hans

On Mon, Sep 02, 2024 at 10:31:23AM GMT, Hans Verkuil wrote:
> Without these ops the v4l2-compliance blocking wait test will fail.
> These ops are required to ensure that when VIDIOC_DQBUF has to
> wait for buffers to arrive, the queue lock is correctly released
> and retaken. Otherwise the wait for a buffer would block all other
> queue ioctls.
>
> Signed-off-by: Hans Verkuil <hverkuil-cisco@xxxxxxxxx>
> Cc: Jacopo Mondi <jacopo.mondi@xxxxxxxxxxxxxxxx>
> Cc: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx>

I can confirm it fixes a previously failing test

was:

                fail: v4l2-test-buffers.cpp(3050): !thread_streamoff.done
                fail: v4l2-test-buffers.cpp(3078): testBlockingDQBuf(node, q)
	test blocking wait: FAIL

now:
	test blocking wait: OK

Acked-by: Jacopo Mondi <jacopo.mondi@xxxxxxxxxxxxxxxx>
Tested-by: Jacopo Mondi <jacopo.mondi@xxxxxxxxxxxxxxxx>

> ---
>  drivers/media/platform/raspberrypi/pisp_be/pisp_be.c | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/drivers/media/platform/raspberrypi/pisp_be/pisp_be.c b/drivers/media/platform/raspberrypi/pisp_be/pisp_be.c
> index 65ff2382cffe..7ce3be626c4a 100644
> --- a/drivers/media/platform/raspberrypi/pisp_be/pisp_be.c
> +++ b/drivers/media/platform/raspberrypi/pisp_be/pisp_be.c
> @@ -964,6 +964,8 @@ static const struct vb2_ops pispbe_node_queue_ops = {
>  	.buf_queue = pispbe_node_buffer_queue,
>  	.start_streaming = pispbe_node_start_streaming,
>  	.stop_streaming = pispbe_node_stop_streaming,
> +	.wait_prepare = vb2_ops_wait_prepare,
> +	.wait_finish = vb2_ops_wait_finish,
>  };
>
>  static const struct v4l2_file_operations pispbe_fops = {
> --
> 2.43.0
>
>




[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