Merge branch 'linux-linaro-lsk-v4.4' into linux-linaro-lsk-v4.4-android
[firefly-linux-kernel-4.4.55.git] / drivers / video / adf / adf_fops32.h
1 #ifndef __VIDEO_ADF_ADF_FOPS32_H
2 #define __VIDEO_ADF_ADF_FOPS32_H
3
4 #include <linux/compat.h>
5 #include <linux/ioctl.h>
6
7 #include <video/adf.h>
8
9 #define ADF_POST_CONFIG32 \
10                 _IOW(ADF_IOCTL_TYPE, 2, struct adf_post_config32)
11 #define ADF_GET_DEVICE_DATA32 \
12                 _IOR(ADF_IOCTL_TYPE, 4, struct adf_device_data32)
13 #define ADF_GET_INTERFACE_DATA32 \
14                 _IOR(ADF_IOCTL_TYPE, 5, struct adf_interface_data32)
15 #define ADF_GET_OVERLAY_ENGINE_DATA32 \
16                 _IOR(ADF_IOCTL_TYPE, 6, struct adf_overlay_engine_data32)
17
18 struct adf_post_config32 {
19         compat_size_t n_interfaces;
20         compat_uptr_t interfaces;
21
22         compat_size_t n_bufs;
23         compat_uptr_t bufs;
24
25         compat_size_t custom_data_size;
26         compat_uptr_t custom_data;
27
28         __s32 complete_fence;
29 };
30
31 struct adf_device_data32 {
32         char name[ADF_NAME_LEN];
33
34         compat_size_t n_attachments;
35         compat_uptr_t attachments;
36
37         compat_size_t n_allowed_attachments;
38         compat_uptr_t allowed_attachments;
39
40         compat_size_t custom_data_size;
41         compat_uptr_t custom_data;
42 };
43
44 struct adf_interface_data32 {
45         char name[ADF_NAME_LEN];
46
47         __u8 type;
48         __u32 id;
49         /* e.g. type=ADF_INTF_TYPE_DSI, id=1 => DSI.1 */
50         __u32 flags;
51
52         __u8 dpms_state;
53         __u8 hotplug_detect;
54         __u16 width_mm;
55         __u16 height_mm;
56
57         struct drm_mode_modeinfo current_mode;
58         compat_size_t n_available_modes;
59         compat_uptr_t available_modes;
60
61         compat_size_t custom_data_size;
62         compat_uptr_t custom_data;
63 };
64
65 struct adf_overlay_engine_data32 {
66         char name[ADF_NAME_LEN];
67
68         compat_size_t n_supported_formats;
69         compat_uptr_t supported_formats;
70
71         compat_size_t custom_data_size;
72         compat_uptr_t custom_data;
73 };
74
75 long adf_file_compat_ioctl(struct file *file, unsigned int cmd,
76                 unsigned long arg);
77
78 #endif /* __VIDEO_ADF_ADF_FOPS32_H */