From: Sakari Ailus <sakari.ailus@iki.fi>
To: "linux-media@vger.kernel.org" <linux-media@vger.kernel.org>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
David Cohen <dacohen@gmail.com>,
Sylwester Nawrocki <snjw23@gmail.com>,
Hans Verkuil <hverkuil@xs4all.nl>,
Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
Tomasz Stanislawski <t.stanislaws@samsung.com>,
tuukkat76@gmail.com, Kamil Debski <k.debski@samsung.com>,
Kim HeungJun <riverful@gmail.com>,
teturtia@gmail.com, pradeep.sawlani@gmail.com
Subject: [PATCH v5 0/35] V4L2 subdev and sensor control changes, SMIA++ driver and N9 camera board code
Date: Tue, 6 Mar 2012 18:32:40 +0200 [thread overview]
Message-ID: <20120306163239.GN1075@valkosipuli.localdomain> (raw)
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 on
CONFIG_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,
--
Sakari Ailus
sakari.ailus@iki.fi
next reply other threads:[~2012-03-06 16:32 UTC|newest]
Thread overview: 93+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-06 16:32 Sakari Ailus [this message]
2012-03-06 16:32 ` [PATCH v5 01/35] v4l: Introduce integer menu controls Sakari Ailus
2012-03-06 16:32 ` [PATCH v5 02/35] v4l: Document " Sakari Ailus
2012-03-06 16:32 ` [PATCH v5 03/35] vivi: Add an integer menu test control Sakari Ailus
2012-03-06 16:32 ` [PATCH v5 04/35] v4l: VIDIOC_SUBDEV_S_SELECTION and VIDIOC_SUBDEV_G_SELECTION IOCTLs Sakari Ailus
2012-03-06 16:32 ` [PATCH v5 05/35] v4l: vdev_to_v4l2_subdev() should have return type "struct v4l2_subdev *" Sakari Ailus
2012-03-06 16:32 ` [PATCH v5 06/35] v4l: Check pad number in get try pointer functions Sakari Ailus
2012-03-06 16:32 ` [PATCH v5 07/35] v4l: Support s_crop and g_crop through s/g_selection Sakari Ailus
2012-03-06 16:32 ` [PATCH v5 08/35] v4l: Add subdev selections documentation: svg and dia files Sakari Ailus
2012-03-06 16:42 ` Laurent Pinchart
2012-03-06 16:32 ` [PATCH v5 09/35] v4l: Add subdev selections documentation Sakari Ailus
2012-03-06 16:44 ` Laurent Pinchart
2012-03-07 8:53 ` Michael Jones
2012-03-07 18:11 ` Sakari Ailus
2012-03-15 9:55 ` Sylwester Nawrocki
2012-03-15 13:00 ` Sakari Ailus
2012-03-06 16:32 ` [PATCH v5 10/35] v4l: Mark VIDIOC_SUBDEV_G_CROP and VIDIOC_SUBDEV_S_CROP obsolete Sakari Ailus
2012-03-06 16:32 ` [PATCH v5 11/35] v4l: Image source control class Sakari Ailus
2012-03-06 16:32 ` [PATCH v5 12/35] v4l: Image processing " Sakari Ailus
2012-03-06 16:32 ` [PATCH v5 13/35] v4l: Document raw bayer 4CC codes Sakari Ailus
2012-03-06 16:32 ` [PATCH v5 14/35] v4l: Add DPCM compressed raw bayer pixel formats Sakari Ailus
2012-03-21 9:37 ` Prabhakar Lad
2012-03-21 9:53 ` Sakari Ailus
2012-03-21 11:44 ` [PATCH v5.5 14/40] " Sakari Ailus
2012-03-21 12:08 ` Prabhakar Lad
2012-03-06 16:32 ` [PATCH v5 15/35] media: Add link_validate() op to check links to the sink pad Sakari Ailus
2012-03-06 16:32 ` [PATCH v5 16/35] v4l: Improve sub-device documentation for pad ops Sakari Ailus
2012-03-06 16:32 ` [PATCH v5 17/35] v4l: Implement v4l2_subdev_link_validate() Sakari Ailus
2012-03-06 16:32 ` [PATCH v5 18/35] v4l: Allow changing control handler lock Sakari Ailus
2012-05-14 15:27 ` Sylwester Nawrocki
2012-05-14 15:45 ` Sakari Ailus
2012-05-14 16:02 ` Sylwester Nawrocki
2012-05-14 15:48 ` Sylwester Nawrocki
2012-03-06 16:33 ` [PATCH v5 19/35] omap3isp: Support additional in-memory compressed bayer formats Sakari Ailus
2012-03-06 16:33 ` [PATCH v5 20/35] omap3isp: Move definitions required by board code under include/media Sakari Ailus
2012-03-06 16:33 ` [PATCH v5 21/35] omap3: add definition for CONTROL_CAMERA_PHY_CTRL Sakari Ailus
2012-03-06 16:33 ` [PATCH v5 22/35] omap3isp: Move setting constaints above media_entity_pipeline_start Sakari Ailus
2012-03-06 16:33 ` [PATCH v5 23/35] omap3isp: Assume media_entity_pipeline_start may fail Sakari Ailus
2012-03-06 16:45 ` Laurent Pinchart
2012-03-06 16:33 ` [PATCH v5 24/35] omap3isp: Add lane configuration to platform data Sakari Ailus
2012-03-06 16:33 ` [PATCH v5 25/35] omap3isp: Collect entities that are part of the pipeline Sakari Ailus
2012-03-07 10:35 ` Laurent Pinchart
2012-03-07 17:20 ` Sakari Ailus
2012-03-07 17:22 ` [PATCH v5.1 " Sakari Ailus
2012-03-07 23:50 ` Laurent Pinchart
2012-03-09 18:44 ` [PATCH " Sakari Ailus
2012-03-09 20:31 ` [PATCH v5.3 " Sakari Ailus
2012-03-09 20:34 ` Laurent Pinchart
2012-03-08 17:05 ` Sakari Ailus
2012-03-07 10:50 ` [PATCH v5 " Laurent Pinchart
2012-03-07 15:24 ` Sakari Ailus
2012-03-06 16:33 ` [PATCH v5 26/35] omap3isp: Add information on external subdev to struct isp_pipeline Sakari Ailus
2012-03-06 16:33 ` [PATCH v5 27/35] omap3isp: Introduce isp_video_check_external_subdevs() Sakari Ailus
2012-03-07 10:43 ` Laurent Pinchart
2012-03-07 17:49 ` Sakari Ailus
2012-03-07 18:52 ` Laurent Pinchart
2012-03-07 23:57 ` Sakari Ailus
2012-03-08 17:04 ` [PATCH v5.3 " Sakari Ailus
2012-03-08 18:05 ` Laurent Pinchart
2012-03-07 18:14 ` [PATCH v5.1 " Sakari Ailus
2012-03-06 16:33 ` [PATCH v5 28/35] omap3isp: Use external rate instead of vpcfg Sakari Ailus
2012-03-07 10:53 ` Laurent Pinchart
2012-03-07 17:54 ` Sakari Ailus
2012-03-07 18:34 ` Sakari Ailus
2012-03-06 16:33 ` [PATCH v5 29/35] omap3isp: Default link validation for ccp2, csi2, preview and resizer Sakari Ailus
2012-03-06 16:33 ` [PATCH v5 30/35] omap3isp: Move CCDC link validation to ccdc_link_validate() Sakari Ailus
2012-03-07 11:00 ` Laurent Pinchart
2012-03-07 18:02 ` Sakari Ailus
2012-03-06 16:33 ` [PATCH v5 31/35] omap3isp: Configure CSI-2 phy based on platform data Sakari Ailus
2012-03-06 16:33 ` [PATCH v5 32/35] omap3isp: Add resizer data rate configuration to resizer_link_validate Sakari Ailus
2012-03-07 11:01 ` Laurent Pinchart
2012-03-06 16:33 ` [PATCH v5 33/35] omap3isp: Find source pad from external entity Sakari Ailus
2012-03-07 11:04 ` Laurent Pinchart
2012-03-07 18:08 ` Sakari Ailus
2012-03-06 16:33 ` [PATCH v5 34/35] smiapp: Generic SMIA++/SMIA PLL calculator Sakari Ailus
2012-03-07 12:26 ` Laurent Pinchart
2012-03-08 13:29 ` Sakari Ailus
2012-03-08 13:57 ` [PATCH v5.1 " Sakari Ailus
2012-03-08 14:38 ` Laurent Pinchart
2012-03-08 14:48 ` Sakari Ailus
2012-03-08 14:49 ` [PATCH v5.2 " Sakari Ailus
2012-03-08 14:51 ` Laurent Pinchart
2012-03-08 13:57 ` [PATCH v5.1 35/35] smiapp: Add driver Sakari Ailus
2012-03-08 14:46 ` Laurent Pinchart
2012-03-08 16:49 ` [PATCH v5.3 " Sakari Ailus
2012-03-11 13:37 ` Laurent Pinchart
2012-03-11 14:03 ` Sakari Ailus
2012-03-11 14:45 ` [PATCH v5.4 " Sakari Ailus
2012-03-11 16:32 ` Laurent Pinchart
2012-03-08 15:06 ` [PATCH v5.1 " jean-philippe francois
2012-03-11 9:04 ` Sakari Ailus
2012-03-12 9:44 ` jean-philippe francois
2012-03-06 16:33 ` [PATCH v5 35/35] rm680: Add camera init Sakari Ailus
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20120306163239.GN1075@valkosipuli.localdomain \
--to=sakari.ailus@iki.fi \
--cc=andriy.shevchenko@linux.intel.com \
--cc=dacohen@gmail.com \
--cc=hverkuil@xs4all.nl \
--cc=k.debski@samsung.com \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-media@vger.kernel.org \
--cc=pradeep.sawlani@gmail.com \
--cc=riverful@gmail.com \
--cc=snjw23@gmail.com \
--cc=t.stanislaws@samsung.com \
--cc=teturtia@gmail.com \
--cc=tuukkat76@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox