Freitag, Februar 4. 2011, 11:10
I've just posted a
call-for-testing / reviewing to the linux-media mailing list. Apart from mentioning the videobuf2 support for soc_camera, which I described in an earlier
post here, I also announce a
git-branch, in which I collect patches for the next merge window.
One of those patches seems pretty intrusive to me, so, I asked everyone to give it a spin.
Sonntag, Januar 30. 2011, 01:04
VideoBuf2 is a new implementation of the existing videobuffer API, promising lots of improvements, cleaner abstractions, resolved intrinsic deficiencies. It has been integrated into the 2.6.38 kernel, later several drivers have been converted to it. It has been suggested, that supporting it would also be beneficial for soc-camera. And indeed, extending the soc-camera core to support both videobuffer API versions turned out to be a reasonably simple task, but converting individual camera host drivers will require more work, which is also the reason, why supporting both versions simultaneously is important.
Patches, implementing videobuf2 core support and porting sh_mobile_ceu to it, have been posted for review. Patch 2/3 should be pretty close to its final version, patch 3/3 might require further work, possibly, specific support for multiplane formats will have to be added.
Samstag, Januar 29. 2011, 10:52
A pretty quiet new (2.6.38) development cycle: just one new sensor driver for ov2640 and a couple of new features, including voltage regulators. One pretty big change though - switch to .unclocked_iostl in the common effort to get rid of the BKL!
Alberto Panizzo (2):
V4L2: Add a v4l2-subdev (soc-camera) driver for OmniVision OV2640 sensor
soc_camera: Add the ability to bind regulators to soc_camedra devices
David Cohen (2):
ov9640: use macro to request OmniVision OV9640 sensor private data
ov9640: fix OmniVision OV9640 sensor driver's priv data retrieving
Guennadi Liakhovetski (3):
v4l: ov772x: simplify pointer dereference
v4l: soc-camera: fix multiple simultaneous user case
v4l: soc-camera: switch to .unlocked_ioctl
Donnerstag, Dezember 2. 2010, 05:34
Two months is a lot of time, I have been busy working with HDMI and SD host interfaces on sh-mobile SoCs. HDMI should be much more usable on sh-mobile SoCs like sh7372. Support for E-EDID (Enhanced EDID) has been added to the kernel framebuffer subsystem, including parsing of SVD entries. HDMI clock configuration on sh7372 has been improved, various other SH-specific improvements committed to the 2.6.37 kernel.
The MMCIF controller on sh-mobile SoCs now can also use DMA, the tmio_mmc has got a significant performance boost from a trivial patch, adding support for multiple scatter-gather elements in MMC requests. Adding DMA bounce buffers to the tmio_mmc driver also allowed it to use DMA with SDIO cards.
If you really would like to see my patch history, you can try visiting my ohloh.net
page even though this has become much more difficult after ohloh acquisition by Black Duck...
Donnerstag, Dezember 2. 2010, 05:31
One more fix for 2.6.37:
Baruch Siach (1):
mx2_camera: fix pixel clock polarity configuration
Added on 07.12.2010:
Guennadi Liakhovetski (1):
soc-camera: fix static build of the sh_mobile_csi2.c driver
Donnerstag, Dezember 2. 2010, 05:28
Several fixes for the 2.6.37 kernel has been pushed after 2.6.37-rc1 had been released:
Janusz Krzysztofik (4):
SoC Camera: OMAP1: update for recent framework changes
SoC Camera: OMAP1: update for recent videobuf changes
SOC Camera: OMAP1: typo fix
SoC Camera: ov6650: minor cleanups
Sascha Hauer (2):
ARM mx3_camera: check for DMA engine type
soc-camera: Compile fixes for mx2-camera
Samstag, Oktober 9. 2010, 01:07
The
LinuxCon-Japan 2010 conference took part from 27 to 29 of September in Tokyo, and I had pleasure in taking part in it. This has been my first visit to Tokyo and to Japan in general, and it proved to be an absolutely extraordinary experience to me, incomparable to anything I've seen before. As for the conference itself, it had a few prominent Linux and Linux kernel developers reporting, several talks on various aspects of MeeGo, a thread on PostgreSQL, a number of talks, dedicated to new developments in general, embedded Linux, and Linux kernel. Everyone, interested in Linux kernel development had a chance to ask their questions during one of the two (general and Japanese) kernel panels. Follow to the above link for a full list of talks with slides, and, maybe (later), videos.
Many thanks to my sponsors!
Samstag, Oktober 9. 2010, 01:05
Here comes part two of the 2.6.37 development, including the long-awaited OMAP1 camera driver, drivers for ov6650 and imx074 camera sensors:
Guennadi Liakhovetski (3):
V4L: add IMX074 sensor chip ID
V4L: add an IMX074 sensor soc-camera / v4l2-subdev driver
V4L: sh_mobile_ceu_camera: use default .get_parm() and .set_parm() operations
Janusz Krzysztofik (3):
SoC Camera: add driver for OMAP1 camera interface
SoC Camera: add driver for OV6650 sensor
SoC Camera: add support for g_parm / s_parm operations
Michael Grzeschik (1):
mt9m111: changed MIN_DARK_COLS to MT9M131 spec count
Sascha Hauer (1):
v4l2-mediabus: Add pixelcodes for BGR565 formats
Samstag, Oktober 9. 2010, 01:03
It was getting pretty late in the 2.6.37 development cycle, so, I decided to push the first part of 2.6.37 patches to V4L, without waiting for outstanding ones:
Baruch Siach (2):
mx2_camera: fix comment typo
mx2_camera: implement forced termination of active buffer for mx25
Guennadi Liakhovetski (2):
V4L2: add a generic function to find the nearest discrete format to the required one
soc-camera: allow only one video queue per device
Michael Grzeschik (3):
mt9m111: register cleanup hex to dec bitoffset
mx2_camera: remove emma limitation for RGB565
mx2_camera: add informative camera clock frequency printout
Samstag, Oktober 9. 2010, 12:59
This pull request contained mx2 camera, mt9v022, and mt9m111 / mt9m131 fixes for 2.6.36-rc3:
Baruch Siach (1):
mx2_camera: fix a race causing NULL dereference
Ionut Gabriel Popescu (1):
mt9v022.c: Fixed compilation warning
Michael Grzeschik (2):
mt9m111: cropcap and s_crop check if type is VIDEO_CAPTURE
mt9m111: added current colorspace at g_fmt
Samstag, Oktober 9. 2010, 12:53
Yes, a pull request from two months ago, apologies, have been quite busy. I'll also switch to git-style shortlogs to be able to use plain old copy-paste. This pull request has been submitted during the 2.6.36 merge window after the ARM tree has been merged, because some patches in this pull depended on ARM:
Guennadi Liakhovetski (2):
soc-camera: prohibit S_CROP, if internal G_CROP has failed
V4L: do not autoselect components on embedded systems
Michael Grzeschik (3):
mx2_camera: fix for list bufnum in frame_done_emma
mx2_camera: add rising edge for pixclock
mt9m111: init chip after read CHIP_VERSION
Philipp Wiesner (1):
mt9m111: Added indication that MT9M131 is supported by this driver
Patches include a couple of fixes and improvements for the mx2 camera driver, some of the mt9m111 / mt9m131 consolidation patches, and a couple of soc-camera and V4L core patches from myself.
Freitag, Juli 30. 2010, 11:39
This is the bulk of the 2.6.36 soc-camera development:
01/08: mediabus: fix ambiguous pixel code names
02/08: V4L2: avoid name conflicts in macros
03/08: V4L2: mediabus: add 12-bit Bayer and YUV420 pixel formats
04/08: V4L2: soc-camera: export soc-camera bus type for notifications
05/08: V4L2: soc-camera: add a MIPI CSI-2 driver for SH-Mobile platforms
06/08: V4L2: sh_mobile_camera_ceu: add support for CSI2
07/08: V4L2: sh_vou: VOU does support the full PAL resolution too
08/08: V4L: fix a comment in a driver
Of these patches most are related to the SH-Mobile MIPI CSI-2 development, announced in this earlier, the first patch improves naming of some of mediabus video data format codes. One more notable addition to soc-camera in 2.6.36 will be the addition of a host driver for i.MX2x SoCs from Freescale. This driver is not in the above list, because it is going to be pushed via the ARM tree. Recently submitted OMAP1 patches are still under review and will, most likely, have to wait until 2.6.37.
Freitag, Juli 30. 2010, 11:36
Three fixes for 2.6.35:
01/03: sh_mobile_ceu_camera: fix debugging message
02/03: V4L2: fix sh_vou.c compile breakage: #include
03/03: soc_camera_platform: Add necessary v4l2_subdev_video_ops method
Freitag, Juli 30. 2010, 10:56
A driver for the MIPI CSI-2 controller on SH-Mobile SoCs, including sh7372, has been developed and
submitted. Out of two CSI2 controllers on sh7372 only one - CSI2C - is supported by this version of the driver. This makes it possible to connect CSI-2 compatible cameras to two CSI-2 PHYs over up to two lanes each, and stream video data to the CEU controller for further processing.
Freitag, Juli 30. 2010, 10:11
Some SH-Mobile SoCs, including sh7372, have an integrated HDMI controller, that can be fed with video data from the LCDC and audio data from the FSI2. A set of
patches has been developed and submitted to the mailing lists to implement initial support for the video function. At the moment the functionality is limited to a fixed 720p format. Monitor hotplug is supported to the extent, that the interface gets suspended without a monitor and woken up with one attached and turned on. The driver reads out the EDID information from the monitor, but so far it is unused. Working with HDMI proved to be difficult due to a number of reasons:
- Different monitors produce different results with equal interface settings.
- There are a lot of timing and electrical parameters to be configured on the interface, which all affect the image quality, and, unfortunately, are not all equally well documented. A slightest change in one of parameters can disturb the image quality or draw the monitor completely out of sync.
- currently there is practically no support for HDMI in the kernel framebuffer subsystem and also no proper support for dynamic geometry reconfiguration, which is, of course, desirable for HDMI monitor hotplug. Specifically, there is no way to inform user-space applications about the geometry change and, respectively, applications are not prepared to handle such changes.
There is, of course, still a lot to be done:
- Add sound support.
- Use monitor EDID information to reconfigure the framebuffer.
- Consider notifying user-space applications about the geometry change