Home | History | Annotate | Download | only in media
      1 #ifndef __UAPI_MEDIA_MSMB_BUF_MNGR_H__
      2 #define __UAPI_MEDIA_MSMB_BUF_MNGR_H__
      3 
      4 #include <media/msmb_camera.h>
      5 
      6 enum 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 
     12 enum 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 
     18 struct msm_buf_mngr_info {
     19 	uint32_t session_id;
     20 	uint32_t stream_id;
     21 	uint32_t frame_id;
     22 	struct timeval timestamp;
     23 	uint32_t index;
     24 	uint32_t reserved;
     25 	enum msm_camera_buf_mngr_buf_type type;
     26 	struct msm_camera_user_buf_cont_t user_buf;
     27 };
     28 
     29 struct msm_buf_mngr_main_cont_info {
     30 	uint32_t session_id;
     31 	uint32_t stream_id;
     32 	enum msm_camera_buf_mngr_cmd cmd;
     33 	uint32_t cnt;
     34 	int32_t cont_fd;
     35 };
     36 
     37 struct v4l2_subdev *msm_buf_mngr_get_subdev(void);
     38 
     39 #define VIDIOC_MSM_BUF_MNGR_GET_BUF \
     40 	_IOWR('V', BASE_VIDIOC_PRIVATE + 33, struct msm_buf_mngr_info)
     41 
     42 #define VIDIOC_MSM_BUF_MNGR_PUT_BUF \
     43 	_IOWR('V', BASE_VIDIOC_PRIVATE + 34, struct msm_buf_mngr_info)
     44 
     45 #define VIDIOC_MSM_BUF_MNGR_BUF_DONE \
     46 	_IOWR('V', BASE_VIDIOC_PRIVATE + 35, struct msm_buf_mngr_info)
     47 
     48 #define VIDIOC_MSM_BUF_MNGR_CONT_CMD \
     49 	_IOWR('V', BASE_VIDIOC_PRIVATE + 36, struct msm_buf_mngr_main_cont_info)
     50 
     51 #define VIDIOC_MSM_BUF_MNGR_INIT \
     52 	_IOWR('V', BASE_VIDIOC_PRIVATE + 37, struct msm_buf_mngr_info)
     53 
     54 #define VIDIOC_MSM_BUF_MNGR_DEINIT \
     55 	_IOWR('V', BASE_VIDIOC_PRIVATE + 38, struct msm_buf_mngr_info)
     56 
     57 #define VIDIOC_MSM_BUF_MNGR_FLUSH \
     58 	_IOWR('V', BASE_VIDIOC_PRIVATE + 39, struct msm_buf_mngr_info)
     59 
     60 #ifdef CONFIG_COMPAT
     61 struct msm_buf_mngr_info32_t {
     62 	uint32_t session_id;
     63 	uint32_t stream_id;
     64 	uint32_t frame_id;
     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 #define VIDIOC_MSM_BUF_MNGR_FLUSH32 \
     82 	_IOWR('V', BASE_VIDIOC_PRIVATE + 39, struct msm_buf_mngr_info32_t)
     83 #endif
     84 
     85 #endif
     86