Re: ATMEL camera interface
Hi, So I have decided to go with the v4l2-subdev API. I have taken the omapxxcam and vivi.c as exemple, but I have some questions... I still don't understand how to register a v4l2 device. I tried to copy the method from vivi.c using v4l2_device_register but it is not working? If I just use video_regiter_device, then it is trying to use the default ioctl and open/close functions from v4l2(v4l2_open) instead of the one I hae in my driver... What am I doing wrong? BR, Sedji Le 5/3/2010 6:40 PM, Guennadi Liakhovetski a écrit : On Mon, 3 May 2010, Sedji Gaouaou wrote: Well sorry to bother you again but I am looking at the mx1_camera.c file, and I wonder where are implemented the queue and dqueue functions? The atmel IP is using linked list for the buffers, and previously I was managing it in the queue and dqueue functions. I am not sure where I should take care of it now? qbuf and dqbuf are implemented by soc-camera in soc_camera_qbuf() and soc_camera_dqbuf() respectively, drivers only implement methods from struct videobuf_queue_ops, e.g., a .buf_queue method, which for mx1_camera is implemented by mx1_videobuf_queue(). Thanks Guennadi Regards, Sedji Le 5/3/2010 4:26 PM, Guennadi Liakhovetski a écrit : On Mon, 3 May 2010, Sedji Gaouaou wrote: Well I need contiguous memory, so I guess I will have a look at mx1_camera.c? Is there another example? What do you mean by videobuf implementation? As I said I just need a contiguous memory. I mean, whether you're gping to use videobuf-dma-contig.c or videobuf-dma-sg.c, respectively, whether you'll be calling videobuf_queue_dma_contig_init() or videobuf_queue_sg_init() in your driver. Regards Guennadi --- Guennadi Liakhovetski, Ph.D. Freelance Open-Source Software Developer http://www.open-technology.de/ --- Guennadi Liakhovetski, Ph.D. Freelance Open-Source Software Developer http://www.open-technology.de/ -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: ATMEL camera interface
On Mon, 3 May 2010, Sedji Gaouaou wrote: Hi, I will try to write a soc driver(it seems easier ;)). Are the mx?_camera.c a good starting point? In principle - yes. But think about one pretty important distinction - what videobuf implementation is your driver going to use? Are you going to support scatter-gather or only contiguous buffers? If SG - the only such example in the mainline is pxa_camera.c. If contiguous - feel free to use any one of the rest. Further, mx3_camera uses the dmaengine API, others don't. Hope, this will simplify your choice a bit;) Thanks Guennadi Regards, Sedji Le 4/29/2010 6:35 PM, Guennadi Liakhovetski a écrit : Hi Sedji On Thu, 29 Apr 2010, Sedji Gaouaou wrote: Hi, I need to re-work my driver so I could commit it to the community. Is there a git tree that I can use? Nice to hear that! As far as soc-camera is concerned, the present APIs are pretty stable. Just use the Linus' git tree, or, if you like, you can use the v4l-dvb git tree at git://linuxtv.org/v4l-dvb.git. In fact, you don't have to use the soc-camera API these days, you can just write a complete v4l2-device driver, using the v4l2-subdev API to interface to video clients (sensors, decoders, etc.) However, you can still write your driver as an soc-camera host driver, which would make your task a bit easier at the cost of some reduced flexibility, it's up to you to decide. Thanks Guennadi --- Guennadi Liakhovetski, Ph.D. Freelance Open-Source Software Developer http://www.open-technology.de/ --- Guennadi Liakhovetski, Ph.D. Freelance Open-Source Software Developer http://www.open-technology.de/ -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: ATMEL camera interface
Hi, I will try to write a soc driver(it seems easier ;)). Are the mx?_camera.c a good starting point? Regards, Sedji Le 4/29/2010 6:35 PM, Guennadi Liakhovetski a écrit : Hi Sedji On Thu, 29 Apr 2010, Sedji Gaouaou wrote: Hi, I need to re-work my driver so I could commit it to the community. Is there a git tree that I can use? Nice to hear that! As far as soc-camera is concerned, the present APIs are pretty stable. Just use the Linus' git tree, or, if you like, you can use the v4l-dvb git tree at git://linuxtv.org/v4l-dvb.git. In fact, you don't have to use the soc-camera API these days, you can just write a complete v4l2-device driver, using the v4l2-subdev API to interface to video clients (sensors, decoders, etc.) However, you can still write your driver as an soc-camera host driver, which would make your task a bit easier at the cost of some reduced flexibility, it's up to you to decide. Thanks Guennadi --- Guennadi Liakhovetski, Ph.D. Freelance Open-Source Software Developer http://www.open-technology.de/ -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: ATMEL camera interface
On Mon, 3 May 2010, Sedji Gaouaou wrote: Well I need contiguous memory, so I guess I will have a look at mx1_camera.c? Is there another example? What do you mean by videobuf implementation? As I said I just need a contiguous memory. I mean, whether you're gping to use videobuf-dma-contig.c or videobuf-dma-sg.c, respectively, whether you'll be calling videobuf_queue_dma_contig_init() or videobuf_queue_sg_init() in your driver. Regards Guennadi --- Guennadi Liakhovetski, Ph.D. Freelance Open-Source Software Developer http://www.open-technology.de/ -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: ATMEL camera interface
Well sorry to bother you again but I am looking at the mx1_camera.c file, and I wonder where are implemented the queue and dqueue functions? The atmel IP is using linked list for the buffers, and previously I was managing it in the queue and dqueue functions. I am not sure where I should take care of it now? Regards, Sedji Le 5/3/2010 4:26 PM, Guennadi Liakhovetski a écrit : On Mon, 3 May 2010, Sedji Gaouaou wrote: Well I need contiguous memory, so I guess I will have a look at mx1_camera.c? Is there another example? What do you mean by videobuf implementation? As I said I just need a contiguous memory. I mean, whether you're gping to use videobuf-dma-contig.c or videobuf-dma-sg.c, respectively, whether you'll be calling videobuf_queue_dma_contig_init() or videobuf_queue_sg_init() in your driver. Regards Guennadi --- Guennadi Liakhovetski, Ph.D. Freelance Open-Source Software Developer http://www.open-technology.de/ -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: ATMEL camera interface
On Mon, 3 May 2010, Sedji Gaouaou wrote: Well sorry to bother you again but I am looking at the mx1_camera.c file, and I wonder where are implemented the queue and dqueue functions? The atmel IP is using linked list for the buffers, and previously I was managing it in the queue and dqueue functions. I am not sure where I should take care of it now? qbuf and dqbuf are implemented by soc-camera in soc_camera_qbuf() and soc_camera_dqbuf() respectively, drivers only implement methods from struct videobuf_queue_ops, e.g., a .buf_queue method, which for mx1_camera is implemented by mx1_videobuf_queue(). Thanks Guennadi Regards, Sedji Le 5/3/2010 4:26 PM, Guennadi Liakhovetski a écrit : On Mon, 3 May 2010, Sedji Gaouaou wrote: Well I need contiguous memory, so I guess I will have a look at mx1_camera.c? Is there another example? What do you mean by videobuf implementation? As I said I just need a contiguous memory. I mean, whether you're gping to use videobuf-dma-contig.c or videobuf-dma-sg.c, respectively, whether you'll be calling videobuf_queue_dma_contig_init() or videobuf_queue_sg_init() in your driver. Regards Guennadi --- Guennadi Liakhovetski, Ph.D. Freelance Open-Source Software Developer http://www.open-technology.de/ --- Guennadi Liakhovetski, Ph.D. Freelance Open-Source Software Developer http://www.open-technology.de/ -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: ATMEL camera interface
Hi Sedji On Thu, 29 Apr 2010, Sedji Gaouaou wrote: Hi, I need to re-work my driver so I could commit it to the community. Is there a git tree that I can use? Nice to hear that! As far as soc-camera is concerned, the present APIs are pretty stable. Just use the Linus' git tree, or, if you like, you can use the v4l-dvb git tree at git://linuxtv.org/v4l-dvb.git. In fact, you don't have to use the soc-camera API these days, you can just write a complete v4l2-device driver, using the v4l2-subdev API to interface to video clients (sensors, decoders, etc.) However, you can still write your driver as an soc-camera host driver, which would make your task a bit easier at the cost of some reduced flexibility, it's up to you to decide. Thanks Guennadi --- Guennadi Liakhovetski, Ph.D. Freelance Open-Source Software Developer http://www.open-technology.de/ -- To unsubscribe from this list: send the line unsubscribe linux-media in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html