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 76enum { 77 NOTIFY_UPDATE_START, 78/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 79 NOTIFY_UPDATE_STOP, 80}; 81enum { 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}; 120enum { 121 PMEM_IMG, 122 FB_IMG, 123/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 124}; 125enum { 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) 182struct 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}; 190struct 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 205struct 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}; 211struct 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 222struct 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}; 235struct 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 241struct 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 252struct 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}; 262struct 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 270struct 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 280struct 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}; 287struct 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}; 292struct 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 311struct 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}; 321struct 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}; 326struct 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}; 335struct 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}; 342struct 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}; 352enum { 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}; 361struct 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 */ 379struct 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}; 385struct 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 */ 394struct 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}; 402enum { 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 */ 424struct 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}; 431struct 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}; 441struct 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}; 445struct 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}; 451enum { 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 */ 459struct 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}; 465struct 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}; 477struct 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}; 485struct 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}; 495struct 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}; 500struct 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}; 506struct 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}; 511enum { 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 */ 524struct 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 */ 539enum { 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}; 546struct mdp_blend_cfg { 547 uint32_t is_premultiplied; 548/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 549}; 550struct 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 562struct 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 572struct 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 */ 579struct mdp_page_protection { 580 uint32_t page_protection; 581}; 582struct 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 592struct 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 */ 599enum { 600 DISPLAY_SUBSYSTEM_ID, 601 ROTATOR_SUBSYSTEM_ID, 602}; 603/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 604enum { 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