V4L2 subdev and sensor control changes, SMIA++ driver and N9 camera board code
Get series with b4
b4 am [email protected]Versions newest first · linked by author and title
- v5 Latest35 patches 44 repliesIn review
- v434 patches 22 repliesSuperseded
- v333 patches 53 repliesSuperseded
Earlier versions · 2
| Version | Posted | Patches | Replies | Status |
|---|---|---|---|---|
| v2 | 31 patches | 14 replies | Superseded | |
| v1 | 23 patches | 26 replies | Superseded |
Patches in v5 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/35 | v4l: Introduce integer menu controlsdrivers/ include/ include/ | +67 | 0 replies | |
| 2/35 | v4l: Document integer menu controlsDocumentation/ Documentation/ Documentation/ | +53 | 0 replies | |
| 3/35 | vivi: Add an integer menu test controldrivers/ | +22 | 0 replies | |
| 4/35 | v4l: VIDIOC_SUBDEV_S_SELECTION and VIDIOC_SUBDEV_G_SELECTION IOCTLsdrivers/ include/ include/ | +90 | 0 replies | |
| 5/35 | v4l: vdev_to_v4l2_subdev() should have return type "struct v4l2_subdev *"include/ | +1 | 0 replies | |
| 6/35 | v4l: Check pad number in get try pointer functionsinclude/ | +13 | 0 replies | |
| 7/35 | v4l: Support s_crop and g_crop through s/g_selectiondrivers/ | +35 | 0 replies | |
| 8/35 | v4l: Add subdev selections documentation: svg and dia filesDocumentation/ Documentation/ Documentation/ +3 more | +3696 | 1 reply | |
| 9/35 | v4l: Add subdev selections documentationDocumentation/ Documentation/ Documentation/ +2 more | +433 | 5 replies | |
| 10/35 | v4l: Mark VIDIOC_SUBDEV_G_CROP and VIDIOC_SUBDEV_S_CROP obsoleteDocumentation/ Documentation/ | +13 | 0 replies | |
| 11/35 | v4l: Image source control classDocumentation/ Documentation/ drivers/ +1 more | +108 | 0 replies | |
| 12/35 | v4l: Image processing control classDocumentation/ Documentation/ drivers/ +1 more | +109 | 0 replies | |
| 13/35 | v4l: Document raw bayer 4CC codesDocumentation/ | +32 | 0 replies | |
| 14/35 | v4l: Add DPCM compressed raw bayer pixel formatsDocumentation/ Documentation/ Documentation/ +1 more | +34 | 4 replies | |
| 15/35 | media: Add link_validate() op to check links to the sink padDocumentation/ drivers/ include/ | +70 | 0 replies | |
| 16/35 | v4l: Improve sub-device documentation for pad opsDocumentation/ | +9 | 0 replies | |
| 17/35 | v4l: Implement v4l2_subdev_link_validate()Documentation/ drivers/ include/ | +88 | 0 replies | |
| 18/35 | v4l: Allow changing control handler lockdrivers/ drivers/ drivers/ +1 more | +32 | 4 replies | |
| 19/35 | omap3isp: Support additional in-memory compressed bayer formatsdrivers/ | +13 | 0 replies | |
| 20/35 | omap3isp: Move definitions required by board code under include/media.drivers/ include/ | +4 | 0 replies | |
| 21/35 | omap3: add definition for CONTROL_CAMERA_PHY_CTRLarch/ | +1 | 0 replies | |
| 22/35 | omap3isp: Move setting constaints above media_entity_pipeline_startdrivers/ | +7 | 0 replies | |
| 23/35 | omap3isp: Assume media_entity_pipeline_start may faildrivers/ | +28 | 1 reply | |
| 24/35 | omap3isp: Add lane configuration to platform datadrivers/ include/ | +27 | 0 replies | |
| 25/35 | omap3isp: Collect entities that are part of the pipelinedrivers/ drivers/ | +10 | 4 replies | |
| 25/35 | omap3isp: Collect entities that are part of the pipelinedrivers/ drivers/ | +27 | 1 reply | |
| 25/35 | omap3isp: Collect entities that are part of the pipelinedrivers/ drivers/ | +27 | 0 replies | |
| 25/35 | omap3isp: Collect entities that are part of the pipelinedrivers/ drivers/ | +35 | 0 replies | |
| 25/35 | omap3isp: Collect entities that are part of the pipelinedrivers/ drivers/ | +34 | 1 reply | |
| 26/35 | omap3isp: Add information on external subdev to struct isp_pipelinedrivers/ | +3 | 0 replies | |
| 27/35 | omap3isp: Introduce isp_video_check_external_subdevs()drivers/ | +75 | 4 replies | |
| 27/35 | omap3isp: Introduce isp_video_check_external_subdevs()drivers/ | +79 | 0 replies | |
| 27/35 | omap3isp: Introduce isp_video_check_external_subdevs()drivers/ | +79 | 1 reply | |
| 28/35 | omap3isp: Use external rate instead of vpcfgdrivers/ drivers/ drivers/ +2 more | +3 | 3 replies | |
| 29/35 | omap3isp: Default link validation for ccp2, csi2, preview and resizerdrivers/ drivers/ drivers/ +1 more | +4 | 0 replies | |
| 30/35 | omap3isp: Move CCDC link validation to ccdc_link_validate()drivers/ drivers/ | +76 | 2 replies | |
| 31/35 | omap3isp: Configure CSI-2 phy based on platform datadrivers/ drivers/ drivers/ | +97 | 0 replies | |
| 32/35 | omap3isp: Add resizer data rate configuration to resizer_link_validatedrivers/ drivers/ | +15 | 1 reply | |
| 33/35 | omap3isp: Find source pad from external entitydrivers/ | +12 | 2 replies | |
| 34/35 | smiapp: Generic SMIA++/SMIA PLL calculatordrivers/ drivers/ drivers/ +15 more | +5224 | 2 replies | |
| 34/35 | smiapp: Generic SMIA++/SMIA PLL calculatordrivers/ drivers/ drivers/ +1 more | +527 | 2 replies | |
| 34/35 | smiapp: Generic SMIA++/SMIA PLL calculatordrivers/ drivers/ drivers/ +1 more | +525 | 1 reply | |
| 35/35 | rm680: Add camera initarch/ arch/ arch/ | +415 | 0 replies | |
| 35/35 | smiapp: Add driverdrivers/ drivers/ drivers/ +14 more | +4693 | 4 replies | |
| 35/35 | smiapp: Add driverdrivers/ drivers/ drivers/ +14 more | +4698 | 2 replies | |
| 35/35 | smiapp: Add driverdrivers/ drivers/ drivers/ +14 more | +4699 | 1 reply |
Reviews trailers per patch
42 of 46 patches have a Reviewed-by or Acked-by.
| Patch | Laurent Pinchart | Sylwester Nawrocki | Prabhakar Lad |
|---|---|---|---|
| 1/35 | A-b | T-b | |
| 2/35 | A-b | ||
| 3/35 | A-b | ||
| 4/35 | A-b | ||
| 5/35 | A-b | ||
| 6/35 | A-b | ||
| 7/35 | A-b | ||
| 8/35 | A-b | ||
| 9/35 | A-b | ||
| 10/35 | A-b | ||
| 11/35 | |||
| 12/35 | |||
| 13/35 | |||
| 14/35 | A-b | ||
| 15/35 | A-b | ||
| 16/35 | A-b | ||
| 17/35 | A-b | ||
| 18/35 | |||
| 19/35 | A-b | ||
| 20/35 | A-b | ||
| 21/35 | A-b | ||
| 22/35 | A-b | ||
| 23/35 | A-b | ||
| 24/35 | A-b | ||
| 25/35 | A-b | ||
| 25/35 | A-b | ||
| 25/35 | A-b | ||
| 25/35 | A-b | ||
| 25/35 | A-b | ||
| 26/35 | A-b | ||
| 27/35 | A-b | ||
| 27/35 | A-b | ||
| 27/35 | A-b | ||
| 28/35 | A-b | ||
| 29/35 | A-b | ||
| 30/35 | A-b | ||
| 31/35 | A-b | ||
| 32/35 | A-b | ||
| 33/35 | A-b | ||
| 34/35 | A-b | ||
| 34/35 | A-b | ||
| 34/35 | A-b | ||
| 35/35 | A-b A-b | ||
| 35/35 | A-b A-b | ||
| 35/35 | A-b A-b | ||
| 35/35 | A-b A-b |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 3 reviewers.
Cover letter [PATCH v5 0/35] V4L2 subdev and sensor control changes, SMIA++ driver and N9 camera board code
Hi everyone,
This the fifth version of my patchset that contains:
- Integer menu controls [2],
- Selection IOCTL for subdevs [3],
- Sensor control changes [5,7],
- link_validate() media entity and V4L2 subdev pad ops,
- OMAP 3 ISP driver improvements [4],
- SMIA++ sensor driver,
- rm680/rm696 board code (a.k.a Nokia N9 and N950) and
- Other V4L2 and media improvements (see individual patches)
The Docbook documentation in HTML format can be found in [15] (v3 documentation available in [11] and v4 in [13]).
The issue with "ACTIVE" target names still needs to be addressed. The current proposal is "CURRENT". To be discussed on IRC.
Changes to version 4 [16]:
- V4L2 / V4L2 subdev
- Documentation
- Spelling fixes
- Red lines in diagrams dotted instead of solid
- Proper ordering of raw bayer formats
- SMIA++ driver
- PLL code separated from the actual driver
- Source pads are always zero now
- Error handling fixes in nvm reading
- Try format pixel code handling fixes
- Miscellaneous code cleanups
- Media controller
- Dropped the patch to find entities; moved to omap3isp driver instead
- OMAP 3 ISP
- Find out external entity's pad number, don't assume zero (new patch)
- Small cleanups
- Entities in pipeline stored in struct isp_pipeline
Changes to version 3 [12] include:
- OMAP 3 ISP
- Rework ISP driver patches
- Remove code from isp_video_pipeline_validate in same patch as the functionality is added elsewhere (old patch to remove leftovers dropped)
- isp_video_streamon() error handling cleanups
- All pipeline validation performed before any s_straem subdev ops
- Resizer data rate check moved to link validation
- CCDC rate checked in isp_video_check_external_subdeva()
- Formats checked during link validation
- Remove means to set pixel rate (new patch)
- Don't set link_validate pad ops where the default is sufficient
- Media controller
- media_entity_pipeline_start() collects information on entities in pipeline
- link validation error handling fix
- V4L2 / V4L2 subdev
- Less confusing selection example diagrams
- Selection documentation improvements (as also suggested by Laurent)
- SMIA++ driver
- Fixes according to Laurent's suggestions [14]
- Locking fixes and power handling cleanups
Changes to version 2 [10] include:
- V4L2
- Image source controls
- Documentation no longer refers to "pixel clock" in v4l2_mbus_framefmt (this should have been the last reference to those!!)
- Capitalise first letters in control names
- Selections
- Use hex numbers for targets
- Return NULL instead of invalid pointer when accessing non-existend pads in v4l2_subdev_get_try_{format,crop,compose} (new patch)
- Put link validation definitions in v4l2-subdev.h behind
#ifdef CONFIG_MEDIA_CONTROLLER ... #endif
- Spelling fixes (selections and 4cc guidelines)
- Change vdev_to_v4l2_subdev() return type to struct v4l2_subdev * (new patch)
- SMIA++ driver
- Clock tree calculation fixes
- Control handler setup usage fixes at smiapp_open()
- Don't access non-existent pads
Changes to version 1 [8] include:
- OMAP 3 ISP driver
- Swapped order of csi receiver's lane definitions
- Rewrote omap 3 isp link validation patches almost completely
- Information on connected external entity collected to isp_pipeline
- Information collected during link checking and used at streamon
- Media entity link validation
- Error handling fixes
- SMIA++ driver
- Selection API bugfixes
- Report correct pixel order right from boot
- Move link rate control to subdev connected to subdev external to the sensor (e.g. ISP's CSI-2 receiver)
- Introduce proper serialisation
- Deny changing some controls when streaming (flipping and link rate)
- Control handler setup moved from streamon time to first subdev open
- There is no source compose target
- Bugfixes
- Media bus pixel codes
- Documentation fix for dpcm compressed formats
- Added patch for 4CC guidelines (raw bayer only for now)
- Selections
- Improved selections documentation
- Added more selections examples
- Compose target is not available on source pads anymore [9]
- Dropped default targets
- V4L2
- Add documentation on link_validate()
- link_validate() and relater functions depends onCONFIG_MEDIA_CONTROLLER
- Skip link validation for links on which stream_count was non-zero
- Do not validate link if entity's stream count is non-zero
- Use v4l2_subdev_link_validate_default() if no link_validate pad op
is set
- Allow changing control handler mutex: this enables a driver to provide multiple subdevs but use only one mutex. Default mutex (part of struct v4l2_ctrl_handler) is set in v4l2_ctrl_handler_init().
- Split image source class into two: image source and image processing
Changes to the RFC v1 [6] include:
- Integer controls:
- Target Linux 3.4 instead of 3.3
- Proper control type check in querymenu
- vivi compile fixes
- Subdev selections
- Pad try fields combined to single struct
- Correctly set sel.which based on crop->which in crop fall-back
- Subdev selection documentation
- Better explanation on image processing in subdevs
- Added a diagram to visualise subdev configuration
- Fixed DocBook syntax issues
- Mark VIDIOC_SUBDEV_S_CROP and VIDIOC_SUBDEV_G_CROP obsolete
- Pixel rate
- Pixel rate is now a 64-bit control, not part of v4l2_mbus_framefmt
- Unit for pixel rate is pixels / second
- Pixel rate is read-only
- Link frequency is now in Hz --- documented as such also
- Link validation instead of pipeline validation
- Each link is validated by calling link_validate op
- Added link validation op to media_entity_ops
- Link validation op in pad ops makes this easy for subdev drivers
- media_entity_pipeline_start() may return an error code now
- This might affect other drivers, but will warn in compilation. No adverse effects are caused if the driver does not use link_validate().
- OMAP 3 ISP
- Make lanecfg as part of the platform data structure, not pointer
- Document lane configuration structures
- Link validation moved to respective subdev drivers from ispvideo.c
- isp_validate_pipeline() removed
- SMIA++ driver
- Update pixel order based on vflip and hflip
- Cleanups in the main driver, register definitions and PLL code
- Depend on V4L2_V4L2_SUBDEV_API and MEDIA_CONTROLLER
- Use pr_* macros instead of printk
- Improved error handling for i2c_transfer()
- Removed useless definitions
- Don't access try crop / compose directly but use helper functions
- Add xshutdown to platform data
- Move driver under smiapp directory
- rm680 board code
- Use REGULATOR_SUPPLY() where possible
- Removed printk()'s
- Don't include private smiapp headers
References:
[1] http://www.spinics.net/lists/linux-omap/msg61295.html
[2] http://www.spinics.net/lists/linux-media/msg40796.html
[3] http://www.spinics.net/lists/linux-media/msg41503.html
[4] http://www.spinics.net/lists/linux-media/msg41542.html
[5] http://www.spinics.net/lists/linux-media/msg40861.html
[6] http://www.spinics.net/lists/linux-media/msg41765.html
[7] http://www.spinics.net/lists/linux-media/msg42848.html
[8] http://www.spinics.net/lists/linux-media/msg42991.html
[9] http://www.spinics.net/lists/linux-media/msg43810.html
[10] http://www.spinics.net/lists/linux-media/msg43888.html
[11] http://www.retiisi.org.uk/v4l2/tmp/media_api/
[12] http://www.spinics.net/lists/linux-media/msg44405.html
[13] http://www.retiisi.org.uk/v4l2/tmp/media_api2/
[14] http://www.spinics.net/lists/linux-media/msg44704.html
[15] http://wwww.retiisi.org.uk/v4l2/tmp/media_api3/
[16] http://www.spinics.net/lists/linux-media/msg44843.html
Kind regards,
Signature · 2 lines
Sakari Ailus [email protected]