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 _IOWR(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_OVERLAY_COMMIT _IO(MSMFB_IOCTL_MAGIC, 163)
     70 #define MSMFB_DISPLAY_COMMIT _IOW(MSMFB_IOCTL_MAGIC, 164,   struct mdp_display_commit)
     71 #define MSMFB_METADATA_SET _IOW(MSMFB_IOCTL_MAGIC, 165, struct msmfb_metadata)
     72 #define MSMFB_METADATA_GET _IOW(MSMFB_IOCTL_MAGIC, 166, struct msmfb_metadata)
     73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     74 #define MSMFB_WRITEBACK_SET_MIRRORING_HINT _IOW(MSMFB_IOCTL_MAGIC, 167,   unsigned int)
     75 #define MSMFB_ASYNC_BLIT _IOW(MSMFB_IOCTL_MAGIC, 168, unsigned int)
     76 #define FB_TYPE_3D_PANEL 0x10101010
     77 #define MDP_IMGTYPE2_START 0x10000
     78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     79 #define MSMFB_DRIVER_VERSION 0xF9E8D701
     80 enum {
     81  NOTIFY_UPDATE_START,
     82  NOTIFY_UPDATE_STOP,
     83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     84  NOTIFY_UPDATE_POWER_OFF,
     85 };
     86 enum {
     87  NOTIFY_TYPE_NO_UPDATE,
     88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     89  NOTIFY_TYPE_SUSPEND,
     90  NOTIFY_TYPE_UPDATE,
     91 };
     92 enum {
     93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     94  MDP_RGB_565,
     95  MDP_XRGB_8888,
     96  MDP_Y_CBCR_H2V2,
     97  MDP_Y_CBCR_H2V2_ADRENO,
     98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     99  MDP_ARGB_8888,
    100  MDP_RGB_888,
    101  MDP_Y_CRCB_H2V2,
    102  MDP_YCRYCB_H2V1,
    103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    104  MDP_CBYCRY_H2V1,
    105  MDP_Y_CRCB_H2V1,
    106  MDP_Y_CBCR_H2V1,
    107  MDP_Y_CRCB_H1V2,
    108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    109  MDP_Y_CBCR_H1V2,
    110  MDP_RGBA_8888,
    111  MDP_BGRA_8888,
    112  MDP_RGBX_8888,
    113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    114  MDP_Y_CRCB_H2V2_TILE,
    115  MDP_Y_CBCR_H2V2_TILE,
    116  MDP_Y_CR_CB_H2V2,
    117  MDP_Y_CR_CB_GH2V2,
    118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    119  MDP_Y_CB_CR_H2V2,
    120  MDP_Y_CRCB_H1V1,
    121  MDP_Y_CBCR_H1V1,
    122  MDP_YCRCB_H1V1,
    123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    124  MDP_YCBCR_H1V1,
    125  MDP_BGR_565,
    126  MDP_BGR_888,
    127  MDP_Y_CBCR_H2V2_VENUS,
    128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    129  MDP_BGRX_8888,
    130  MDP_YCBYCR_H2V1,
    131  MDP_IMGTYPE_LIMIT,
    132  MDP_RGB_BORDERFILL,
    133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    134  MDP_FB_FORMAT = MDP_IMGTYPE2_START,
    135  MDP_IMGTYPE_LIMIT2
    136 };
    137 enum {
    138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    139  PMEM_IMG,
    140  FB_IMG,
    141 };
    142 enum {
    143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    144  HSIC_HUE = 0,
    145  HSIC_SAT,
    146  HSIC_INT,
    147  HSIC_CON,
    148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    149  NUM_HSIC_PARAM,
    150 };
    151 #define MDSS_MDP_ROT_ONLY 0x80
    152 #define MDSS_MDP_RIGHT_MIXER 0x100
    153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    154 #define MDSS_MDP_DUAL_PIPE 0x200
    155 #define MDP_ROT_NOP 0
    156 #define MDP_FLIP_LR 0x1
    157 #define MDP_FLIP_UD 0x2
    158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    159 #define MDP_ROT_90 0x4
    160 #define MDP_ROT_180 (MDP_FLIP_UD|MDP_FLIP_LR)
    161 #define MDP_ROT_270 (MDP_ROT_90|MDP_FLIP_UD|MDP_FLIP_LR)
    162 #define MDP_DITHER 0x8
    163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    164 #define MDP_BLUR 0x10
    165 #define MDP_BLEND_FG_PREMULT 0x20000
    166 #define MDP_IS_FG 0x40000
    167 #define MDP_DEINTERLACE 0x80000000
    168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    169 #define MDP_SHARPENING 0x40000000
    170 #define MDP_NO_DMA_BARRIER_START 0x20000000
    171 #define MDP_NO_DMA_BARRIER_END 0x10000000
    172 #define MDP_NO_BLIT 0x08000000
    173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    174 #define MDP_BLIT_WITH_DMA_BARRIERS 0x000
    175 #define MDP_BLIT_WITH_NO_DMA_BARRIERS   (MDP_NO_DMA_BARRIER_START | MDP_NO_DMA_BARRIER_END)
    176 #define MDP_BLIT_SRC_GEM 0x04000000
    177 #define MDP_BLIT_DST_GEM 0x02000000
    178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    179 #define MDP_BLIT_NON_CACHED 0x01000000
    180 #define MDP_OV_PIPE_SHARE 0x00800000
    181 #define MDP_DEINTERLACE_ODD 0x00400000
    182 #define MDP_OV_PLAY_NOWAIT 0x00200000
    183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    184 #define MDP_SOURCE_ROTATED_90 0x00100000
    185 #define MDP_OVERLAY_PP_CFG_EN 0x00080000
    186 #define MDP_BACKEND_COMPOSITION 0x00040000
    187 #define MDP_BORDERFILL_SUPPORTED 0x00010000
    188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    189 #define MDP_SECURE_OVERLAY_SESSION 0x00008000
    190 #define MDP_OV_PIPE_FORCE_DMA 0x00004000
    191 #define MDP_MEMORY_ID_TYPE_FB 0x00001000
    192 #define MDP_BWC_EN 0x00000400
    193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    194 #define MDP_DECIMATION_EN 0x00000800
    195 #define MDP_TRANSP_NOP 0xffffffff
    196 #define MDP_ALPHA_NOP 0xff
    197 #define MDP_FB_PAGE_PROTECTION_NONCACHED (0)
    198 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    199 #define MDP_FB_PAGE_PROTECTION_WRITECOMBINE (1)
    200 #define MDP_FB_PAGE_PROTECTION_WRITETHROUGHCACHE (2)
    201 #define MDP_FB_PAGE_PROTECTION_WRITEBACKCACHE (3)
    202 #define MDP_FB_PAGE_PROTECTION_WRITEBACKWACACHE (4)
    203 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    204 #define MDP_FB_PAGE_PROTECTION_INVALID (5)
    205 #define MDP_NUM_FB_PAGE_PROTECTION_VALUES (5)
    206 struct mdp_rect {
    207  uint32_t x;
    208 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    209  uint32_t y;
    210  uint32_t w;
    211  uint32_t h;
    212 };
    213 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    214 struct mdp_img {
    215  uint32_t width;
    216  uint32_t height;
    217  uint32_t format;
    218 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    219  uint32_t offset;
    220  int memory_id;
    221  uint32_t priv;
    222 };
    223 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    224 #define MDP_CCS_RGB2YUV 0
    225 #define MDP_CCS_YUV2RGB 1
    226 #define MDP_CCS_SIZE 9
    227 #define MDP_BV_SIZE 3
    228 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    229 struct mdp_ccs {
    230  int direction;
    231  uint16_t ccs[MDP_CCS_SIZE];
    232  uint16_t bv[MDP_BV_SIZE];
    233 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    234 };
    235 struct mdp_csc {
    236  int id;
    237  uint32_t csc_mv[9];
    238 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    239  uint32_t csc_pre_bv[3];
    240  uint32_t csc_post_bv[3];
    241  uint32_t csc_pre_lv[6];
    242  uint32_t csc_post_lv[6];
    243 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    244 };
    245 #define MDP_BLIT_REQ_VERSION 2
    246 struct mdp_blit_req {
    247  struct mdp_img src;
    248 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    249  struct mdp_img dst;
    250  struct mdp_rect src_rect;
    251  struct mdp_rect dst_rect;
    252  uint32_t alpha;
    253 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    254  uint32_t transp_mask;
    255  uint32_t flags;
    256  int sharpening_strength;
    257 };
    258 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    259 struct mdp_blit_req_list {
    260  uint32_t count;
    261  struct mdp_blit_req req[];
    262 };
    263 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    264 #define MSMFB_DATA_VERSION 2
    265 struct msmfb_data {
    266  uint32_t offset;
    267  int memory_id;
    268 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    269  int id;
    270  uint32_t flags;
    271  uint32_t priv;
    272  uint32_t iova;
    273 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    274 };
    275 #define MSMFB_NEW_REQUEST -1
    276 struct msmfb_overlay_data {
    277  uint32_t id;
    278 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    279  struct msmfb_data data;
    280  uint32_t version_key;
    281  struct msmfb_data plane1_data;
    282  struct msmfb_data plane2_data;
    283 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    284  struct msmfb_data dst_data;
    285 };
    286 struct msmfb_img {
    287  uint32_t width;
    288 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    289  uint32_t height;
    290  uint32_t format;
    291 };
    292 #define MSMFB_WRITEBACK_DEQUEUE_BLOCKING 0x1
    293 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    294 struct msmfb_writeback_data {
    295  struct msmfb_data buf_info;
    296  struct msmfb_img img;
    297 };
    298 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    299 #define MDP_PP_OPS_ENABLE 0x1
    300 #define MDP_PP_OPS_READ 0x2
    301 #define MDP_PP_OPS_WRITE 0x4
    302 #define MDP_PP_OPS_DISABLE 0x8
    303 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    304 #define MDP_PP_IGC_FLAG_ROM0 0x10
    305 #define MDP_PP_IGC_FLAG_ROM1 0x20
    306 #define MDSS_PP_DSPP_CFG 0x000
    307 #define MDSS_PP_SSPP_CFG 0x100
    308 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    309 #define MDSS_PP_LM_CFG 0x200
    310 #define MDSS_PP_WB_CFG 0x300
    311 #define MDSS_PP_ARG_MASK 0x3C00
    312 #define MDSS_PP_ARG_NUM 4
    313 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    314 #define MDSS_PP_ARG_SHIFT 10
    315 #define MDSS_PP_LOCATION_MASK 0x0300
    316 #define MDSS_PP_LOGICAL_MASK 0x00FF
    317 #define MDSS_PP_ADD_ARG(var, arg) ((var) | (0x1 << (MDSS_PP_ARG_SHIFT + (arg))))
    318 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    319 #define PP_ARG(x, var) ((var) & (0x1 << (MDSS_PP_ARG_SHIFT + (x))))
    320 #define PP_LOCAT(var) ((var) & MDSS_PP_LOCATION_MASK)
    321 #define PP_BLOCK(var) ((var) & MDSS_PP_LOGICAL_MASK)
    322 struct mdp_qseed_cfg {
    323 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    324  uint32_t table_num;
    325  uint32_t ops;
    326  uint32_t len;
    327  uint32_t *data;
    328 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    329 };
    330 struct mdp_sharp_cfg {
    331  uint32_t flags;
    332  uint32_t strength;
    333 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    334  uint32_t edge_thr;
    335  uint32_t smooth_thr;
    336  uint32_t noise_thr;
    337 };
    338 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    339 struct mdp_qseed_cfg_data {
    340  uint32_t block;
    341  struct mdp_qseed_cfg qseed_data;
    342 };
    343 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    344 #define MDP_OVERLAY_PP_CSC_CFG 0x1
    345 #define MDP_OVERLAY_PP_QSEED_CFG 0x2
    346 #define MDP_OVERLAY_PP_PA_CFG 0x4
    347 #define MDP_OVERLAY_PP_IGC_CFG 0x8
    348 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    349 #define MDP_OVERLAY_PP_SHARP_CFG 0x10
    350 #define MDP_OVERLAY_PP_HIST_CFG 0x20
    351 #define MDP_OVERLAY_PP_HIST_LUT_CFG 0x40
    352 #define MDP_CSC_FLAG_ENABLE 0x1
    353 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    354 #define MDP_CSC_FLAG_YUV_IN 0x2
    355 #define MDP_CSC_FLAG_YUV_OUT 0x4
    356 struct mdp_csc_cfg {
    357  uint32_t flags;
    358 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    359  uint32_t csc_mv[9];
    360  uint32_t csc_pre_bv[3];
    361  uint32_t csc_post_bv[3];
    362  uint32_t csc_pre_lv[6];
    363 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    364  uint32_t csc_post_lv[6];
    365 };
    366 struct mdp_csc_cfg_data {
    367  uint32_t block;
    368 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    369  struct mdp_csc_cfg csc_data;
    370 };
    371 struct mdp_pa_cfg {
    372  uint32_t flags;
    373 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    374  uint32_t hue_adj;
    375  uint32_t sat_adj;
    376  uint32_t val_adj;
    377  uint32_t cont_adj;
    378 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    379 };
    380 struct mdp_igc_lut_data {
    381  uint32_t block;
    382  uint32_t len, ops;
    383 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    384  uint32_t *c0_c1_data;
    385  uint32_t *c2_data;
    386 };
    387 struct mdp_histogram_cfg {
    388 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    389  uint32_t ops;
    390  uint32_t block;
    391  uint8_t frame_cnt;
    392  uint8_t bit_mask;
    393 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    394  uint16_t num_bins;
    395 };
    396 struct mdp_hist_lut_data {
    397  uint32_t block;
    398 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    399  uint32_t ops;
    400  uint32_t len;
    401  uint32_t *data;
    402 };
    403 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    404 struct mdp_overlay_pp_params {
    405  uint32_t config_ops;
    406  struct mdp_csc_cfg csc_cfg;
    407  struct mdp_qseed_cfg qseed_cfg[2];
    408 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    409  struct mdp_pa_cfg pa_cfg;
    410  struct mdp_igc_lut_data igc_cfg;
    411  struct mdp_sharp_cfg sharp_cfg;
    412  struct mdp_histogram_cfg hist_cfg;
    413 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    414  struct mdp_hist_lut_data hist_lut_cfg;
    415 };
    416 enum mdss_mdp_blend_op {
    417  BLEND_OP_NOT_DEFINED = 0,
    418 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    419  BLEND_OP_OPAQUE,
    420  BLEND_OP_PREMULTIPLIED,
    421  BLEND_OP_COVERAGE,
    422  BLEND_OP_MAX,
    423 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    424 };
    425 struct mdp_overlay {
    426  struct msmfb_img src;
    427  struct mdp_rect src_rect;
    428 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    429  struct mdp_rect dst_rect;
    430  uint32_t z_order;
    431  uint32_t is_fg;
    432  uint32_t alpha;
    433 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    434  uint32_t blend_op;
    435  uint32_t transp_mask;
    436  uint32_t flags;
    437  uint32_t id;
    438 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    439  uint32_t user_data[7];
    440  uint8_t horz_deci;
    441  uint8_t vert_deci;
    442  struct mdp_overlay_pp_params overlay_pp_cfg;
    443 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    444 };
    445 struct msmfb_overlay_3d {
    446  uint32_t is_3d;
    447  uint32_t width;
    448 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    449  uint32_t height;
    450 };
    451 struct msmfb_overlay_blt {
    452  uint32_t enable;
    453 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    454  uint32_t offset;
    455  uint32_t width;
    456  uint32_t height;
    457  uint32_t bpp;
    458 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    459 };
    460 struct mdp_histogram {
    461  uint32_t frame_cnt;
    462  uint32_t bin_cnt;
    463 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    464  uint32_t *r;
    465  uint32_t *g;
    466  uint32_t *b;
    467 };
    468 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    469 enum {
    470  DISPLAY_MISR_EDP,
    471  DISPLAY_MISR_DSI0,
    472  DISPLAY_MISR_DSI1,
    473 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    474  DISPLAY_MISR_HDMI,
    475  DISPLAY_MISR_LCDC,
    476  DISPLAY_MISR_ATV,
    477  DISPLAY_MISR_DSI_CMD,
    478 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    479  DISPLAY_MISR_MAX
    480 };
    481 enum {
    482  MISR_OP_NONE,
    483 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    484  MISR_OP_SFM,
    485  MISR_OP_MFM,
    486  MISR_OP_BM,
    487  MISR_OP_MAX
    488 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    489 };
    490 struct mdp_misr {
    491  uint32_t block_id;
    492  uint32_t frame_count;
    493 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    494  uint32_t crc_op_mode;
    495  uint32_t crc_value[32];
    496 };
    497 enum {
    498 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    499  MDP_BLOCK_RESERVED = 0,
    500  MDP_BLOCK_OVERLAY_0,
    501  MDP_BLOCK_OVERLAY_1,
    502  MDP_BLOCK_VG_1,
    503 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    504  MDP_BLOCK_VG_2,
    505  MDP_BLOCK_RGB_1,
    506  MDP_BLOCK_RGB_2,
    507  MDP_BLOCK_DMA_P,
    508 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    509  MDP_BLOCK_DMA_S,
    510  MDP_BLOCK_DMA_E,
    511  MDP_BLOCK_OVERLAY_2,
    512  MDP_LOGICAL_BLOCK_DISP_0 = 0x10,
    513 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    514  MDP_LOGICAL_BLOCK_DISP_1,
    515  MDP_LOGICAL_BLOCK_DISP_2,
    516  MDP_BLOCK_MAX,
    517 };
    518 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    519 struct mdp_histogram_start_req {
    520  uint32_t block;
    521  uint8_t frame_cnt;
    522  uint8_t bit_mask;
    523 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    524  uint16_t num_bins;
    525 };
    526 struct mdp_histogram_data {
    527  uint32_t block;
    528 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    529  uint32_t bin_cnt;
    530  uint32_t *c0;
    531  uint32_t *c1;
    532  uint32_t *c2;
    533 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    534  uint32_t *extra_info;
    535 };
    536 struct mdp_pcc_coeff {
    537  uint32_t c, r, g, b, rr, gg, bb, rg, gb, rb, rgb_0, rgb_1;
    538 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    539 };
    540 struct mdp_pcc_cfg_data {
    541  uint32_t block;
    542  uint32_t ops;
    543 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    544  struct mdp_pcc_coeff r, g, b;
    545 };
    546 #define MDP_GAMUT_TABLE_NUM 8
    547 enum {
    548 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    549  mdp_lut_igc,
    550  mdp_lut_pgc,
    551  mdp_lut_hist,
    552  mdp_lut_max,
    553 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    554 };
    555 struct mdp_ar_gc_lut_data {
    556  uint32_t x_start;
    557  uint32_t slope;
    558 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    559  uint32_t offset;
    560 };
    561 struct mdp_pgc_lut_data {
    562  uint32_t block;
    563 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    564  uint32_t flags;
    565  uint8_t num_r_stages;
    566  uint8_t num_g_stages;
    567  uint8_t num_b_stages;
    568 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    569  struct mdp_ar_gc_lut_data *r_data;
    570  struct mdp_ar_gc_lut_data *g_data;
    571  struct mdp_ar_gc_lut_data *b_data;
    572 };
    573 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    574 struct mdp_lut_cfg_data {
    575  uint32_t lut_type;
    576  union {
    577  struct mdp_igc_lut_data igc_lut_data;
    578 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    579  struct mdp_pgc_lut_data pgc_lut_data;
    580  struct mdp_hist_lut_data hist_lut_data;
    581  } data;
    582 };
    583 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    584 struct mdp_bl_scale_data {
    585  uint32_t min_lvl;
    586  uint32_t scale;
    587 };
    588 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    589 struct mdp_pa_cfg_data {
    590  uint32_t block;
    591  struct mdp_pa_cfg pa_data;
    592 };
    593 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    594 struct mdp_dither_cfg_data {
    595  uint32_t block;
    596  uint32_t flags;
    597  uint32_t g_y_depth;
    598 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    599  uint32_t r_cr_depth;
    600  uint32_t b_cb_depth;
    601 };
    602 struct mdp_gamut_cfg_data {
    603 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    604  uint32_t block;
    605  uint32_t flags;
    606  uint32_t gamut_first;
    607  uint32_t tbl_size[MDP_GAMUT_TABLE_NUM];
    608 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    609  uint16_t *r_tbl[MDP_GAMUT_TABLE_NUM];
    610  uint16_t *g_tbl[MDP_GAMUT_TABLE_NUM];
    611  uint16_t *b_tbl[MDP_GAMUT_TABLE_NUM];
    612 };
    613 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    614 struct mdp_calib_config_data {
    615  uint32_t ops;
    616  uint32_t addr;
    617  uint32_t data;
    618 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    619 };
    620 struct mdp_calib_config_buffer {
    621  uint32_t ops;
    622  uint32_t size;
    623 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    624  uint32_t *buffer;
    625 };
    626 struct mdp_calib_dcm_state {
    627  uint32_t ops;
    628 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    629  uint32_t dcm_state;
    630 };
    631 enum {
    632  DCM_UNINIT,
    633 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    634  DCM_UNBLANK,
    635  DCM_ENTER,
    636  DCM_EXIT,
    637  DCM_BLANK,
    638 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    639 };
    640 #define MDSS_MAX_BL_BRIGHTNESS 255
    641 #define AD_BL_LIN_LEN (MDSS_MAX_BL_BRIGHTNESS + 1)
    642 #define MDSS_AD_MODE_AUTO_BL 0x0
    643 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    644 #define MDSS_AD_MODE_AUTO_STR 0x1
    645 #define MDSS_AD_MODE_TARG_STR 0x3
    646 #define MDSS_AD_MODE_MAN_STR 0x7
    647 #define MDSS_AD_MODE_CALIB 0xF
    648 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    649 #define MDP_PP_AD_INIT 0x10
    650 #define MDP_PP_AD_CFG 0x20
    651 struct mdss_ad_init {
    652  uint32_t asym_lut[33];
    653 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    654  uint32_t color_corr_lut[33];
    655  uint8_t i_control[2];
    656  uint16_t black_lvl;
    657  uint16_t white_lvl;
    658 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    659  uint8_t var;
    660  uint8_t limit_ampl;
    661  uint8_t i_dither;
    662  uint8_t slope_max;
    663 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    664  uint8_t slope_min;
    665  uint8_t dither_ctl;
    666  uint8_t format;
    667  uint8_t auto_size;
    668 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    669  uint16_t frame_w;
    670  uint16_t frame_h;
    671  uint8_t logo_v;
    672  uint8_t logo_h;
    673 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    674  uint32_t bl_lin_len;
    675  uint32_t *bl_lin;
    676  uint32_t *bl_lin_inv;
    677 };
    678 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    679 #define MDSS_AD_BL_CTRL_MODE_EN 1
    680 #define MDSS_AD_BL_CTRL_MODE_DIS 0
    681 struct mdss_ad_cfg {
    682  uint32_t mode;
    683 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    684  uint32_t al_calib_lut[33];
    685  uint16_t backlight_min;
    686  uint16_t backlight_max;
    687  uint16_t backlight_scale;
    688 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    689  uint16_t amb_light_min;
    690  uint16_t filter[2];
    691  uint16_t calib[4];
    692  uint8_t strength_limit;
    693 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    694  uint8_t t_filter_recursion;
    695  uint16_t stab_itr;
    696  uint32_t bl_ctrl_mode;
    697 };
    698 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    699 struct mdss_ad_init_cfg {
    700  uint32_t ops;
    701  union {
    702  struct mdss_ad_init init;
    703 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    704  struct mdss_ad_cfg cfg;
    705  } params;
    706 };
    707 struct mdss_ad_input {
    708 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    709  uint32_t mode;
    710  union {
    711  uint32_t amb_light;
    712  uint32_t strength;
    713 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    714  uint32_t calib_bl;
    715  } in;
    716  uint32_t output;
    717 };
    718 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    719 #define MDSS_CALIB_MODE_BL 0x1
    720 struct mdss_calib_cfg {
    721  uint32_t ops;
    722  uint32_t calib_mask;
    723 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    724 };
    725 enum {
    726  mdp_op_pcc_cfg,
    727  mdp_op_csc_cfg,
    728 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    729  mdp_op_lut_cfg,
    730  mdp_op_qseed_cfg,
    731  mdp_bl_scale_cfg,
    732  mdp_op_pa_cfg,
    733 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    734  mdp_op_dither_cfg,
    735  mdp_op_gamut_cfg,
    736  mdp_op_calib_cfg,
    737  mdp_op_ad_cfg,
    738 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    739  mdp_op_ad_input,
    740  mdp_op_calib_mode,
    741  mdp_op_calib_buffer,
    742  mdp_op_calib_dcm_state,
    743 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    744  mdp_op_max,
    745 };
    746 enum {
    747  WB_FORMAT_NV12,
    748 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    749  WB_FORMAT_RGB_565,
    750  WB_FORMAT_RGB_888,
    751  WB_FORMAT_xRGB_8888,
    752  WB_FORMAT_ARGB_8888,
    753 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    754  WB_FORMAT_BGRA_8888,
    755  WB_FORMAT_BGRX_8888,
    756  WB_FORMAT_ARGB_8888_INPUT_ALPHA
    757 };
    758 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    759 struct msmfb_mdp_pp {
    760  uint32_t op;
    761  union {
    762  struct mdp_pcc_cfg_data pcc_cfg_data;
    763 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    764  struct mdp_csc_cfg_data csc_cfg_data;
    765  struct mdp_lut_cfg_data lut_cfg_data;
    766  struct mdp_qseed_cfg_data qseed_cfg_data;
    767  struct mdp_bl_scale_data bl_scale_data;
    768 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    769  struct mdp_pa_cfg_data pa_cfg_data;
    770  struct mdp_dither_cfg_data dither_cfg_data;
    771  struct mdp_gamut_cfg_data gamut_cfg_data;
    772  struct mdp_calib_config_data calib_cfg;
    773 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    774  struct mdss_ad_init_cfg ad_init_cfg;
    775  struct mdss_calib_cfg mdss_calib_cfg;
    776  struct mdss_ad_input ad_input;
    777  struct mdp_calib_config_buffer calib_buffer;
    778 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    779  struct mdp_calib_dcm_state calib_dcm;
    780  } data;
    781 };
    782 #define FB_METADATA_VIDEO_INFO_CODE_SUPPORT 1
    783 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    784 enum {
    785  metadata_op_none,
    786  metadata_op_base_blend,
    787  metadata_op_frame_rate,
    788 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    789  metadata_op_vic,
    790  metadata_op_wb_format,
    791  metadata_op_get_caps,
    792  metadata_op_crc,
    793 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    794  metadata_op_max
    795 };
    796 struct mdp_blend_cfg {
    797  uint32_t is_premultiplied;
    798 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    799 };
    800 struct mdp_mixer_cfg {
    801  uint32_t writeback_format;
    802  uint32_t alpha;
    803 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    804 };
    805 struct mdss_hw_caps {
    806  uint32_t mdp_rev;
    807  uint8_t rgb_pipes;
    808 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    809  uint8_t vig_pipes;
    810  uint8_t dma_pipes;
    811  uint32_t features;
    812 };
    813 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    814 struct msmfb_metadata {
    815  uint32_t op;
    816  uint32_t flags;
    817  union {
    818 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    819  struct mdp_misr misr_request;
    820  struct mdp_blend_cfg blend_cfg;
    821  struct mdp_mixer_cfg mixer_cfg;
    822  uint32_t panel_frame_rate;
    823 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    824  uint32_t video_info_code;
    825  struct mdss_hw_caps caps;
    826  } data;
    827 };
    828 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    829 #define MDP_MAX_FENCE_FD 32
    830 #define MDP_BUF_SYNC_FLAG_WAIT 1
    831 struct mdp_buf_sync {
    832  uint32_t flags;
    833 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    834  uint32_t acq_fen_fd_cnt;
    835  uint32_t session_id;
    836  int *acq_fen_fd;
    837  int *rel_fen_fd;
    838 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    839  int *retire_fen_fd;
    840 };
    841 struct mdp_async_blit_req_list {
    842  struct mdp_buf_sync sync;
    843 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    844  uint32_t count;
    845  struct mdp_blit_req req[];
    846 };
    847 #define MDP_DISPLAY_COMMIT_OVERLAY 1
    848 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    849 struct mdp_display_commit {
    850  uint32_t flags;
    851  uint32_t wait_for_finish;
    852  struct fb_var_screeninfo var;
    853 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    854 };
    855 struct mdp_page_protection {
    856  uint32_t page_protection;
    857 };
    858 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    859 struct mdp_mixer_info {
    860  int pndx;
    861  int pnum;
    862  int ptype;
    863 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    864  int mixer_num;
    865  int z_order;
    866 };
    867 #define MAX_PIPE_PER_MIXER 4
    868 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    869 struct msmfb_mixer_info_req {
    870  int mixer_num;
    871  int cnt;
    872  struct mdp_mixer_info info[MAX_PIPE_PER_MIXER];
    873 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    874 };
    875 enum {
    876  DISPLAY_SUBSYSTEM_ID,
    877  ROTATOR_SUBSYSTEM_ID,
    878 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    879 };
    880 enum {
    881  MDP_IOMMU_DOMAIN_CP,
    882  MDP_IOMMU_DOMAIN_NS,
    883 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    884 };
    885 enum {
    886  MDP_WRITEBACK_MIRROR_OFF,
    887  MDP_WRITEBACK_MIRROR_ON,
    888 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    889  MDP_WRITEBACK_MIRROR_PAUSE,
    890  MDP_WRITEBACK_MIRROR_RESUME,
    891 };
    892 #endif
    893 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    894 
    895