| /**************************************************************************** |
| **************************************************************************** |
| *** |
| *** This header was automatically generated from a Linux kernel header |
| *** of the same name, to make information necessary for userspace to |
| *** call into the kernel available to libc. It contains only constants, |
| *** structures, and macros generated from the original header, and thus, |
| *** contains no copyrightable information. |
| *** |
| *** To edit the content of this header, modify the corresponding |
| *** source file (e.g. under external/kernel-headers/original/) then |
| *** run bionic/libc/kernel/tools/update_all.py |
| *** |
| *** Any manual change here will be lost the next time this script will |
| *** be run. You've been warned! |
| *** |
| **************************************************************************** |
| ****************************************************************************/ |
| #ifndef _LINUX_DSSCOMP_H |
| #define _LINUX_DSSCOMP_H |
| enum omap_plane { |
| OMAP_DSS_GFX = 0, |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| OMAP_DSS_VIDEO1 = 1, |
| OMAP_DSS_VIDEO2 = 2, |
| OMAP_DSS_VIDEO3 = 3, |
| OMAP_DSS_WB = 4, |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| }; |
| enum omap_channel { |
| OMAP_DSS_CHANNEL_LCD = 0, |
| OMAP_DSS_CHANNEL_DIGIT = 1, |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| OMAP_DSS_CHANNEL_LCD2 = 2, |
| }; |
| enum omap_color_mode { |
| OMAP_DSS_COLOR_CLUT1 = 1 << 0, |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| OMAP_DSS_COLOR_CLUT2 = 1 << 1, |
| OMAP_DSS_COLOR_CLUT4 = 1 << 2, |
| OMAP_DSS_COLOR_CLUT8 = 1 << 3, |
| OMAP_DSS_COLOR_RGB12U = 1 << 4, |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| OMAP_DSS_COLOR_ARGB16 = 1 << 5, |
| OMAP_DSS_COLOR_RGB16 = 1 << 6, |
| OMAP_DSS_COLOR_RGB24U = 1 << 7, |
| OMAP_DSS_COLOR_RGB24P = 1 << 8, |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| OMAP_DSS_COLOR_YUV2 = 1 << 9, |
| OMAP_DSS_COLOR_UYVY = 1 << 10, |
| OMAP_DSS_COLOR_ARGB32 = 1 << 11, |
| OMAP_DSS_COLOR_RGBA32 = 1 << 12, |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| OMAP_DSS_COLOR_RGBX24 = 1 << 13, |
| OMAP_DSS_COLOR_RGBX32 = 1 << 13, |
| OMAP_DSS_COLOR_NV12 = 1 << 14, |
| OMAP_DSS_COLOR_RGBA16 = 1 << 15, |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| OMAP_DSS_COLOR_RGBX12 = 1 << 16, |
| OMAP_DSS_COLOR_RGBX16 = 1 << 16, |
| OMAP_DSS_COLOR_ARGB16_1555 = 1 << 17, |
| OMAP_DSS_COLOR_XRGB15 = 1 << 18, |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| OMAP_DSS_COLOR_XRGB16_1555 = 1 << 18, |
| }; |
| enum omap_dss_trans_key_type { |
| OMAP_DSS_COLOR_KEY_GFX_DST = 0, |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| OMAP_DSS_COLOR_KEY_VID_SRC = 1, |
| }; |
| enum omap_dss_display_state { |
| OMAP_DSS_DISPLAY_DISABLED = 0, |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| OMAP_DSS_DISPLAY_ACTIVE, |
| OMAP_DSS_DISPLAY_SUSPENDED, |
| OMAP_DSS_DISPLAY_TRANSITION, |
| }; |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| struct omap_video_timings { |
| __u16 x_res; |
| __u16 y_res; |
| __u32 pixel_clock; |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| __u16 hsw; |
| __u16 hfp; |
| __u16 hbp; |
| __u16 vsw; |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| __u16 vfp; |
| __u16 vbp; |
| }; |
| struct omap_dss_cconv_coefs { |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| __s16 ry, rcr, rcb; |
| __s16 gy, gcr, gcb; |
| __s16 by, bcr, bcb; |
| __u16 full_range; |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| } __attribute__ ((aligned(4))); |
| struct omap_dss_cpr_coefs { |
| __s16 rr, rg, rb; |
| __s16 gr, gg, gb; |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| __s16 br, bg, bb; |
| }; |
| struct dsscomp_videomode { |
| const char *name; |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| __u32 refresh; |
| __u32 xres; |
| __u32 yres; |
| __u32 pixclock; |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| __u32 left_margin; |
| __u32 right_margin; |
| __u32 upper_margin; |
| __u32 lower_margin; |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| __u32 hsync_len; |
| __u32 vsync_len; |
| __u32 sync; |
| __u32 vmode; |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| __u32 flag; |
| }; |
| enum s3d_disp_type { |
| S3D_DISP_NONE = 0, |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| S3D_DISP_FRAME_SEQ, |
| S3D_DISP_ROW_IL, |
| S3D_DISP_COL_IL, |
| S3D_DISP_PIX_IL, |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| S3D_DISP_CHECKB, |
| S3D_DISP_OVERUNDER, |
| S3D_DISP_SIDEBYSIDE, |
| }; |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| enum s3d_disp_sub_sampling { |
| S3D_DISP_SUB_SAMPLE_NONE = 0, |
| S3D_DISP_SUB_SAMPLE_V, |
| S3D_DISP_SUB_SAMPLE_H, |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| }; |
| enum s3d_disp_order { |
| S3D_DISP_ORDER_L = 0, |
| S3D_DISP_ORDER_R = 1, |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| }; |
| enum s3d_disp_view { |
| S3D_DISP_VIEW_L = 0, |
| S3D_DISP_VIEW_R, |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| }; |
| struct s3d_disp_info { |
| enum s3d_disp_type type; |
| enum s3d_disp_sub_sampling sub_samp; |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| enum s3d_disp_order order; |
| unsigned int gap; |
| }; |
| enum omap_dss_ilace_mode { |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| OMAP_DSS_ILACE = (1 << 0), |
| OMAP_DSS_ILACE_SEQ = (1 << 1), |
| OMAP_DSS_ILACE_SWAP = (1 << 2), |
| OMAP_DSS_ILACE_NONE = 0, |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| OMAP_DSS_ILACE_IL_TB = OMAP_DSS_ILACE, |
| OMAP_DSS_ILACE_IL_BT = OMAP_DSS_ILACE | OMAP_DSS_ILACE_SWAP, |
| OMAP_DSS_ILACE_SEQ_TB = OMAP_DSS_ILACE_IL_TB | OMAP_DSS_ILACE_SEQ, |
| OMAP_DSS_ILACE_SEQ_BT = OMAP_DSS_ILACE_IL_BT | OMAP_DSS_ILACE_SEQ, |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| }; |
| struct dss2_vc1_range_map_info { |
| __u8 enable; |
| __u8 range_y; |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| __u8 range_uv; |
| } __attribute__ ((aligned(4))); |
| struct dss2_rect_t { |
| __s32 x; |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| __s32 y; |
| __u32 w; |
| __u32 h; |
| } __attribute__ ((aligned(4))); |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| struct dss2_decim { |
| __u8 min_x; |
| __u8 max_x; |
| __u8 min_y; |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| __u8 max_y; |
| } __attribute__ ((aligned(4))); |
| struct dss2_ovl_cfg { |
| __u16 width; |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| __u16 height; |
| __u32 stride; |
| enum omap_color_mode color_mode; |
| __u8 pre_mult_alpha; |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| __u8 global_alpha; |
| __u8 rotation; |
| __u8 mirror; |
| enum omap_dss_ilace_mode ilace; |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| struct dss2_rect_t win; |
| struct dss2_rect_t crop; |
| struct dss2_decim decim; |
| struct omap_dss_cconv_coefs cconv; |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| struct dss2_vc1_range_map_info vc1; |
| __u8 ix; |
| __u8 zorder; |
| __u8 enabled; |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| __u8 zonly; |
| __u8 mgr_ix; |
| } __attribute__ ((aligned(4))); |
| enum omapdss_buffer_type { |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| OMAP_DSS_BUFTYPE_SDMA, |
| OMAP_DSS_BUFTYPE_TILER_8BIT, |
| OMAP_DSS_BUFTYPE_TILER_16BIT, |
| OMAP_DSS_BUFTYPE_TILER_32BIT, |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| OMAP_DSS_BUFTYPE_TILER_PAGE, |
| }; |
| enum omapdss_buffer_addressing_type { |
| OMAP_DSS_BUFADDR_DIRECT, |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| OMAP_DSS_BUFADDR_BYTYPE, |
| OMAP_DSS_BUFADDR_ION, |
| OMAP_DSS_BUFADDR_GRALLOC, |
| OMAP_DSS_BUFADDR_OVL_IX, |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| OMAP_DSS_BUFADDR_LAYER_IX, |
| OMAP_DSS_BUFADDR_FB, |
| }; |
| struct dss2_ovl_info { |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| struct dss2_ovl_cfg cfg; |
| enum omapdss_buffer_addressing_type addressing; |
| union { |
| struct { |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| void *address; |
| void *uv_address; |
| }; |
| struct { |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| enum omapdss_buffer_type ba_type; |
| enum omapdss_buffer_type uv_type; |
| }; |
| struct { |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| __u32 ba; |
| __u32 uv; |
| }; |
| }; |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| }; |
| struct dss2_mgr_info { |
| __u32 ix; |
| __u32 default_color; |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| enum omap_dss_trans_key_type trans_key_type; |
| __u32 trans_key; |
| struct omap_dss_cpr_coefs cpr_coefs; |
| __u8 trans_enabled; |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| __u8 interlaced; |
| __u8 alpha_blending; |
| __u8 cpr_enabled; |
| __u8 swap_rb; |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| } __attribute__ ((aligned(4))); |
| enum dsscomp_setup_mode { |
| DSSCOMP_SETUP_MODE_APPLY = (1 << 0), |
| DSSCOMP_SETUP_MODE_DISPLAY = (1 << 1), |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| DSSCOMP_SETUP_MODE_CAPTURE = (1 << 2), |
| DSSCOMP_SETUP_APPLY = DSSCOMP_SETUP_MODE_APPLY, |
| DSSCOMP_SETUP_DISPLAY = |
| DSSCOMP_SETUP_MODE_APPLY | DSSCOMP_SETUP_MODE_DISPLAY, |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| DSSCOMP_SETUP_CAPTURE = |
| DSSCOMP_SETUP_MODE_APPLY | DSSCOMP_SETUP_MODE_CAPTURE, |
| DSSCOMP_SETUP_DISPLAY_CAPTURE = |
| DSSCOMP_SETUP_DISPLAY | DSSCOMP_SETUP_CAPTURE, |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| }; |
| struct dsscomp_setup_mgr_data { |
| __u32 sync_id; |
| struct dss2_rect_t win; |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| enum dsscomp_setup_mode mode; |
| __u16 num_ovls; |
| __u16 get_sync_obj; |
| struct dss2_mgr_info mgr; |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| struct dss2_ovl_info ovls[0]; |
| }; |
| struct dsscomp_check_ovl_data { |
| enum dsscomp_setup_mode mode; |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| struct dss2_mgr_info mgr; |
| struct dss2_ovl_info ovl; |
| }; |
| struct dsscomp_setup_dispc_data { |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| __u32 sync_id; |
| enum dsscomp_setup_mode mode; |
| __u16 num_ovls; |
| __u16 num_mgrs; |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| __u16 get_sync_obj; |
| struct dss2_mgr_info mgrs[3]; |
| struct dss2_ovl_info ovls[5]; |
| }; |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| struct dsscomp_wb_copy_data { |
| struct dss2_ovl_info ovl, wb; |
| }; |
| struct dsscomp_display_info { |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| __u32 ix; |
| __u32 overlays_available; |
| __u32 overlays_owned; |
| enum omap_channel channel; |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| enum omap_dss_display_state state; |
| __u8 enabled; |
| struct omap_video_timings timings; |
| struct s3d_disp_info s3d_info; |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| struct dss2_mgr_info mgr; |
| __u16 width_in_mm; |
| __u16 height_in_mm; |
| __u32 modedb_len; |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| struct dsscomp_videomode modedb[]; |
| }; |
| struct dsscomp_setup_display_data { |
| __u32 ix; |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| struct dsscomp_videomode mode; |
| }; |
| enum dsscomp_wait_phase { |
| DSSCOMP_WAIT_PROGRAMMED = 1, |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| DSSCOMP_WAIT_DISPLAYED, |
| DSSCOMP_WAIT_RELEASED, |
| }; |
| struct dsscomp_wait_data { |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| __u32 timeout_us; |
| enum dsscomp_wait_phase phase; |
| }; |
| #define DSSCIOC_SETUP_MGR _IOW('O', 128, struct dsscomp_setup_mgr_data) |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| #define DSSCIOC_CHECK_OVL _IOWR('O', 129, struct dsscomp_check_ovl_data) |
| #define DSSCIOC_WB_COPY _IOW('O', 130, struct dsscomp_wb_copy_data) |
| #define DSSCIOC_QUERY_DISPLAY _IOWR('O', 131, struct dsscomp_display_info) |
| #define DSSCIOC_WAIT _IOW('O', 132, struct dsscomp_wait_data) |
| /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ |
| #define DSSCIOC_SETUP_DISPC _IOW('O', 133, struct dsscomp_setup_dispc_data) |
| #define DSSCIOC_SETUP_DISPLAY _IOW('O', 134, struct dsscomp_setup_display_data) |
| #endif |