Home | History | Annotate | Download | only in linux
      1 /****************************************************************************
      2  ****************************************************************************
      3  ***
      4  ***   This header was automatically generated from a Linux kernel header
      5  ***   of the same name, to make information necessary for userspace to
      6  ***   call into the kernel available to libc.  It contains only constants,
      7  ***   structures, and macros generated from the original header, and thus,
      8  ***   contains no copyrightable information.
      9  ***
     10  ***   To edit the content of this header, modify the corresponding
     11  ***   source file (e.g. under external/kernel-headers/original/) then
     12  ***   run bionic/libc/kernel/tools/update_all.py
     13  ***
     14  ***   Any manual change here will be lost the next time this script will
     15  ***   be run. You've been warned!
     16  ***
     17  ****************************************************************************
     18  ****************************************************************************/
     19 #ifndef _MSM_MDP_H_
     20 #define _MSM_MDP_H_
     21 #include <linux/types.h>
     22 #include <linux/fb.h>
     23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     24 #define MSMFB_IOCTL_MAGIC 'm'
     25 #define MSMFB_GRP_DISP _IOW(MSMFB_IOCTL_MAGIC, 1, unsigned int)
     26 #define MSMFB_BLIT _IOW(MSMFB_IOCTL_MAGIC, 2, unsigned int)
     27 #define MSMFB_SUSPEND_SW_REFRESHER _IOW(MSMFB_IOCTL_MAGIC, 128, unsigned int)
     28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     29 #define MSMFB_RESUME_SW_REFRESHER _IOW(MSMFB_IOCTL_MAGIC, 129, unsigned int)
     30 #define MSMFB_CURSOR _IOW(MSMFB_IOCTL_MAGIC, 130, struct fb_cursor)
     31 #define MSMFB_SET_LUT _IOW(MSMFB_IOCTL_MAGIC, 131, struct fb_cmap)
     32 #define MSMFB_HISTOGRAM _IOWR(MSMFB_IOCTL_MAGIC, 132, struct mdp_histogram_data)
     33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     34 #define MSMFB_GET_CCS_MATRIX _IOWR(MSMFB_IOCTL_MAGIC, 133, struct mdp_ccs)
     35 #define MSMFB_SET_CCS_MATRIX _IOW(MSMFB_IOCTL_MAGIC, 134, struct mdp_ccs)
     36 #define MSMFB_OVERLAY_SET _IOWR(MSMFB_IOCTL_MAGIC, 135,   struct mdp_overlay)
     37 #define MSMFB_OVERLAY_UNSET _IOW(MSMFB_IOCTL_MAGIC, 136, unsigned int)
     38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     39 #define MSMFB_OVERLAY_PLAY _IOW(MSMFB_IOCTL_MAGIC, 137,   struct msmfb_overlay_data)
     40 #define MSMFB_OVERLAY_QUEUE MSMFB_OVERLAY_PLAY
     41 #define MSMFB_GET_PAGE_PROTECTION _IOR(MSMFB_IOCTL_MAGIC, 138,   struct mdp_page_protection)
     42 #define MSMFB_SET_PAGE_PROTECTION _IOW(MSMFB_IOCTL_MAGIC, 139,   struct mdp_page_protection)
     43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     44 #define MSMFB_OVERLAY_GET _IOR(MSMFB_IOCTL_MAGIC, 140,   struct mdp_overlay)
     45 #define MSMFB_OVERLAY_PLAY_ENABLE _IOW(MSMFB_IOCTL_MAGIC, 141, unsigned int)
     46 #define MSMFB_OVERLAY_BLT _IOWR(MSMFB_IOCTL_MAGIC, 142,   struct msmfb_overlay_blt)
     47 #define MSMFB_OVERLAY_BLT_OFFSET _IOW(MSMFB_IOCTL_MAGIC, 143, unsigned int)
     48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     49 #define MSMFB_HISTOGRAM_START _IOR(MSMFB_IOCTL_MAGIC, 144,   struct mdp_histogram_start_req)
     50 #define MSMFB_HISTOGRAM_STOP _IOR(MSMFB_IOCTL_MAGIC, 145, unsigned int)
     51 #define MSMFB_NOTIFY_UPDATE _IOW(MSMFB_IOCTL_MAGIC, 146, unsigned int)
     52 #define MSMFB_OVERLAY_3D _IOWR(MSMFB_IOCTL_MAGIC, 147,   struct msmfb_overlay_3d)
     53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     54 #define MSMFB_MIXER_INFO _IOWR(MSMFB_IOCTL_MAGIC, 148,   struct msmfb_mixer_info_req)
     55 #define MSMFB_OVERLAY_PLAY_WAIT _IOWR(MSMFB_IOCTL_MAGIC, 149,   struct msmfb_overlay_data)
     56 #define MSMFB_WRITEBACK_INIT _IO(MSMFB_IOCTL_MAGIC, 150)
     57 #define MSMFB_WRITEBACK_START _IO(MSMFB_IOCTL_MAGIC, 151)
     58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     59 #define MSMFB_WRITEBACK_STOP _IO(MSMFB_IOCTL_MAGIC, 152)
     60 #define MSMFB_WRITEBACK_QUEUE_BUFFER _IOW(MSMFB_IOCTL_MAGIC, 153,   struct msmfb_data)
     61 #define MSMFB_WRITEBACK_DEQUEUE_BUFFER _IOW(MSMFB_IOCTL_MAGIC, 154,   struct msmfb_data)
     62 #define MSMFB_WRITEBACK_TERMINATE _IO(MSMFB_IOCTL_MAGIC, 155)
     63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     64 #define MSMFB_MDP_PP _IOWR(MSMFB_IOCTL_MAGIC, 156, struct msmfb_mdp_pp)
     65 #define MSMFB_OVERLAY_VSYNC_CTRL _IOW(MSMFB_IOCTL_MAGIC, 160, unsigned int)
     66 #define MSMFB_VSYNC_CTRL _IOW(MSMFB_IOCTL_MAGIC, 161, unsigned int)
     67 #define MSMFB_BUFFER_SYNC _IOW(MSMFB_IOCTL_MAGIC, 162, struct mdp_buf_sync)
     68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     69 #define MSMFB_DISPLAY_COMMIT _IOW(MSMFB_IOCTL_MAGIC, 164,   struct mdp_display_commit)
     70 #define MSMFB_WRITEBACK_SET_MIRRORING_HINT _IOW(MSMFB_IOCTL_MAGIC, 165,   unsigned int)
     71 #define MSMFB_METADATA_GET _IOW(MSMFB_IOCTL_MAGIC, 166, struct msmfb_metadata)
     72 #define FB_TYPE_3D_PANEL 0x10101010
     73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     74 #define MDP_IMGTYPE2_START 0x10000
     75 #define MSMFB_DRIVER_VERSION 0xF9E8D701
     76 enum {
     77  NOTIFY_UPDATE_START,
     78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     79  NOTIFY_UPDATE_STOP,
     80 };
     81 enum {
     82  MDP_RGB_565,
     83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     84  MDP_XRGB_8888,
     85  MDP_Y_CBCR_H2V2,
     86  MDP_Y_CBCR_H2V2_ADRENO,
     87  MDP_ARGB_8888,
     88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     89  MDP_RGB_888,
     90  MDP_Y_CRCB_H2V2,
     91  MDP_YCRYCB_H2V1,
     92  MDP_Y_CRCB_H2V1,
     93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     94  MDP_Y_CBCR_H2V1,
     95  MDP_Y_CRCB_H1V2,
     96  MDP_Y_CBCR_H1V2,
     97  MDP_RGBA_8888,
     98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     99  MDP_BGRA_8888,
    100  MDP_RGBX_8888,
    101  MDP_Y_CRCB_H2V2_TILE,
    102  MDP_Y_CBCR_H2V2_TILE,
    103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    104  MDP_Y_CR_CB_H2V2,
    105  MDP_Y_CR_CB_GH2V2,
    106  MDP_Y_CB_CR_H2V2,
    107  MDP_Y_CRCB_H1V1,
    108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    109  MDP_Y_CBCR_H1V1,
    110  MDP_YCRCB_H1V1,
    111  MDP_YCBCR_H1V1,
    112  MDP_BGR_565,
    113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    114  MDP_IMGTYPE_LIMIT,
    115  MDP_RGB_BORDERFILL,
    116  MDP_FB_FORMAT = MDP_IMGTYPE2_START,
    117  MDP_IMGTYPE_LIMIT2
    118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    119 };
    120 enum {
    121  PMEM_IMG,
    122  FB_IMG,
    123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    124 };
    125 enum {
    126  HSIC_HUE = 0,
    127  HSIC_SAT,
    128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    129  HSIC_INT,
    130  HSIC_CON,
    131  NUM_HSIC_PARAM,
    132 };
    133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    134 #define MDSS_MDP_ROT_ONLY 0x80
    135 #define MDSS_MDP_RIGHT_MIXER 0x100
    136 #define MDP_ROT_NOP 0
    137 #define MDP_FLIP_LR 0x1
    138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    139 #define MDP_FLIP_UD 0x2
    140 #define MDP_ROT_90 0x4
    141 #define MDP_ROT_180 (MDP_FLIP_UD|MDP_FLIP_LR)
    142 #define MDP_ROT_270 (MDP_ROT_90|MDP_FLIP_UD|MDP_FLIP_LR)
    143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    144 #define MDP_DITHER 0x8
    145 #define MDP_BLUR 0x10
    146 #define MDP_BLEND_FG_PREMULT 0x20000
    147 #define MDP_DEINTERLACE 0x80000000
    148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    149 #define MDP_SHARPENING 0x40000000
    150 #define MDP_NO_DMA_BARRIER_START 0x20000000
    151 #define MDP_NO_DMA_BARRIER_END 0x10000000
    152 #define MDP_NO_BLIT 0x08000000
    153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    154 #define MDP_BLIT_WITH_DMA_BARRIERS 0x000
    155 #define MDP_BLIT_WITH_NO_DMA_BARRIERS   (MDP_NO_DMA_BARRIER_START | MDP_NO_DMA_BARRIER_END)
    156 #define MDP_BLIT_SRC_GEM 0x04000000
    157 #define MDP_BLIT_DST_GEM 0x02000000
    158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    159 #define MDP_BLIT_NON_CACHED 0x01000000
    160 #define MDP_OV_PIPE_SHARE 0x00800000
    161 #define MDP_DEINTERLACE_ODD 0x00400000
    162 #define MDP_OV_PLAY_NOWAIT 0x00200000
    163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    164 #define MDP_SOURCE_ROTATED_90 0x00100000
    165 #define MDP_OVERLAY_PP_CFG_EN 0x00080000
    166 #define MDP_BACKEND_COMPOSITION 0x00040000
    167 #define MDP_BORDERFILL_SUPPORTED 0x00010000
    168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    169 #define MDP_SECURE_OVERLAY_SESSION 0x00008000
    170 #define MDP_MEMORY_ID_TYPE_FB 0x00001000
    171 #define MDP_TRANSP_NOP 0xffffffff
    172 #define MDP_ALPHA_NOP 0xff
    173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    174 #define MDP_FB_PAGE_PROTECTION_NONCACHED (0)
    175 #define MDP_FB_PAGE_PROTECTION_WRITECOMBINE (1)
    176 #define MDP_FB_PAGE_PROTECTION_WRITETHROUGHCACHE (2)
    177 #define MDP_FB_PAGE_PROTECTION_WRITEBACKCACHE (3)
    178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    179 #define MDP_FB_PAGE_PROTECTION_WRITEBACKWACACHE (4)
    180 #define MDP_FB_PAGE_PROTECTION_INVALID (5)
    181 #define MDP_NUM_FB_PAGE_PROTECTION_VALUES (5)
    182 struct mdp_rect {
    183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    184  uint32_t x;
    185  uint32_t y;
    186  uint32_t w;
    187  uint32_t h;
    188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    189 };
    190 struct mdp_img {
    191  uint32_t width;
    192  uint32_t height;
    193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    194  uint32_t format;
    195  uint32_t offset;
    196  int memory_id;
    197  uint32_t priv;
    198 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    199 };
    200 #define MDP_CCS_RGB2YUV 0
    201 #define MDP_CCS_YUV2RGB 1
    202 #define MDP_CCS_SIZE 9
    203 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    204 #define MDP_BV_SIZE 3
    205 struct mdp_ccs {
    206  int direction;
    207  uint16_t ccs[MDP_CCS_SIZE];
    208 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    209  uint16_t bv[MDP_BV_SIZE];
    210 };
    211 struct mdp_csc {
    212  int id;
    213 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    214  uint32_t csc_mv[9];
    215  uint32_t csc_pre_bv[3];
    216  uint32_t csc_post_bv[3];
    217  uint32_t csc_pre_lv[6];
    218 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    219  uint32_t csc_post_lv[6];
    220 };
    221 #define MDP_BLIT_REQ_VERSION 2
    222 struct mdp_blit_req {
    223 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    224  struct mdp_img src;
    225  struct mdp_img dst;
    226  struct mdp_rect src_rect;
    227  struct mdp_rect dst_rect;
    228 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    229  uint32_t alpha;
    230  uint32_t transp_mask;
    231  uint32_t flags;
    232  int sharpening_strength;
    233 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    234 };
    235 struct mdp_blit_req_list {
    236  uint32_t count;
    237  struct mdp_blit_req req[];
    238 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    239 };
    240 #define MSMFB_DATA_VERSION 2
    241 struct msmfb_data {
    242  uint32_t offset;
    243 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    244  int memory_id;
    245  int id;
    246  uint32_t flags;
    247  uint32_t priv;
    248 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    249  uint32_t iova;
    250 };
    251 #define MSMFB_NEW_REQUEST -1
    252 struct msmfb_overlay_data {
    253 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    254  uint32_t id;
    255  struct msmfb_data data;
    256  uint32_t version_key;
    257  struct msmfb_data plane1_data;
    258 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    259  struct msmfb_data plane2_data;
    260  struct msmfb_data dst_data;
    261 };
    262 struct msmfb_img {
    263 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    264  uint32_t width;
    265  uint32_t height;
    266  uint32_t format;
    267 };
    268 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    269 #define MSMFB_WRITEBACK_DEQUEUE_BLOCKING 0x1
    270 struct msmfb_writeback_data {
    271  struct msmfb_data buf_info;
    272  struct msmfb_img img;
    273 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    274 };
    275 #define MDP_PP_OPS_ENABLE 0x1
    276 #define MDP_PP_OPS_READ 0x2
    277 #define MDP_PP_OPS_WRITE 0x4
    278 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    279 #define MDP_PP_OPS_DISABLE 0x8
    280 struct mdp_qseed_cfg {
    281  uint32_t table_num;
    282  uint32_t ops;
    283 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    284  uint32_t len;
    285  uint32_t *data;
    286 };
    287 struct mdp_qseed_cfg_data {
    288 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    289  uint32_t block;
    290  struct mdp_qseed_cfg qseed_data;
    291 };
    292 struct mdp_sharp_cfg {
    293 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    294  uint32_t flags;
    295  uint32_t strength;
    296  uint32_t edge_thr;
    297  uint32_t smooth_thr;
    298 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    299  uint32_t noise_thr;
    300 };
    301 #define MDP_OVERLAY_PP_CSC_CFG 0x1
    302 #define MDP_OVERLAY_PP_QSEED_CFG 0x2
    303 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    304 #define MDP_OVERLAY_PP_PA_CFG 0x4
    305 #define MDP_OVERLAY_PP_IGC_CFG 0x8
    306 #define MDP_OVERLAY_PP_SHARP_CFG 0x10
    307 #define MDP_CSC_FLAG_ENABLE 0x1
    308 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    309 #define MDP_CSC_FLAG_YUV_IN 0x2
    310 #define MDP_CSC_FLAG_YUV_OUT 0x4
    311 struct mdp_csc_cfg {
    312  uint32_t flags;
    313 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    314  uint32_t csc_mv[9];
    315  uint32_t csc_pre_bv[3];
    316  uint32_t csc_post_bv[3];
    317  uint32_t csc_pre_lv[6];
    318 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    319  uint32_t csc_post_lv[6];
    320 };
    321 struct mdp_csc_cfg_data {
    322  uint32_t block;
    323 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    324  struct mdp_csc_cfg csc_data;
    325 };
    326 struct mdp_pa_cfg {
    327  uint32_t flags;
    328 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    329  uint32_t hue_adj;
    330  uint32_t sat_adj;
    331  uint32_t val_adj;
    332  uint32_t cont_adj;
    333 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    334 };
    335 struct mdp_igc_lut_data {
    336  uint32_t block;
    337  uint32_t len, ops;
    338 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    339  uint32_t *c0_c1_data;
    340  uint32_t *c2_data;
    341 };
    342 struct mdp_overlay_pp_params {
    343 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    344  uint32_t config_ops;
    345  struct mdp_csc_cfg csc_cfg;
    346  struct mdp_qseed_cfg qseed_cfg[2];
    347  struct mdp_pa_cfg pa_cfg;
    348 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    349  struct mdp_igc_lut_data igc_cfg;
    350  struct mdp_sharp_cfg sharp_cfg;
    351 };
    352 enum {
    353 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    354  BLEND_OP_NOT_DEFINED = 0,
    355  BLEND_OP_OPAQUE,
    356  BLEND_OP_PREMULTIPLIED,
    357  BLEND_OP_COVERAGE,
    358 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    359  BLEND_OP_MAX,
    360 };
    361 struct mdp_overlay {
    362  struct msmfb_img src;
    363 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    364  struct mdp_rect src_rect;
    365  struct mdp_rect dst_rect;
    366  uint32_t z_order;
    367  uint32_t is_fg;
    368 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    369  uint32_t alpha;
    370  uint32_t transp_mask;
    371  uint32_t blend_op;
    372  uint32_t flags;
    373 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    374  uint32_t id;
    375  uint32_t user_data[8];
    376  struct mdp_overlay_pp_params overlay_pp_cfg;
    377 };
    378 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    379 struct msmfb_overlay_3d {
    380  uint32_t is_3d;
    381  uint32_t width;
    382  uint32_t height;
    383 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    384 };
    385 struct msmfb_overlay_blt {
    386  uint32_t enable;
    387  uint32_t offset;
    388 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    389  uint32_t width;
    390  uint32_t height;
    391  uint32_t bpp;
    392 };
    393 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    394 struct mdp_histogram {
    395  uint32_t frame_cnt;
    396  uint32_t bin_cnt;
    397  uint32_t *r;
    398 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    399  uint32_t *g;
    400  uint32_t *b;
    401 };
    402 enum {
    403 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    404  MDP_BLOCK_RESERVED = 0,
    405  MDP_BLOCK_OVERLAY_0,
    406  MDP_BLOCK_OVERLAY_1,
    407  MDP_BLOCK_VG_1,
    408 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    409  MDP_BLOCK_VG_2,
    410  MDP_BLOCK_RGB_1,
    411  MDP_BLOCK_RGB_2,
    412  MDP_BLOCK_DMA_P,
    413 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    414  MDP_BLOCK_DMA_S,
    415  MDP_BLOCK_DMA_E,
    416  MDP_BLOCK_OVERLAY_2,
    417  MDP_LOGICAL_BLOCK_DISP_0 = 0x1000,
    418 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    419  MDP_LOGICAL_BLOCK_DISP_1,
    420  MDP_LOGICAL_BLOCK_DISP_2,
    421  MDP_BLOCK_MAX,
    422 };
    423 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    424 struct mdp_histogram_start_req {
    425  uint32_t block;
    426  uint8_t frame_cnt;
    427  uint8_t bit_mask;
    428 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    429  uint8_t num_bins;
    430 };
    431 struct mdp_histogram_data {
    432  uint32_t block;
    433 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    434  uint8_t bin_cnt;
    435  uint32_t *c0;
    436  uint32_t *c1;
    437  uint32_t *c2;
    438 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    439  uint32_t *extra_info;
    440 };
    441 struct mdp_pcc_coeff {
    442  uint32_t c, r, g, b, rr, gg, bb, rg, gb, rb, rgb_0, rgb_1;
    443 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    444 };
    445 struct mdp_pcc_cfg_data {
    446  uint32_t block;
    447  uint32_t ops;
    448 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    449  struct mdp_pcc_coeff r, g, b;
    450 };
    451 enum {
    452  mdp_lut_igc,
    453 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    454  mdp_lut_pgc,
    455  mdp_lut_hist,
    456  mdp_lut_max,
    457 };
    458 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    459 struct mdp_ar_gc_lut_data {
    460  uint32_t x_start;
    461  uint32_t slope;
    462  uint32_t offset;
    463 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    464 };
    465 struct mdp_pgc_lut_data {
    466  uint32_t block;
    467  uint32_t flags;
    468 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    469  uint8_t num_r_stages;
    470  uint8_t num_g_stages;
    471  uint8_t num_b_stages;
    472  struct mdp_ar_gc_lut_data *r_data;
    473 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    474  struct mdp_ar_gc_lut_data *g_data;
    475  struct mdp_ar_gc_lut_data *b_data;
    476 };
    477 struct mdp_hist_lut_data {
    478 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    479  uint32_t block;
    480  uint32_t ops;
    481  uint32_t len;
    482  uint32_t *data;
    483 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    484 };
    485 struct mdp_lut_cfg_data {
    486  uint32_t lut_type;
    487  union {
    488 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    489  struct mdp_igc_lut_data igc_lut_data;
    490  struct mdp_pgc_lut_data pgc_lut_data;
    491  struct mdp_hist_lut_data hist_lut_data;
    492  } data;
    493 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    494 };
    495 struct mdp_bl_scale_data {
    496  uint32_t min_lvl;
    497  uint32_t scale;
    498 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    499 };
    500 struct mdp_calib_config_data {
    501  uint32_t ops;
    502  uint32_t addr;
    503 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    504  uint32_t data;
    505 };
    506 struct mdp_pa_cfg_data {
    507  uint32_t block;
    508 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    509  struct mdp_pa_cfg pa_data;
    510 };
    511 enum {
    512  mdp_op_pcc_cfg,
    513 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    514  mdp_op_csc_cfg,
    515  mdp_op_lut_cfg,
    516  mdp_op_qseed_cfg,
    517  mdp_bl_scale_cfg,
    518 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    519  mdp_op_calib_cfg,
    520  mdp_op_pa_cfg,
    521  mdp_op_max,
    522 };
    523 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    524 struct msmfb_mdp_pp {
    525  uint32_t op;
    526  union {
    527  struct mdp_pcc_cfg_data pcc_cfg_data;
    528 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    529  struct mdp_csc_cfg_data csc_cfg_data;
    530  struct mdp_lut_cfg_data lut_cfg_data;
    531  struct mdp_qseed_cfg_data qseed_cfg_data;
    532  struct mdp_bl_scale_data bl_scale_data;
    533 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    534  struct mdp_calib_config_data calib_cfg;
    535  struct mdp_pa_cfg_data pa_cfg_data;
    536  } data;
    537 };
    538 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    539 enum {
    540  metadata_op_none,
    541  metadata_op_base_blend,
    542  metadata_op_frame_rate,
    543 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    544  metadata_op_max
    545 };
    546 struct mdp_blend_cfg {
    547  uint32_t is_premultiplied;
    548 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    549 };
    550 struct msmfb_metadata {
    551  uint32_t op;
    552  uint32_t flags;
    553 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    554  union {
    555  struct mdp_blend_cfg blend_cfg;
    556  uint32_t panel_frame_rate;
    557  } data;
    558 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    559 };
    560 #define MDP_MAX_FENCE_FD 10
    561 #define MDP_BUF_SYNC_FLAG_WAIT 1
    562 struct mdp_buf_sync {
    563 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    564  uint32_t flags;
    565  uint32_t acq_fen_fd_cnt;
    566  int *acq_fen_fd;
    567  int *rel_fen_fd;
    568 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    569  int *retire_fen_fd;
    570 };
    571 #define MDP_DISPLAY_COMMIT_OVERLAY 0x00000001
    572 struct mdp_display_commit {
    573 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    574  uint32_t flags;
    575  uint32_t wait_for_finish;
    576  struct fb_var_screeninfo var;
    577 };
    578 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    579 struct mdp_page_protection {
    580  uint32_t page_protection;
    581 };
    582 struct mdp_mixer_info {
    583 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    584  int pndx;
    585  int pnum;
    586  int ptype;
    587  int mixer_num;
    588 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    589  int z_order;
    590 };
    591 #define MAX_PIPE_PER_MIXER 5
    592 struct msmfb_mixer_info_req {
    593 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    594  int mixer_num;
    595  int cnt;
    596  struct mdp_mixer_info info[MAX_PIPE_PER_MIXER];
    597 };
    598 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    599 enum {
    600  DISPLAY_SUBSYSTEM_ID,
    601  ROTATOR_SUBSYSTEM_ID,
    602 };
    603 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    604 enum {
    605  MDP_WRITEBACK_MIRROR_OFF,
    606  MDP_WRITEBACK_MIRROR_ON,
    607  MDP_WRITEBACK_MIRROR_PAUSE,
    608 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    609  MDP_WRITEBACK_MIRROR_RESUME,
    610 };
    611 #endif
    612