Re: [RFC/PATCH v2 0/6] OMAP3 ISP driver
Hi Vaibhav, On Wednesday 06 October 2010 11:56:23 Hiremath, Vaibhav wrote: On Tuesday, October 05, 2010 6:49 PM Laurent Pinchart wrote: Hi everybody, Here's the second version of the OMAP3 ISP driver, rebased on top of the latest media controller and sub-device API patches. As with the previous version, the V4L/DVB patches come from the upstream staging/v2.6.37 branch and won't be needed anymore when the driver will be rebased on top of 2.6.36. Patch 6/6 (the driver itself) is too big for vger, even in compressed form. You can find it at http://git.linuxtv.org/pinchartl/media.git?h=refs/heads/media-0004- omap3isp (sorry for the inconvenience). I'll try splitting up the patch in the next version for easier review. [snip] Hi Laurent, I have some specific comment on this patch series, especially from re-usability point of view. I have made this comment earlier as well during Helsinki conference, I am not quite sure whether you remember this or not. Yes I do. I haven't had time to take that into account yet to, as most of my time was spent consolidating this patch series to get the driver ready for submission. Let me introduce some SoC's here, OMAP3530/OMAP3730/OMAP3430/OMAP3630 - I am pretty sure that your patch addresses all the requirement and is being tested for this SoC family. Infact I am also working on this along side to validate it and add some feature support on top of other platforms, like OMAP3EVM, Beagle, BeagleXM, etc.. That's right, that's the chip family I'm working with. The driver has been tested (to various degrees) on the 3430, 3530 and 3630. I'm not aware of anyone using it on the 3730 (but there could be silent users). So I do not have any specific comments here, AM3517 - AM3517 is another SoC, inheriting most of the IP's/modules from OMAP3, but in case of Capture module it only uses CCDC front end module of the ISP. Another difference is the output data pins become 16-bit in this case, since it doesn't have any support for bridge/lane-shifter. I would want to re-use CCDC sub-device driver here, have you thought of this? I've had a look at the AM3517 datasheet. The CCDC looks similar indeed (registers have identical addresses, that's a good start), but there's a major difference regarding memory management, as the AM3517 has no IOMMU. An alternative isp_video implementation would be needed. This isn't an easy task, but it's worth looking at how code could be reused. DM6446 (Davinci Family) - Specifically I am will take DM6446 SoC here (which is near to OMAP), since it has almost same building blocks inside ISP, except all serial (MIPI CSI) interfaces. Also here I would want to re-use almost all the components like, CCDC, Resizer, Previewer, etc... Also DM355 (OR 365 I don't remember correctly) but one of them support 2 instance of resizer module. Once again a bit difference is the lack of IOMMU. The rest looks pretty similar indeed. Here it might be easy to tweak the code in order to re-use but in case of AM3517 I am not sure how do we want to handle this. Do you think we should start with the AM3517 or the DM6446 ? While the DM6446 ISP is closer to the OMAP3 ISP, it's also more complex, so more code will need to be verified and modified. The intent is not to block this patch series, but to give some food to our brains and have healthy discussion here. We could add all this support on top of it, I am ok with this. That's good, because I wasn't going to hold the OMAP3 ISP driver until it can support all other TI chips :-) I am also reviewing the patch series and comments are following this post... Thanks. -- Regards, Laurent Pinchart -- 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: [RFC/PATCH v2 0/6] OMAP3 ISP driver
-Original Message- From: Laurent Pinchart [mailto:laurent.pinch...@ideasonboard.com] Sent: Wednesday, October 06, 2010 7:47 PM To: Hiremath, Vaibhav Cc: linux-media@vger.kernel.org; sakari.ai...@maxwell.research.nokia.com Subject: Re: [RFC/PATCH v2 0/6] OMAP3 ISP driver Hi Vaibhav, On Wednesday 06 October 2010 11:56:23 Hiremath, Vaibhav wrote: On Tuesday, October 05, 2010 6:49 PM Laurent Pinchart wrote: Hi everybody, Here's the second version of the OMAP3 ISP driver, rebased on top of the latest media controller and sub-device API patches. As with the previous version, the V4L/DVB patches come from the upstream staging/v2.6.37 branch and won't be needed anymore when the driver will be rebased on top of 2.6.36. Patch 6/6 (the driver itself) is too big for vger, even in compressed form. You can find it at http://git.linuxtv.org/pinchartl/media.git?h=refs/heads/media-0004- omap3isp (sorry for the inconvenience). I'll try splitting up the patch in the next version for easier review. [snip] Hi Laurent, I have some specific comment on this patch series, especially from re-usability point of view. I have made this comment earlier as well during Helsinki conference, I am not quite sure whether you remember this or not. Yes I do. I haven't had time to take that into account yet to, as most of my time was spent consolidating this patch series to get the driver ready for submission. Let me introduce some SoC's here, OMAP3530/OMAP3730/OMAP3430/OMAP3630 - I am pretty sure that your patch addresses all the requirement and is being tested for this SoC family. Infact I am also working on this along side to validate it and add some feature support on top of other platforms, like OMAP3EVM, Beagle, BeagleXM, etc.. That's right, that's the chip family I'm working with. The driver has been tested (to various degrees) on the 3430, 3530 and 3630. I'm not aware of anyone using it on the 3730 (but there could be silent users). So I do not have any specific comments here, [Hiremath, Vaibhav] You can consider me into this. We are using AM/DM3730 which is exactly same as OMAP3630. Thanks, Vaibhav AM3517 - AM3517 is another SoC, inheriting most of the IP's/modules from OMAP3, but in case of Capture module it only uses CCDC front end module of the ISP. Another difference is the output data pins become 16-bit in this case, since it doesn't have any support for bridge/lane-shifter. I would want to re-use CCDC sub-device driver here, have you thought of this? I've had a look at the AM3517 datasheet. The CCDC looks similar indeed (registers have identical addresses, that's a good start), but there's a major difference regarding memory management, as the AM3517 has no IOMMU. An alternative isp_video implementation would be needed. This isn't an easy task, but it's worth looking at how code could be reused. DM6446 (Davinci Family) - Specifically I am will take DM6446 SoC here (which is near to OMAP), since it has almost same building blocks inside ISP, except all serial (MIPI CSI) interfaces. Also here I would want to re-use almost all the components like, CCDC, Resizer, Previewer, etc... Also DM355 (OR 365 I don't remember correctly) but one of them support 2 instance of resizer module. Once again a bit difference is the lack of IOMMU. The rest looks pretty similar indeed. Here it might be easy to tweak the code in order to re-use but in case of AM3517 I am not sure how do we want to handle this. Do you think we should start with the AM3517 or the DM6446 ? While the DM6446 ISP is closer to the OMAP3 ISP, it's also more complex, so more code will need to be verified and modified. The intent is not to block this patch series, but to give some food to our brains and have healthy discussion here. We could add all this support on top of it, I am ok with this. That's good, because I wasn't going to hold the OMAP3 ISP driver until it can support all other TI chips :-) I am also reviewing the patch series and comments are following this post... Thanks. -- Regards, Laurent Pinchart -- 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
[RFC/PATCH v2 0/6] OMAP3 ISP driver
Hi everybody, Here's the second version of the OMAP3 ISP driver, rebased on top of the latest media controller and sub-device API patches. As with the previous version, the V4L/DVB patches come from the upstream staging/v2.6.37 branch and won't be needed anymore when the driver will be rebased on top of 2.6.36. Patch 6/6 (the driver itself) is too big for vger, even in compressed form. You can find it at http://git.linuxtv.org/pinchartl/media.git?h=refs/heads/media-0004-omap3isp (sorry for the inconvenience). I'll try splitting up the patch in the next version for easier review. Laurent Pinchart (4): v4l: subdev: Generic ioctl support V4L/DVB: v4l: Use v4l2_get_subdevdata instead of accessing v4l2_subdev::priv V4L/DVB: v4l: Add a v4l2_subdev host private data field OMAP3 ISP driver Stanimir Varbanov (1): omap3: Export omap3isp platform device structure Tuukka Toivonen (1): ARM: OMAP3: Update Camera ISP definitions for OMAP3630 Documentation/video4linux/v4l2-framework.txt | 10 + arch/arm/mach-omap2/devices.c| 46 +- arch/arm/mach-omap2/devices.h| 17 + arch/arm/plat-omap/include/mach/isp_user.h | 644 arch/arm/plat-omap/include/plat/omap34xx.h | 16 +- drivers/media/video/Kconfig | 15 + drivers/media/video/Makefile |2 + drivers/media/video/isp/Makefile | 13 + drivers/media/video/isp/bluegamma_table.h| 1050 drivers/media/video/isp/cfa_coef_table.h | 601 +++ drivers/media/video/isp/greengamma_table.h | 1050 drivers/media/video/isp/isp.c| 1867 + drivers/media/video/isp/isp.h| 399 + drivers/media/video/isp/ispccdc.c| 2295 ++ drivers/media/video/isp/ispccdc.h| 194 +++ drivers/media/video/isp/ispccp2.c| 1115 + drivers/media/video/isp/ispccp2.h| 97 ++ drivers/media/video/isp/ispcsi2.c| 1217 ++ drivers/media/video/isp/ispcsi2.h| 162 ++ drivers/media/video/isp/ispcsiphy.c | 246 +++ drivers/media/video/isp/ispcsiphy.h | 77 + drivers/media/video/isp/isph3a.h | 116 ++ drivers/media/video/isp/isph3a_aewb.c| 354 drivers/media/video/isp/isph3a_af.c | 401 + drivers/media/video/isp/isphist.c| 509 ++ drivers/media/video/isp/isphist.h| 39 + drivers/media/video/isp/isppreview.c | 2293 + drivers/media/video/isp/isppreview.h | 262 +++ drivers/media/video/isp/ispqueue.c | 1103 + drivers/media/video/isp/ispqueue.h | 183 ++ drivers/media/video/isp/ispreg.h | 1652 ++ drivers/media/video/isp/ispresizer.c | 1729 +++ drivers/media/video/isp/ispresizer.h | 142 ++ drivers/media/video/isp/ispstat.c| 1039 drivers/media/video/isp/ispstat.h| 165 ++ drivers/media/video/isp/ispvideo.c | 1164 + drivers/media/video/isp/ispvideo.h | 168 ++ drivers/media/video/isp/luma_enhance_table.h | 154 ++ drivers/media/video/isp/noise_filter_table.h | 90 + drivers/media/video/isp/redgamma_table.h | 1050 drivers/media/video/mt9m001.c| 26 +- drivers/media/video/mt9m111.c| 20 +- drivers/media/video/mt9t031.c| 24 +- drivers/media/video/mt9t112.c| 14 +- drivers/media/video/mt9v022.c| 26 +- drivers/media/video/ov772x.c | 18 +- drivers/media/video/ov9640.c | 12 +- drivers/media/video/rj54n1cb0c.c | 26 +- drivers/media/video/soc_camera.c |2 +- drivers/media/video/tw9910.c | 20 +- drivers/media/video/v4l2-subdev.c|5 +- include/media/v4l2-subdev.h | 17 +- 52 files changed, 23847 insertions(+), 109 deletions(-) create mode 100644 arch/arm/mach-omap2/devices.h create mode 100644 arch/arm/plat-omap/include/mach/isp_user.h create mode 100644 drivers/media/video/isp/Makefile create mode 100644 drivers/media/video/isp/bluegamma_table.h create mode 100644 drivers/media/video/isp/cfa_coef_table.h create mode 100644 drivers/media/video/isp/greengamma_table.h create mode 100644 drivers/media/video/isp/isp.c create mode 100644 drivers/media/video/isp/isp.h create mode 100644 drivers/media/video/isp/ispccdc.c create mode 100644 drivers/media/video/isp/ispccdc.h create mode 100644 drivers/media/video/isp/ispccp2.c create mode 100644 drivers/media/video/isp/ispccp2.h create mode 100644 drivers/media/video/isp/ispcsi2.c create mode 100644 drivers/media/video/isp/ispcsi2.h create mode 100644 drivers/media/video/isp/ispcsiphy.c create mode 100644