blob: 18c673dc5e2e3c468824e80a642465da264bf7f3 [file] [log] [blame]
#ifndef __VIDEO_ADF_ADF_FOPS32_H
#define __VIDEO_ADF_ADF_FOPS32_H
#include <linux/compat.h>
#include <linux/ioctl.h>
#include <video/adf.h>
#define ADF_POST_CONFIG32 \
_IOW('D', 2, struct adf_post_config32)
#define ADF_GET_DEVICE_DATA32 \
_IOR('D', 4, struct adf_device_data32)
#define ADF_GET_INTERFACE_DATA32 \
_IOR('D', 5, struct adf_interface_data32)
#define ADF_GET_OVERLAY_ENGINE_DATA32 \
_IOR('D', 6, struct adf_overlay_engine_data32)
struct adf_post_config32 {
compat_size_t n_interfaces;
compat_uptr_t interfaces;
compat_size_t n_bufs;
compat_uptr_t bufs;
compat_size_t custom_data_size;
compat_uptr_t custom_data;
__s64 complete_fence;
};
struct adf_device_data32 {
char name[ADF_NAME_LEN];
compat_size_t n_attachments;
compat_uptr_t attachments;
compat_size_t n_allowed_attachments;
compat_uptr_t allowed_attachments;
compat_size_t custom_data_size;
compat_uptr_t custom_data;
};
struct adf_interface_data32 {
char name[ADF_NAME_LEN];
__u8 type;
__u32 id;
/* e.g. type=ADF_INTF_TYPE_DSI, id=1 => DSI.1 */
__u32 flags;
__u8 dpms_state;
__u8 hotplug_detect;
__u16 width_mm;
__u16 height_mm;
struct drm_mode_modeinfo current_mode;
compat_size_t n_available_modes;
compat_uptr_t available_modes;
compat_size_t custom_data_size;
compat_uptr_t custom_data;
};
struct adf_overlay_engine_data32 {
char name[ADF_NAME_LEN];
compat_size_t n_supported_formats;
compat_uptr_t supported_formats;
compat_size_t custom_data_size;
compat_uptr_t custom_data;
};
long adf_file_compat_ioctl(struct file *file, unsigned int cmd,
unsigned long arg);
#endif /* __VIDEO_ADF_ADF_FOPS32_H */