On 06/16/2016 02:49 AM, Jack Mitchell wrote: > > On 16/06/16 02:37, Steve Longerbeam wrote: >> Hi Jack, >> >> On 06/15/2016 03:43 AM, Jack Mitchell wrote: >>> <snip> >>> Trying to use a user pointer rather than mmap also fails and causes a kernel splat. >>> >> >> Hmm, I've tested userptr with the mem2mem driver, but maybe never >> with video capture. I tried "v4l2-ctl -d/dev/video0 --stream-user=8" but >> that returns "VIDIOC_QBUF: failed: Invalid argument", haven't tracked >> down why (could be a bug in v4l2-ctl). Can you share the splat? >> > > On re-checking the splat was the same v4l_cropcap that was mentioned before so I don't think it's related. The error I get back is: > > VIDIOC_QBUF error 22, Invalid argument > > I'm using the example program the the v4l2 docs [1]. I found the cause at least in my case. After enabling dynamic debug in videobuf2-dma-contig.c, "v4l2-ctl -d/dev/video0 --stream-user=8" gives me [ 468.826046] user data must be aligned to 64 bytes But even getting past that alignment issue, I've only tested userptr (in mem2mem driver) by giving the driver a user address of a mmap'ed kernel contiguous buffer. A true discontiguous user buffer may not work, the IPU DMA does not support scatter-gather. Steve -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html