Re: [PATCH v3 05/14] media: platform: pxa_camera: convert to vb2

From: Hans Verkuil
Date: Sat Aug 13 2016 - 05:30:00 EST


On 08/13/2016 11:25 AM, Robert Jarzmik wrote:
> Hi Hans,
>
> Robert Jarzmik <robert.jarzmik@xxxxxxx> writes:
>> Convert pxa_camera from videobuf to videobuf2.
> ...zip...
>
>> +static int pxac_vb2_queue_setup(struct vb2_queue *vq,
>> + unsigned int *nbufs,
>> + unsigned int *num_planes, unsigned int sizes[],
>> + void *alloc_ctxs[])
>
> There is an API change here that happened since I wrote this code, ie. void
> *alloc_ctxs became struct device *alloc_devs.
>
> I made the incremental patch in [1] accrodingly to prepare the v4 iteration, but
> it triggers new errors in v4l2-compliance -s :
> Streaming ioctls:
> test read/write: OK (Not Supported)
> fail: v4l2-test-buffers.cpp(293): !(g_flags() & V4L2_BUF_FLAG_DONE)
> fail: v4l2-test-buffers.cpp(703): buf.check(q, last_seq)
> fail: v4l2-test-buffers.cpp(976): captureBufs(node, q, m2m_q, frame_count, false)
> test MMAP: FAIL
> fail: v4l2-test-buffers.cpp(1075): can_stream && ret != EINVAL
> test USERPTR: FAIL
> test DMABUF: Cannot test, specify --expbuf-device
> Total: 45, Succeeded: 43, Failed: 2, Warnings: 6
>
> I'm a bit puzzled how this change brought this in, so in case you've already
> encountered this, it could save me investigating more. If nothing obvious
> appears to you, I'll dig in.

Make sure you have the latest v4l2-compliance code as well. A fix went into vb2
that corrected a bug relating to the V4L2_BUF_FLAG_DONE, but that required a fix for
v4l2-compliance as well. I'd say that's what you are seeing here.

Regards,

Hans