diff options
author | Sylwester Nawrocki <s.nawrocki@samsung.com> | 2012-09-13 12:08:19 -0400 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2012-10-05 20:28:00 -0400 |
commit | a375e1dfefdb951e0591394ac1796d88a712877f (patch) | |
tree | 0bec854a41895ccdbd8835b863f7d9f8c06a9242 /include/media | |
parent | 24c54f7757659cdab9089dbd416c58f0da1557b0 (diff) |
[media] V4L: Add s_rx_buffer subdev video operation
The s_rx_buffer callback allows the host to set buffer for a data being
received by the subdev, e.g. non-image frame (meta) data. This callback
can be implemented by subdevice like a MIPI CSI2 receiver, allowing the
host driver to gather additional data into frame buffer passed to user
space.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'include/media')
-rw-r--r-- | include/media/v4l2-subdev.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/include/media/v4l2-subdev.h b/include/media/v4l2-subdev.h index 2ecd7377153b..abf1a0e50333 100644 --- a/include/media/v4l2-subdev.h +++ b/include/media/v4l2-subdev.h | |||
@@ -274,6 +274,10 @@ struct v4l2_subdev_audio_ops { | |||
274 | s_mbus_config: set a certain mediabus configuration. This operation is added | 274 | s_mbus_config: set a certain mediabus configuration. This operation is added |
275 | for compatibility with soc-camera drivers and should not be used by new | 275 | for compatibility with soc-camera drivers and should not be used by new |
276 | software. | 276 | software. |
277 | |||
278 | s_rx_buffer: set a host allocated memory buffer for the subdev. The subdev | ||
279 | can adjust @size to a lower value and must not write more data to the | ||
280 | buffer starting at @data than the original value of @size. | ||
277 | */ | 281 | */ |
278 | struct v4l2_subdev_video_ops { | 282 | struct v4l2_subdev_video_ops { |
279 | int (*s_routing)(struct v4l2_subdev *sd, u32 input, u32 output, u32 config); | 283 | int (*s_routing)(struct v4l2_subdev *sd, u32 input, u32 output, u32 config); |
@@ -327,6 +331,8 @@ struct v4l2_subdev_video_ops { | |||
327 | struct v4l2_mbus_config *cfg); | 331 | struct v4l2_mbus_config *cfg); |
328 | int (*s_mbus_config)(struct v4l2_subdev *sd, | 332 | int (*s_mbus_config)(struct v4l2_subdev *sd, |
329 | const struct v4l2_mbus_config *cfg); | 333 | const struct v4l2_mbus_config *cfg); |
334 | int (*s_rx_buffer)(struct v4l2_subdev *sd, void *buf, | ||
335 | unsigned int *size); | ||
330 | }; | 336 | }; |
331 | 337 | ||
332 | /* | 338 | /* |