blob: 95cfcad71554f77538e02c604ca5d927b9921047 [file] [log] [blame]
Pratap Nirujogi6e759912018-01-17 17:51:17 +05301/* Copyright (c) 2013-2016, 2018, The Linux Foundation. All rights reserved.
2 *
3 * This program is free software; you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License version 2 and
5 * only version 2 as published by the Free Software Foundation.
6 *
7 * This program is distributed in the hope that it will be useful,
8 * but WITHOUT ANY WARRANTY; without even the implied warranty of
9 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10 * GNU General Public License for more details.
11 */
12
13#ifndef __MEDIA_MSMB_GENERIC_BUF_MGR_H__
14#define __MEDIA_MSMB_GENERIC_BUF_MGR_H__
15
16#include <uapi/media/msmb_generic_buf_mgr.h>
17#include <linux/compat.h>
18
19struct v4l2_subdev *msm_buf_mngr_get_subdev(void);
20
21#ifdef CONFIG_COMPAT
22
23struct msm_buf_mngr_info32_t {
24 uint32_t session_id;
25 uint32_t stream_id;
26 uint32_t frame_id;
27 struct compat_timeval timestamp;
28 uint32_t index;
29 uint32_t reserved;
30 enum msm_camera_buf_mngr_buf_type type;
31 struct msm_camera_user_buf_cont_t user_buf;
32};
33
34#define VIDIOC_MSM_BUF_MNGR_GET_BUF32 \
35 _IOWR('V', BASE_VIDIOC_PRIVATE + 33, struct msm_buf_mngr_info32_t)
36
37#define VIDIOC_MSM_BUF_MNGR_PUT_BUF32 \
38 _IOWR('V', BASE_VIDIOC_PRIVATE + 34, struct msm_buf_mngr_info32_t)
39
40#define VIDIOC_MSM_BUF_MNGR_BUF_DONE32 \
41 _IOWR('V', BASE_VIDIOC_PRIVATE + 35, struct msm_buf_mngr_info32_t)
42
43#define VIDIOC_MSM_BUF_MNGR_FLUSH32 \
44 _IOWR('V', BASE_VIDIOC_PRIVATE + 39, struct msm_buf_mngr_info32_t)
45
annamraj230b13a2018-03-19 15:44:14 +053046#define VIDIOC_MSM_BUF_MNGR_BUF_ERROR32 \
47 _IOWR('V', BASE_VIDIOC_PRIVATE + 41, struct msm_buf_mngr_info32_t)
Pratap Nirujogi6e759912018-01-17 17:51:17 +053048#endif
49
50#endif
51