1 #ifndef __DISP_OVL_ENGINE_DEV_H__
2 #define __DISP_OVL_ENGINE_DEV_H__
4 #include <linux/ioctl.h>
7 #define HW_OVERLAY_COUNT (4)
8 #define RESERVED_LAYER_COUNT (2)
9 #define VIDEO_LAYER_COUNT (HW_OVERLAY_COUNT - RESERVED_LAYER_COUNT)
11 struct DISP_OVL_ENGINE_REGION
21 struct disp_ovl_engine_config_mem_out_struct
25 unsigned int outFormat
;
27 unsigned int dstPitch
;
28 struct DISP_OVL_ENGINE_REGION srcROI
; // ROI
29 unsigned int security
;
34 struct disp_ovl_engine_setting
36 struct fb_overlay_layer overlay_layers
[HW_OVERLAY_COUNT
];
37 struct disp_ovl_engine_config_mem_out_struct mem_out
;
43 DISP_OVL_REQUEST_FORCE_DISABLE_CABC
= 0
46 struct disp_ovl_engine_request_struct
55 #define DISP_OVL_ENGINE_IOCTL_MAGIC 'l'
57 #define DISP_OVL_ENGINE_IOCTL_GET_LAYER_INFO _IOWR (DISP_OVL_ENGINE_IOCTL_MAGIC, 1, DISP_LAYER_INFO)
58 #define DISP_OVL_ENGINE_IOCTL_SET_LAYER_INFO _IOWR (DISP_OVL_ENGINE_IOCTL_MAGIC, 2, struct fb_overlay_layer)
59 #define DISP_OVL_ENGINE_IOCTL_SET_OVERLAYED_BUF _IOWR (DISP_OVL_ENGINE_IOCTL_MAGIC, 3, struct disp_ovl_engine_config_mem_out_struct)
60 #define DISP_OVL_ENGINE_IOCTL_TRIGGER_OVERLAY _IOWR (DISP_OVL_ENGINE_IOCTL_MAGIC, 4, int)
61 #define DISP_OVL_ENGINE_IOCTL_WAIT_OVERLAY_COMPLETE _IOWR (DISP_OVL_ENGINE_IOCTL_MAGIC, 5, int)
62 #define DISP_OVL_ENGINE_IOCTL_SECURE_MVA_MAP _IOWR (DISP_OVL_ENGINE_IOCTL_MAGIC, 6, struct disp_mva_map)
63 #define DISP_OVL_ENGINE_IOCTL_SECURE_MVA_UNMAP _IOWR (DISP_OVL_ENGINE_IOCTL_MAGIC, 7, struct disp_mva_map)
64 #define DISP_OVL_ENGINE_IOCTL_GET_REQUEST _IOWR (DISP_OVL_ENGINE_IOCTL_MAGIC, 8, struct disp_ovl_engine_request_struct)
65 #define DISP_OVL_ENGINE_IOCTL_ACK_REQUEST _IOWR (DISP_OVL_ENGINE_IOCTL_MAGIC, 9, struct disp_ovl_engine_request_struct)
66 #define DISP_OVL_ENGINE_IOCTL_TRIGGER_OVERLAY_FENCE _IOWR (DISP_OVL_ENGINE_IOCTL_MAGIC, 10, struct disp_ovl_engine_setting)
67 #define DISP_OVL_ENGINE_IOCTL_GET_FENCE_FD _IOWR (DISP_OVL_ENGINE_IOCTL_MAGIC, 11, int)