1#ifndef __UAPI_MEDIA_MSMB_BUF_MNGR_H__ 2#define __UAPI_MEDIA_MSMB_BUF_MNGR_H__ 3 4#include <media/msmb_camera.h> 5 6enum msm_camera_buf_mngr_cmd { 7 MSM_CAMERA_BUF_MNGR_CONT_MAP, 8 MSM_CAMERA_BUF_MNGR_CONT_UNMAP, 9 MSM_CAMERA_BUF_MNGR_CONT_MAX, 10}; 11 12enum msm_camera_buf_mngr_buf_type { 13 MSM_CAMERA_BUF_MNGR_BUF_PLANAR, 14 MSM_CAMERA_BUF_MNGR_BUF_USER, 15 MSM_CAMERA_BUF_MNGR_BUF_INVALID, 16}; 17 18struct msm_buf_mngr_info { 19 uint32_t session_id; 20 uint32_t stream_id; 21 uint32_t frame_id; 22 uint32_t flags; 23 struct timeval timestamp; 24 uint32_t index; 25 uint32_t reserved; 26 enum msm_camera_buf_mngr_buf_type type; 27 struct msm_camera_user_buf_cont_t user_buf; 28}; 29 30struct msm_buf_mngr_main_cont_info { 31 uint32_t session_id; 32 uint32_t stream_id; 33 enum msm_camera_buf_mngr_cmd cmd; 34 uint32_t cnt; 35 int32_t cont_fd; 36}; 37 38struct v4l2_subdev *msm_buf_mngr_get_subdev(void); 39 40#define VIDIOC_MSM_BUF_MNGR_GET_BUF \ 41 _IOWR('V', BASE_VIDIOC_PRIVATE + 33, struct msm_buf_mngr_info) 42 43#define VIDIOC_MSM_BUF_MNGR_PUT_BUF \ 44 _IOWR('V', BASE_VIDIOC_PRIVATE + 34, struct msm_buf_mngr_info) 45 46#define VIDIOC_MSM_BUF_MNGR_BUF_DONE \ 47 _IOWR('V', BASE_VIDIOC_PRIVATE + 35, struct msm_buf_mngr_info) 48 49#define VIDIOC_MSM_BUF_MNGR_CONT_CMD \ 50 _IOWR('V', BASE_VIDIOC_PRIVATE + 36, struct msm_buf_mngr_main_cont_info) 51 52#define VIDIOC_MSM_BUF_MNGR_INIT \ 53 _IOWR('V', BASE_VIDIOC_PRIVATE + 37, struct msm_buf_mngr_info) 54 55#define VIDIOC_MSM_BUF_MNGR_DEINIT \ 56 _IOWR('V', BASE_VIDIOC_PRIVATE + 38, struct msm_buf_mngr_info) 57 58 59#ifdef CONFIG_COMPAT 60struct msm_buf_mngr_info32_t { 61 uint32_t session_id; 62 uint32_t stream_id; 63 uint32_t frame_id; 64 uint32_t flags; 65 struct compat_timeval timestamp; 66 uint32_t index; 67 uint32_t reserved; 68 enum msm_camera_buf_mngr_buf_type type; 69 struct msm_camera_user_buf_cont_t user_buf; 70}; 71 72#define VIDIOC_MSM_BUF_MNGR_GET_BUF32 \ 73 _IOWR('V', BASE_VIDIOC_PRIVATE + 33, struct msm_buf_mngr_info32_t) 74 75#define VIDIOC_MSM_BUF_MNGR_PUT_BUF32 \ 76 _IOWR('V', BASE_VIDIOC_PRIVATE + 34, struct msm_buf_mngr_info32_t) 77 78#define VIDIOC_MSM_BUF_MNGR_BUF_DONE32 \ 79 _IOWR('V', BASE_VIDIOC_PRIVATE + 35, struct msm_buf_mngr_info32_t) 80 81#endif 82 83#endif 84