summaryrefslogtreecommitdiff
path: root/include/uapi/media
diff options
context:
space:
mode:
authorHariram Purushothaman <hariramp@codeaurora.org>2016-03-29 14:05:56 -0700
committerKyle Yan <kyan@codeaurora.org>2016-07-06 15:43:27 -0700
commitbb4f495a72058a6cb63b754530a2927c4928c6ad (patch)
tree0a4f9d51550ef5f35ff11575aa0809ab01b86fa5 /include/uapi/media
parentd6c6b61a880dbdf860f24c09d058846c125a25c5 (diff)
msm: camera: Return HAL buffer to fix drain issues
Return the HAL buffer to avoid drain issue and provide the get buf by index interface so clients can get buffer based on index. CRs-Fixed: 1018651 Change-Id: I20329a6834f5f1498388c39b1dd95db2896b3239 Signed-off-by: Hariram Purushothaman <hariramp@codeaurora.org>
Diffstat (limited to 'include/uapi/media')
-rw-r--r--include/uapi/media/msmb_camera.h19
-rw-r--r--include/uapi/media/msmb_generic_buf_mgr.h7
2 files changed, 26 insertions, 0 deletions
diff --git a/include/uapi/media/msmb_camera.h b/include/uapi/media/msmb_camera.h
index 092551d0cc16..fe70daa772df 100644
--- a/include/uapi/media/msmb_camera.h
+++ b/include/uapi/media/msmb_camera.h
@@ -202,5 +202,24 @@ struct msm_camera_user_buf_cont_t {
unsigned int buf_idx[MSM_CAMERA_MAX_USER_BUFF_CNT];
};
+struct msm_camera_return_buf {
+ __u32 index;
+ __u32 reserved;
+};
+
+#define MSM_CAMERA_PRIV_IOCTL_ID_BASE 0
+#define MSM_CAMERA_PRIV_IOCTL_ID_RETURN_BUF 1
+
+struct msm_camera_private_ioctl_arg {
+ __u32 id;
+ __u32 size;
+ __u32 result;
+ __u32 reserved;
+ __user __u64 ioctl_ptr;
+};
+
+#define VIDIOC_MSM_CAMERA_PRIVATE_IOCTL_CMD \
+ _IOWR('V', BASE_VIDIOC_PRIVATE, struct msm_camera_private_ioctl_arg)
+
#endif
diff --git a/include/uapi/media/msmb_generic_buf_mgr.h b/include/uapi/media/msmb_generic_buf_mgr.h
index a68b174b97bb..2961cae1e7c1 100644
--- a/include/uapi/media/msmb_generic_buf_mgr.h
+++ b/include/uapi/media/msmb_generic_buf_mgr.h
@@ -34,6 +34,9 @@ struct msm_buf_mngr_main_cont_info {
int32_t cont_fd;
};
+#define MSM_CAMERA_BUF_MNGR_IOCTL_ID_BASE 0
+#define MSM_CAMERA_BUF_MNGR_IOCTL_ID_GET_BUF_BY_IDX 1
+
#define VIDIOC_MSM_BUF_MNGR_GET_BUF \
_IOWR('V', BASE_VIDIOC_PRIVATE + 33, struct msm_buf_mngr_info)
@@ -55,5 +58,9 @@ struct msm_buf_mngr_main_cont_info {
#define VIDIOC_MSM_BUF_MNGR_FLUSH \
_IOWR('V', BASE_VIDIOC_PRIVATE + 39, struct msm_buf_mngr_info)
+#define VIDIOC_MSM_BUF_MNGR_IOCTL_CMD \
+ _IOWR('V', BASE_VIDIOC_PRIVATE + 40, \
+ struct msm_camera_private_ioctl_arg)
+
#endif