On Mon, Feb 1, 2016 at 10:14 AM, Hans Verkuil <hverkuil@xxxxxxxxx> wrote: > > > On 02/01/2016 09:00 AM, Ran Shalit wrote: >> On Sun, Jan 31, 2016 at 10:35 PM, Ran Shalit <ranshalit@xxxxxxxxx> wrote: >>> Hello, >>> >>> Maybe someone will have some idea about the following: >>> I am using a pci card (not video card, just some dummy pci card), to >>> check v4l2 template for PCIe card (I used solo6x10 as template for the >>> driver and moved all hardware related to video into remarks). >>> I don't use any register read/write to hardware (just dummy functions). >>> >>> I get that load/unload of module is successful. >>> But on trying to start reading video frames (using read method with >>> v4l API userspace example), I get that the whole operating system is >>> freezed, and I must reboot the machine. >>> This is the queue_setup callback: >>> >>> static int test_queue_setup(struct vb2_queue *q, const struct v4l2_format *fmt, >>> unsigned int *num_buffers, unsigned int *num_planes, >>> unsigned int sizes[], void *alloc_ctxs[]) >>> { >>> struct test_dev *solo_dev = vb2_get_drv_priv(q); >>> dev_info(&test_dev->pdev->dev,"test_queue_setup\n"); >>> sizes[0] = test_image_size(test_dev); >>> alloc_ctxs[0] = solo_dev->alloc_ctx; >>> *num_planes = 1; >>> >>> if (*num_buffers < MIN_VID_BUFFERS) >>> *num_buffers = MIN_VID_BUFFERS; >>> >>> return 0; >>> } >>> >>> static const struct vb2_ops test_video_qops = { >>> .queue_setup = test_queue_setup, >>> .buf_queue = test_buf_queue, >>> .start_streaming = test_start_streaming, <- does nothing >>> .stop_streaming = test_stop_streaming, <- does nothing >>> .wait_prepare = vb2_ops_wait_prepare, >>> .wait_finish = vb2_ops_wait_finish, >>> }; >>> >>> >>> I didn't find anything suspicious in the videobuf2 callback that can >>> explain these freeze.( start_streaming,stop_streaming contains just >>> printk with function name). >>> I also can't know where it got stuck (The system is freezed without >>> any logging on screen, all log is in dmesg). >>> >>> Thank for any idea, >>> Ran >> >> On start reading frames (using read or mmap method), it seems as if >> there is some collisions between the pci video card and another card >> (becuase the monitor is also printed with strange colors as the moment >> the OS freezes) . >> I validated again that the PCIe boards IDs in the table are correct >> (it matches only the dummy pcie card when it is connected ). >> I also tried to comment out the irq request, to be sure that there is >> no irq collision with another board, but it still get freezed anyway. > > I can't tell anything from this, I'd need to see the full source. > > Regards, > > Hans Thank you Hans, The source code base on solo6x10 as template , and kernel 3.10.0.229 (I needed to use this kernel version instead of latest as start point because of other pacakge , Intel's media sdk encoder ) : https://drive.google.com/file/d/0B22GsWueReZTSElIUEJJSHplUVU/view?usp=sharing - This package compiled with the makefile - relevant changes are in solo6x10-core.c & solo6x10-v4l2.c Best Regards, Ran -- 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