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 _PSB_DRM_H_
     20 #define _PSB_DRM_H_
     21 #if defined(__linux__) && !defined(__KERNEL__)
     22 #include <stdbool.h>
     23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     24 #include <stdint.h>
     25 #include <linux/types.h>
     26 #include "drm_mode.h"
     27 #endif
     28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     29 #define PSB_PACKAGE_VERSION "5.6.0.1202"
     30 #define DRM_PSB_SAREA_MAJOR 0
     31 #define DRM_PSB_SAREA_MINOR 2
     32 #define PSB_FIXED_SHIFT 16
     33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     34 #define PSB_NUM_PIPE 3
     35 #define DRM_PSB_MEM_MMU TTM_PL_PRIV1
     36 #define DRM_PSB_FLAG_MEM_MMU TTM_PL_FLAG_PRIV1
     37 #define TTM_PL_CI TTM_PL_PRIV0
     38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     39 #define TTM_PL_FLAG_CI TTM_PL_FLAG_PRIV0
     40 #define TTM_PL_RAR TTM_PL_PRIV2
     41 #define TTM_PL_FLAG_RAR TTM_PL_FLAG_PRIV2
     42 #define TTM_PL_IMR TTM_PL_PRIV2
     43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     44 #define TTM_PL_FLAG_IMR TTM_PL_FLAG_PRIV2
     45 #define DRM_PSB_MEM_MMU_TILING TTM_PL_PRIV3
     46 #define DRM_PSB_FLAG_MEM_MMU_TILING TTM_PL_FLAG_PRIV3
     47 typedef enum {
     48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     49  DRM_CMD_SUCCESS,
     50  DRM_CMD_FAILED,
     51  DRM_CMD_HANG
     52 } drm_cmd_status_t;
     53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     54 struct drm_psb_scanout {
     55  uint32_t buffer_id;
     56  uint32_t rotation;
     57  uint32_t stride;
     58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     59  uint32_t depth;
     60  uint32_t width;
     61  uint32_t height;
     62  int32_t transform[3][3];
     63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     64 };
     65 #define DRM_PSB_SAREA_OWNERS 16
     66 #define DRM_PSB_SAREA_OWNER_2D 0
     67 #define DRM_PSB_SAREA_OWNER_3D 1
     68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     69 #define DRM_PSB_SAREA_SCANOUTS 3
     70 struct drm_psb_sarea {
     71  uint32_t major;
     72  uint32_t minor;
     73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     74  uint32_t ctx_owners[DRM_PSB_SAREA_OWNERS];
     75  uint32_t num_scanouts;
     76  struct drm_psb_scanout scanouts[DRM_PSB_SAREA_SCANOUTS];
     77  int planeA_x;
     78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     79  int planeA_y;
     80  int planeA_w;
     81  int planeA_h;
     82  int planeB_x;
     83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     84  int planeB_y;
     85  int planeB_w;
     86  int planeB_h;
     87  uint32_t num_active_scanouts;
     88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     89 };
     90 #define PSB_RELOC_MAGIC 0x67676767
     91 #define PSB_RELOC_SHIFT_MASK 0x0000FFFF
     92 #define PSB_RELOC_SHIFT_SHIFT 0
     93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     94 #define PSB_RELOC_ALSHIFT_MASK 0xFFFF0000
     95 #define PSB_RELOC_ALSHIFT_SHIFT 16
     96 #define PSB_RELOC_OP_OFFSET 0
     97 struct drm_psb_reloc {
     98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     99  uint32_t reloc_op;
    100  uint32_t where;
    101  uint32_t buffer;
    102  uint32_t mask;
    103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    104  uint32_t shift;
    105  uint32_t pre_add;
    106  uint32_t background;
    107  uint32_t dst_buffer;
    108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    109  uint32_t arg0;
    110  uint32_t arg1;
    111 };
    112 #define PSB_GPU_ACCESS_READ (1ULL << 32)
    113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    114 #define PSB_GPU_ACCESS_WRITE (1ULL << 33)
    115 #define PSB_GPU_ACCESS_MASK (PSB_GPU_ACCESS_READ | PSB_GPU_ACCESS_WRITE)
    116 #define PSB_BO_FLAG_COMMAND (1ULL << 52)
    117 #define PSB_ENGINE_2D 2
    118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    119 #define PSB_ENGINE_DECODE 0
    120 #define PSB_ENGINE_VIDEO 0
    121 #define LNC_ENGINE_ENCODE 1
    122 #ifdef MERRIFIELD
    123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    124 #define PSB_NUM_ENGINES 7
    125 #else
    126 #define PSB_NUM_ENGINES 2
    127 #endif
    128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    129 #define VSP_ENGINE_VPP 6
    130 #define _PSB_FENCE_EXE_SHIFT 0
    131 #define _PSB_FENCE_FEEDBACK_SHIFT 4
    132 #define _PSB_FENCE_TYPE_EXE (1 << _PSB_FENCE_EXE_SHIFT)
    133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    134 #define _PSB_FENCE_TYPE_FEEDBACK (1 << _PSB_FENCE_FEEDBACK_SHIFT)
    135 #define PSB_FEEDBACK_OP_VISTEST (1 << 0)
    136 struct drm_psb_extension_rep {
    137  int32_t exists;
    138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    139  uint32_t driver_ioctl_offset;
    140  uint32_t sarea_offset;
    141  uint32_t major;
    142  uint32_t minor;
    143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    144  uint32_t pl;
    145 };
    146 #define DRM_PSB_EXT_NAME_LEN 128
    147 union drm_psb_extension_arg {
    148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    149  char extension[DRM_PSB_EXT_NAME_LEN];
    150  struct drm_psb_extension_rep rep;
    151 };
    152 #define PSB_NOT_FENCE (1 << 0)
    153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    154 #define PSB_MEM_CLFLUSH (1 << 1)
    155 struct psb_validate_req {
    156  uint64_t set_flags;
    157  uint64_t clear_flags;
    158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    159  uint64_t next;
    160  uint64_t presumed_gpu_offset;
    161  uint32_t buffer_handle;
    162  uint32_t presumed_flags;
    163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    164  uint32_t pad64;
    165  uint32_t unfence_flag;
    166 };
    167 struct psb_validate_rep {
    168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    169  uint64_t gpu_offset;
    170  uint32_t placement;
    171  uint32_t fence_type_mask;
    172 };
    173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    174 #define PSB_USE_PRESUMED (1 << 0)
    175 struct psb_validate_arg {
    176  uint64_t handled;
    177  uint64_t ret;
    178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    179  union {
    180  struct psb_validate_req req;
    181  struct psb_validate_rep rep;
    182  } d;
    183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    184 };
    185 #define DRM_PSB_FENCE_NO_USER (1 << 0)
    186 struct psb_ttm_fence_rep {
    187  uint32_t handle;
    188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    189  uint32_t fence_class;
    190  uint32_t fence_type;
    191  uint32_t signaled_types;
    192  uint32_t error;
    193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    194 };
    195 typedef struct drm_psb_cmdbuf_arg {
    196  uint64_t buffer_list;
    197  uint64_t fence_arg;
    198 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    199  uint32_t cmdbuf_handle;
    200  uint32_t cmdbuf_offset;
    201  uint32_t cmdbuf_size;
    202  uint32_t reloc_handle;
    203 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    204  uint32_t reloc_offset;
    205  uint32_t num_relocs;
    206  uint32_t fence_flags;
    207  uint32_t engine;
    208 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    209 } drm_psb_cmdbuf_arg_t;
    210 typedef struct drm_psb_pageflip_arg {
    211  uint32_t flip_offset;
    212  uint32_t stride;
    213 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    214 } drm_psb_pageflip_arg_t;
    215 typedef enum {
    216  LNC_VIDEO_DEVICE_INFO,
    217  LNC_VIDEO_GETPARAM_IMR_INFO,
    218 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    219  LNC_VIDEO_GETPARAM_CI_INFO,
    220  LNC_VIDEO_FRAME_SKIP,
    221  IMG_VIDEO_DECODE_STATUS,
    222  IMG_VIDEO_NEW_CONTEXT,
    223 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    224  IMG_VIDEO_RM_CONTEXT,
    225  IMG_VIDEO_UPDATE_CONTEXT,
    226  IMG_VIDEO_MB_ERROR,
    227  IMG_VIDEO_SET_DISPLAYING_FRAME,
    228 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    229  IMG_VIDEO_GET_DISPLAYING_FRAME,
    230  IMG_VIDEO_GET_HDMI_STATE,
    231  IMG_VIDEO_SET_HDMI_STATE,
    232  PNW_VIDEO_QUERY_ENTRY,
    233 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    234  IMG_DISPLAY_SET_WIDI_EXT_STATE,
    235  IMG_VIDEO_IED_STATE
    236 } lnc_getparam_key_t;
    237 struct drm_lnc_video_getparam_arg {
    238 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    239  uint64_t key;
    240  uint64_t arg;
    241  uint64_t value;
    242 };
    243 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    244 struct drm_video_displaying_frameinfo {
    245  uint32_t buf_handle;
    246  uint32_t width;
    247  uint32_t height;
    248 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    249  uint32_t size;
    250  uint32_t format;
    251  uint32_t luma_stride;
    252  uint32_t chroma_u_stride;
    253 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    254  uint32_t chroma_v_stride;
    255  uint32_t luma_offset;
    256  uint32_t chroma_u_offset;
    257  uint32_t chroma_v_offset;
    258 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    259  uint32_t reserved;
    260 };
    261 struct drm_psb_vistest {
    262  uint32_t vt[8];
    263 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    264 };
    265 struct drm_psb_sizes_arg {
    266  uint32_t ta_mem_size;
    267  uint32_t mmu_size;
    268 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    269  uint32_t pds_size;
    270  uint32_t rastgeom_size;
    271  uint32_t tt_size;
    272  uint32_t vram_size;
    273 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    274 };
    275 struct drm_psb_hist_status_arg {
    276  uint32_t buf[32];
    277 };
    278 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    279 struct drm_psb_dpst_lut_arg {
    280  uint8_t lut[256];
    281  int output_id;
    282 };
    283 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    284 struct mrst_timing_info {
    285  uint16_t pixel_clock;
    286  uint8_t hactive_lo;
    287  uint8_t hblank_lo;
    288 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    289  uint8_t hblank_hi:4;
    290  uint8_t hactive_hi:4;
    291  uint8_t vactive_lo;
    292  uint8_t vblank_lo;
    293 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    294  uint8_t vblank_hi:4;
    295  uint8_t vactive_hi:4;
    296  uint8_t hsync_offset_lo;
    297  uint8_t hsync_pulse_width_lo;
    298 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    299  uint8_t vsync_pulse_width_lo:4;
    300  uint8_t vsync_offset_lo:4;
    301  uint8_t vsync_pulse_width_hi:2;
    302  uint8_t vsync_offset_hi:2;
    303 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    304  uint8_t hsync_pulse_width_hi:2;
    305  uint8_t hsync_offset_hi:2;
    306  uint8_t width_mm_lo;
    307  uint8_t height_mm_lo;
    308 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    309  uint8_t height_mm_hi:4;
    310  uint8_t width_mm_hi:4;
    311  uint8_t hborder;
    312  uint8_t vborder;
    313 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    314  uint8_t unknown0:1;
    315  uint8_t hsync_positive:1;
    316  uint8_t vsync_positive:1;
    317  uint8_t separate_sync:2;
    318 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    319  uint8_t stereo:1;
    320  uint8_t unknown6:1;
    321  uint8_t interlaced:1;
    322 } __attribute__((packed));
    323 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    324 struct gct_r10_timing_info {
    325  uint16_t pixel_clock;
    326  uint32_t hactive_lo:8;
    327  uint32_t hactive_hi:4;
    328 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    329  uint32_t hblank_lo:8;
    330  uint32_t hblank_hi:4;
    331  uint32_t hsync_offset_lo:8;
    332  uint16_t hsync_offset_hi:2;
    333 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    334  uint16_t hsync_pulse_width_lo:8;
    335  uint16_t hsync_pulse_width_hi:2;
    336  uint16_t hsync_positive:1;
    337  uint16_t rsvd_1:3;
    338 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    339  uint8_t vactive_lo:8;
    340  uint16_t vactive_hi:4;
    341  uint16_t vblank_lo:8;
    342  uint16_t vblank_hi:4;
    343 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    344  uint16_t vsync_offset_lo:4;
    345  uint16_t vsync_offset_hi:2;
    346  uint16_t vsync_pulse_width_lo:4;
    347  uint16_t vsync_pulse_width_hi:2;
    348 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    349  uint16_t vsync_positive:1;
    350  uint16_t rsvd_2:3;
    351 } __attribute__((packed));
    352 struct mrst_panel_descriptor_v1 {
    353 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    354  uint32_t Panel_Port_Control;
    355  uint32_t Panel_Power_On_Sequencing;
    356  uint32_t Panel_Power_Off_Sequencing;
    357  uint32_t Panel_Power_Cycle_Delay_and_Reference_Divisor;
    358 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    359  struct mrst_timing_info DTD;
    360  uint16_t Panel_Backlight_Inverter_Descriptor;
    361  uint16_t Panel_MIPI_Display_Descriptor;
    362 } __attribute__((packed));
    363 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    364 struct mrst_panel_descriptor_v2 {
    365  uint32_t Panel_Port_Control;
    366  uint32_t Panel_Power_On_Sequencing;
    367  uint32_t Panel_Power_Off_Sequencing;
    368 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    369  uint8_t Panel_Power_Cycle_Delay_and_Reference_Divisor;
    370  struct mrst_timing_info DTD;
    371  uint16_t Panel_Backlight_Inverter_Descriptor;
    372  uint8_t Panel_Initial_Brightness;
    373 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    374  uint16_t Panel_MIPI_Display_Descriptor;
    375 } __attribute__((packed));
    376 union mrst_panel_rx {
    377  struct {
    378 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    379  uint16_t NumberOfLanes:2;
    380  uint16_t MaxLaneFreq:3;
    381  uint16_t SupportedVideoTransferMode:2;
    382  uint16_t HSClkBehavior:1;
    383 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    384  uint16_t DuoDisplaySupport:1;
    385  uint16_t ECC_ChecksumCapabilities:1;
    386  uint16_t BidirectionalCommunication:1;
    387  uint16_t Rsvd:5;
    388 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    389  } panelrx;
    390  uint16_t panel_receiver;
    391 } __attribute__((packed));
    392 struct gct_ioctl_arg {
    393 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    394  uint8_t bpi;
    395  uint8_t pt;
    396  struct mrst_timing_info DTD;
    397  uint32_t Panel_Port_Control;
    398 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    399  uint32_t PP_On_Sequencing;
    400  uint32_t PP_Off_Sequencing;
    401  uint32_t PP_Cycle_Delay;
    402  uint16_t Panel_Backlight_Inverter_Descriptor;
    403 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    404  uint16_t Panel_MIPI_Display_Descriptor;
    405 } __attribute__((packed));
    406 struct gct_timing_desc_block {
    407  uint16_t clock;
    408 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    409  uint16_t hactive:12;
    410  uint16_t hblank:12;
    411  uint16_t hsync_start:10;
    412  uint16_t hsync_end:10;
    413 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    414  uint16_t hsync_polarity:1;
    415  uint16_t h_reversed:3;
    416  uint16_t vactive:12;
    417  uint16_t vblank:12;
    418 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    419  uint16_t vsync_start:6;
    420  uint16_t vsync_end:6;
    421  uint16_t vsync_polarity:1;
    422  uint16_t v_reversed:3;
    423 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    424 } __packed;
    425 struct gct_display_desc_block {
    426  uint8_t type:2;
    427  uint8_t pxiel_format:4;
    428 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    429  uint8_t mode:2;
    430  uint8_t frame_rate:6;
    431  uint8_t reserved:2;
    432 } __attribute__((packed));
    433 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    434 struct gct_dsi_desc_block {
    435  uint8_t lane_count:2;
    436  uint8_t lane_frequency:3;
    437  uint8_t transfer_mode:2;
    438 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    439  uint8_t hs_clock_behavior:1;
    440  uint8_t duo_display_support:1;
    441  uint8_t ecc_caps:1;
    442  uint8_t bdirect_support:1;
    443 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    444  uint8_t reversed:5;
    445 } __packed;
    446 struct gct_bkl_desc_block {
    447  uint16_t frequency;
    448 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    449  uint8_t max_brightness:7;
    450  uint8_t polarity:1;
    451 } __packed;
    452 struct gct_r20_clock_desc {
    453 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    454  uint8_t pre_divisor:2;
    455  uint16_t divisor:9;
    456  uint8_t post_divisor:4;
    457  uint8_t pll_bypass:1;
    458 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    459  uint8_t cck_clock_divisor:1;
    460  uint8_t reserved:7;
    461 } __packed;
    462 struct gct_r20_panel_info {
    463 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    464  uint16_t width;
    465  uint16_t height;
    466 } __packed;
    467 struct gct_r20_panel_mode {
    468 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    469  uint8_t mode:1;
    470  uint16_t reserved:15;
    471 } __packed;
    472 struct gct_r20_dsi_desc {
    473 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    474  uint8_t num_dsi_lanes:2;
    475  uint16_t reserved:14;
    476 } __packed;
    477 struct gct_r20_panel_desc {
    478 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    479  uint8_t panel_name[16];
    480  struct gct_timing_desc_block timing;
    481  struct gct_r20_clock_desc clock_desc;
    482  struct gct_r20_panel_info panel_info;
    483 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    484  struct gct_r20_panel_mode panel_mode;
    485  struct gct_r20_dsi_desc dsi_desc;
    486  uint32_t early_init_seq;
    487  uint32_t late_init_seq;
    488 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    489 } __packed;
    490 struct gct_r11_panel_desc {
    491  uint8_t panel_name[16];
    492  struct gct_timing_desc_block timing;
    493 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    494  struct gct_display_desc_block display;
    495  struct gct_dsi_desc_block dsi;
    496  struct gct_bkl_desc_block bkl;
    497  uint32_t early_init_seq;
    498 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    499  uint32_t late_init_seq;
    500 } __packed;
    501 struct gct_r10_panel_desc {
    502  struct gct_timing_desc_block timing;
    503 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    504  struct gct_display_desc_block display;
    505  struct gct_dsi_desc_block dsi;
    506  struct gct_bkl_desc_block bkl;
    507  uint32_t early_init_seq;
    508 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    509  uint32_t late_init_seq;
    510  uint8_t reversed[4];
    511 } __packed;
    512 struct intel_mid_vbt {
    513 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    514  char signature[4];
    515  uint8_t revision;
    516  uint8_t checksum;
    517  uint16_t size;
    518 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    519  uint8_t num_of_panel_desc;
    520  uint8_t primary_panel_idx;
    521  uint8_t secondary_panel_idx;
    522  uint8_t splash_flag;
    523 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    524  uint8_t reserved[4];
    525  void *panel_descs;
    526 } __packed;
    527 struct mrst_vbt {
    528 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    529  char Signature[4];
    530  uint8_t Revision;
    531  uint8_t Size;
    532  uint8_t Checksum;
    533 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    534  void *mrst_gct;
    535 } __attribute__ ((packed));
    536 struct mrst_gct_v1 {
    537  union {
    538 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    539  struct {
    540  uint8_t PanelType:4;
    541  uint8_t BootPanelIndex:2;
    542  uint8_t BootMIPI_DSI_RxIndex:2;
    543 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    544  } PD;
    545  uint8_t PanelDescriptor;
    546  };
    547  struct mrst_panel_descriptor_v1 panel[4];
    548 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    549  union mrst_panel_rx panelrx[4];
    550 } __attribute__((packed));
    551 struct mrst_gct_v2 {
    552  union {
    553 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    554  struct {
    555  uint8_t PanelType:4;
    556  uint8_t BootPanelIndex:2;
    557  uint8_t BootMIPI_DSI_RxIndex:2;
    558 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    559  } PD;
    560  uint8_t PanelDescriptor;
    561  };
    562  struct mrst_panel_descriptor_v2 panel[4];
    563 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    564  union mrst_panel_rx panelrx[4];
    565 } __attribute__((packed));
    566 #define PSB_DC_CRTC_SAVE 0x01
    567 #define PSB_DC_CRTC_RESTORE 0x02
    568 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    569 #define PSB_DC_OUTPUT_SAVE 0x04
    570 #define PSB_DC_OUTPUT_RESTORE 0x08
    571 #define PSB_DC_CRTC_MASK 0x03
    572 #define PSB_DC_OUTPUT_MASK 0x0C
    573 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    574 struct drm_psb_dc_state_arg {
    575  uint32_t flags;
    576  uint32_t obj_id;
    577 };
    578 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    579 struct drm_psb_mode_operation_arg {
    580  uint32_t obj_id;
    581  uint16_t operation;
    582  struct drm_mode_modeinfo mode;
    583 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    584  void *data;
    585 };
    586 struct drm_psb_stolen_memory_arg {
    587  uint32_t base;
    588 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    589  uint32_t size;
    590 };
    591 #define REGRWBITS_PFIT_CONTROLS (1 << 0)
    592 #define REGRWBITS_PFIT_AUTOSCALE_RATIOS (1 << 1)
    593 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    594 #define REGRWBITS_PFIT_PROGRAMMED_SCALE_RATIOS (1 << 2)
    595 #define REGRWBITS_PIPEASRC (1 << 3)
    596 #define REGRWBITS_PIPEBSRC (1 << 4)
    597 #define REGRWBITS_VTOTAL_A (1 << 5)
    598 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    599 #define REGRWBITS_VTOTAL_B (1 << 6)
    600 #define REGRWBITS_DSPACNTR (1 << 8)
    601 #define REGRWBITS_DSPBCNTR (1 << 9)
    602 #define REGRWBITS_DSPCCNTR (1 << 10)
    603 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    604 #define REGRWBITS_SPRITE_UPDATE (1 << 11)
    605 #define REGRWBITS_PIPEASTAT (1 << 12)
    606 #define REGRWBITS_INT_MASK (1 << 13)
    607 #define REGRWBITS_INT_ENABLE (1 << 14)
    608 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    609 #define REGRWBITS_DISPLAY_ALL (1 << 15)
    610 #define OV_REGRWBITS_OVADD (1 << 0)
    611 #define OV_REGRWBITS_OGAM_ALL (1 << 1)
    612 #define OVC_REGRWBITS_OVADD (1 << 2)
    613 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    614 #define OVC_REGRWBITS_OGAM_ALL (1 << 3)
    615 #define OV_REGRWBITS_WAIT_FLIP (1 << 4)
    616 #define OVC_REGRWBITS_WAIT_FLIP (1 << 5)
    617 #define OVSTATUS_REGRBIT_OVR_UPDT (1 << 6)
    618 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    619 #define SPRITE_UPDATE_SURFACE (0x00000001UL)
    620 #define SPRITE_UPDATE_CONTROL (0x00000002UL)
    621 #define SPRITE_UPDATE_POSITION (0x00000004UL)
    622 #define SPRITE_UPDATE_SIZE (0x00000008UL)
    623 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    624 #define SPRITE_UPDATE_WAIT_VBLANK (0X00000010UL)
    625 #define SPRITE_UPDATE_CONSTALPHA (0x00000020UL)
    626 #define SPRITE_UPDATE_ALL (0x0000003fUL)
    627 #define VSYNC_ENABLE (1 << 0)
    628 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    629 #define VSYNC_DISABLE (1 << 1)
    630 #define VSYNC_WAIT (1 << 2)
    631 #define GET_VSYNC_COUNT (1 << 3)
    632 struct intel_overlay_context {
    633 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    634  uint32_t index;
    635  uint32_t pipe;
    636  uint32_t ovadd;
    637 };
    638 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    639 struct intel_sprite_context {
    640  uint32_t update_mask;
    641  uint32_t index;
    642  uint32_t pipe;
    643 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    644  uint32_t cntr;
    645  uint32_t linoff;
    646  uint32_t stride;
    647  uint32_t pos;
    648 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    649  uint32_t size;
    650  uint32_t keyminval;
    651  uint32_t keymask;
    652  uint32_t surf;
    653 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    654  uint32_t keymaxval;
    655  uint32_t tileoff;
    656  uint32_t contalpa;
    657 };
    658 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    659 #define INTEL_SPRITE_PLANE_NUM 3
    660 #define INTEL_OVERLAY_PLANE_NUM 2
    661 #define INTEL_DISPLAY_PLANE_NUM 5
    662 #define INTEL_MDFLD_SPRITE_PLANE_NUM 3
    663 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    664 #define INTEL_MDFLD_OVERLAY_PLANE_NUM 2
    665 #define INTEL_MDFLD_CURSOR_PLANE_NUM 3
    666 #define INTEL_MDFLD_DISPLAY_PLANE_NUM 8
    667 #define INTEL_MDFLD_DISPLAY_PIPE_NUM 3
    668 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    669 #define INTEL_CTP_SPRITE_PLANE_NUM 2
    670 #define INTEL_CTP_OVERLAY_PLANE_NUM 1
    671 #define INTEL_CTP_CURSOR_PLANE_NUM 2
    672 #define INTEL_CTP_DISPLAY_PLANE_NUM 5
    673 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    674 #define INTEL_CTP_DISPLAY_PIPE_NUM 2
    675 #define INVALID_INDEX 0xffffffff
    676 struct mdfld_plane_contexts {
    677  uint32_t active_primaries;
    678 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    679  uint32_t active_sprites;
    680  uint32_t active_overlays;
    681  struct intel_sprite_context primary_contexts[INTEL_SPRITE_PLANE_NUM];
    682  struct intel_sprite_context sprite_contexts[INTEL_SPRITE_PLANE_NUM];
    683 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    684  struct intel_overlay_context overlay_contexts[INTEL_OVERLAY_PLANE_NUM];
    685 };
    686 struct drm_psb_vsync_set_arg {
    687  uint32_t vsync_operation_mask;
    688 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    689  struct {
    690  uint32_t pipe;
    691  int vsync_pipe;
    692  int vsync_count;
    693 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    694  uint64_t timestamp;
    695  } vsync;
    696 };
    697 struct drm_psb_dc_info {
    698 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    699  uint32_t pipe_count;
    700  uint32_t primary_plane_count;
    701  uint32_t sprite_plane_count;
    702  uint32_t overlay_plane_count;
    703 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    704  uint32_t cursor_plane_count;
    705 };
    706 struct drm_psb_register_rw_arg {
    707  uint32_t b_force_hw_on;
    708 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    709  uint32_t display_read_mask;
    710  uint32_t display_write_mask;
    711  struct {
    712  uint32_t pfit_controls;
    713 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    714  uint32_t pfit_autoscale_ratios;
    715  uint32_t pfit_programmed_scale_ratios;
    716  uint32_t pipeasrc;
    717  uint32_t pipebsrc;
    718 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    719  uint32_t vtotal_a;
    720  uint32_t vtotal_b;
    721  uint32_t dspcntr_a;
    722  uint32_t dspcntr_b;
    723 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    724  uint32_t pipestat_a;
    725  uint32_t int_mask;
    726  uint32_t int_enable;
    727  } display;
    728 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    729  uint32_t overlay_read_mask;
    730  uint32_t overlay_write_mask;
    731  struct {
    732  uint32_t OVADD;
    733 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    734  uint32_t OGAMC0;
    735  uint32_t OGAMC1;
    736  uint32_t OGAMC2;
    737  uint32_t OGAMC3;
    738 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    739  uint32_t OGAMC4;
    740  uint32_t OGAMC5;
    741  uint32_t IEP_ENABLED;
    742  uint32_t IEP_BLE_MINMAX;
    743 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    744  uint32_t IEP_BSSCC_CONTROL;
    745  uint32_t index;
    746  uint32_t b_wait_vblank;
    747  uint32_t b_wms;
    748 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    749  uint32_t buffer_handle;
    750  } overlay;
    751  uint32_t vsync_operation_mask;
    752  struct {
    753 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    754  uint32_t pipe;
    755  int vsync_pipe;
    756  int vsync_count;
    757  uint64_t timestamp;
    758 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    759  } vsync;
    760  uint32_t sprite_enable_mask;
    761  uint32_t sprite_disable_mask;
    762  struct {
    763 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    764  uint32_t dspa_control;
    765  uint32_t dspa_key_value;
    766  uint32_t dspa_key_mask;
    767  uint32_t dspc_control;
    768 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    769  uint32_t dspc_stride;
    770  uint32_t dspc_position;
    771  uint32_t dspc_linear_offset;
    772  uint32_t dspc_size;
    773 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    774  uint32_t dspc_surface;
    775  } sprite;
    776  uint32_t subpicture_enable_mask;
    777  uint32_t subpicture_disable_mask;
    778 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    779  struct {
    780  uint32_t CursorADDR;
    781  uint32_t xPos;
    782  uint32_t yPos;
    783 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    784  uint32_t CursorSize;
    785  } cursor;
    786  uint32_t cursor_enable_mask;
    787  uint32_t cursor_disable_mask;
    788 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    789  uint32_t plane_enable_mask;
    790  uint32_t plane_disable_mask;
    791  uint32_t get_plane_state_mask;
    792  struct {
    793 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    794  uint32_t type;
    795  uint32_t index;
    796  uint32_t ctx;
    797  } plane;
    798 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    799 };
    800 enum {
    801  PSB_DC_PLANE_ENABLED,
    802  PSB_DC_PLANE_DISABLED,
    803 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    804 };
    805 enum {
    806  PSB_GTT_MAP_TYPE_MEMINFO = 0,
    807  PSB_GTT_MAP_TYPE_BCD,
    808 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    809  PSB_GTT_MAP_TYPE_BCD_INFO,
    810  PSB_GTT_MAP_TYPE_VIRTUAL,
    811 };
    812 struct psb_gtt_mapping_arg {
    813 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    814  uint32_t type;
    815  void *hKernelMemInfo;
    816  uint32_t offset_pages;
    817  uint32_t page_align;
    818 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    819  uint32_t bcd_device_id;
    820  uint32_t bcd_buffer_id;
    821  uint32_t bcd_buffer_count;
    822  uint32_t bcd_buffer_stride;
    823 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    824  uint32_t vaddr;
    825  uint32_t size;
    826 };
    827 struct drm_psb_getpageaddrs_arg {
    828 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    829  uint64_t handle;
    830  uint64_t page_addrs;
    831  uint64_t gtt_offset;
    832 };
    833 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    834 #define MAX_SLICES_PER_PICTURE 72
    835 struct psb_msvdx_mb_region {
    836  uint32_t start;
    837  uint32_t end;
    838 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    839 };
    840 typedef struct drm_psb_msvdx_decode_status {
    841  uint32_t num_region;
    842  struct psb_msvdx_mb_region mb_regions[MAX_SLICES_PER_PICTURE];
    843 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    844 } drm_psb_msvdx_decode_status_t;
    845 enum {
    846  IDLE_CTRL_ENABLE = 0,
    847  IDLE_CTRL_DISABLE,
    848 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    849  IDLE_CTRL_ENTER,
    850  IDLE_CTRL_EXIT
    851 };
    852 struct drm_psb_idle_ctrl {
    853 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    854  uint32_t cmd;
    855  uint32_t value;
    856 };
    857 #define DRM_PSB_KMS_OFF 0x00
    858 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    859 #define DRM_PSB_KMS_ON 0x01
    860 #define DRM_PSB_VT_LEAVE 0x02
    861 #define DRM_PSB_VT_ENTER 0x03
    862 #define DRM_PSB_EXTENSION 0x06
    863 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    864 #define DRM_PSB_SIZES 0x07
    865 #define DRM_PSB_FUSE_REG 0x08
    866 #define DRM_PSB_VBT 0x09
    867 #define DRM_PSB_DC_STATE 0x0A
    868 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    869 #define DRM_PSB_ADB 0x0B
    870 #define DRM_PSB_MODE_OPERATION 0x0C
    871 #define DRM_PSB_STOLEN_MEMORY 0x0D
    872 #define DRM_PSB_REGISTER_RW 0x0E
    873 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    874 #define DRM_PSB_GTT_MAP 0x0F
    875 #define DRM_PSB_GTT_UNMAP 0x10
    876 #define DRM_PSB_GETPAGEADDRS 0x11
    877 #define DRM_PVR_RESERVED1 0x12
    878 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    879 #define DRM_PVR_RESERVED2 0x13
    880 #define DRM_PVR_RESERVED3 0x14
    881 #define DRM_PVR_RESERVED4 0x15
    882 #define DRM_PVR_RESERVED5 0x16
    883 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    884 #define DRM_PSB_HIST_ENABLE 0x17
    885 #define DRM_PSB_HIST_STATUS 0x18
    886 #define DRM_PSB_UPDATE_GUARD 0x19
    887 #define DRM_PSB_INIT_COMM 0x1A
    888 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    889 #define DRM_PSB_DPST 0x1B
    890 #define DRM_PSB_GAMMA 0x1C
    891 #define DRM_PSB_DPST_BL 0x1D
    892 #define DRM_PVR_RESERVED6 0x1E
    893 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    894 #define DRM_PSB_GET_PIPE_FROM_CRTC_ID 0x1F
    895 #define DRM_PSB_DPU_QUERY 0x20
    896 #define DRM_PSB_DPU_DSR_ON 0x21
    897 #define DRM_PSB_DPU_DSR_OFF 0x22
    898 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    899 #define DRM_PSB_HDMI_FB_CMD 0x23
    900 #define DRM_PSB_QUERY_HDCP 0x24
    901 #define DRM_PSB_VALIDATE_HDCP_KSV 0x25
    902 #define DRM_PSB_GET_HDCP_STATUS 0x26
    903 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    904 #define DRM_PSB_ENABLE_HDCP 0x27
    905 #define DRM_PSB_DISABLE_HDCP 0x28
    906 #define DRM_PSB_GET_HDCP_LINK_STATUS 0x2b
    907 #define DRM_PSB_ENABLE_HDCP_REPEATER 0x2c
    908 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    909 #define DRM_PSB_DISABLE_HDCP_REPEATER 0x2d
    910 #define DRM_PSB_HDCP_REPEATER_PRESENT 0x2e
    911 #define DRM_PSB_CSC_GAMMA_SETTING 0x29
    912 #define DRM_PSB_SET_CSC 0x2a
    913 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    914 #define DRM_PSB_ENABLE_IED_SESSION 0x30
    915 #define DRM_PSB_DISABLE_IED_SESSION 0x31
    916 #define DRM_PSB_VSYNC_SET 0x32
    917 #define DRM_PSB_HDCP_DISPLAY_IED_OFF 0x33
    918 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    919 #define DRM_PSB_HDCP_DISPLAY_IED_ON 0x34
    920 #define DRM_PSB_QUERY_HDCP_DISPLAY_IED_CAPS 0x35
    921 #define DRM_PSB_DPST_LEVEL 0x36
    922 #define DRM_PSB_GET_DC_INFO 0x37
    923 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    924 #define DRM_PSB_PANEL_QUERY 0x38
    925 #define DRM_PSB_IDLE_CTRL 0x39
    926 #define DRM_PSB_HDMITEST 0x3A
    927 #define HT_READ 1
    928 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    929 #define HT_WRITE 2
    930 #define HT_FORCEON 4
    931 typedef struct tagHDMITESTREGREADWRITE {
    932  unsigned int reg;
    933 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    934  unsigned int data;
    935  int mode;
    936 } drm_psb_hdmireg_t, *drm_psb_hdmireg_p;
    937 #define DRM_PSB_PANEL_ORIENTATION 0x3B
    938 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    939 #define DRM_PSB_UPDATE_CURSOR_POS 0x3C
    940 #define DRM_OEM_RESERVED_START 0x40
    941 #define DRM_OEM_RESERVED_END 0x4F
    942 #define DRM_PSB_TTM_START 0x50
    943 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    944 #define DRM_PSB_TTM_END 0x5F
    945 #ifdef PDUMP
    946 #define DRM_PSB_CMDBUF (PVR_DRM_DBGDRV_CMD + 1)
    947 #else
    948 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    949 #define DRM_PSB_CMDBUF (DRM_PSB_TTM_START)
    950 #endif
    951 #define DRM_PSB_SCENE_UNREF (DRM_PSB_CMDBUF + 1)
    952 #define DRM_PSB_PLACEMENT_OFFSET (DRM_PSB_SCENE_UNREF + 1)
    953 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    954 #define DRM_PSB_DSR_ENABLE 0xfffffffe
    955 #define DRM_PSB_DSR_DISABLE 0xffffffff
    956 struct drm_psb_csc_matrix {
    957  int pipe;
    958 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    959  int64_t matrix[9];
    960 }__attribute__((packed));
    961 struct psb_drm_dpu_rect {
    962  int x, y;
    963 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    964  int width, height;
    965 };
    966 struct drm_psb_drv_dsr_off_arg {
    967  int screen;
    968 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    969  struct psb_drm_dpu_rect damage_rect;
    970 };
    971 struct drm_psb_dev_info_arg {
    972  uint32_t num_use_attribute_registers;
    973 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    974 };
    975 #define DRM_PSB_DEVINFO 0x01
    976 #define PSB_MODE_OPERATION_MODE_VALID 0x01
    977 #define PSB_MODE_OPERATION_SET_DC_BASE 0x02
    978 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    979 struct drm_psb_get_pipe_from_crtc_id_arg {
    980  uint32_t crtc_id;
    981  uint32_t pipe;
    982 };
    983 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    984 #define DRM_PSB_DISP_SAVE_HDMI_FB_HANDLE 1
    985 #define DRM_PSB_DISP_GET_HDMI_FB_HANDLE 2
    986 #define DRM_PSB_DISP_INIT_HDMI_FLIP_CHAIN 1
    987 #define DRM_PSB_DISP_QUEUE_BUFFER 2
    988 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    989 #define DRM_PSB_DISP_DEQUEUE_BUFFER 3
    990 #define DRM_PSB_DISP_PLANEB_DISABLE 4
    991 #define DRM_PSB_DISP_PLANEB_ENABLE 5
    992 #define DRM_PSB_HDMI_OSPM_ISLAND_DOWN 6
    993 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    994 #define DRM_PSB_HDMI_NOTIFY_HOTPLUG_TO_AUDIO 7
    995 typedef enum {
    996  GAMMA,
    997  CSC,
    998 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    999  GAMMA_INITIA,
   1000  GAMMA_SETTING,
   1001  GAMMA_REG_SETTING,
   1002  CSC_INITIA,
   1003 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   1004  CSC_CHROME_SETTING,
   1005  CSC_SETTING,
   1006  CSC_REG_SETTING
   1007 } setting_type;
   1008 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   1009 typedef enum {
   1010  GAMMA_05 = 1,
   1011  GAMMA_20,
   1012  GAMMA_05_20,
   1013 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   1014  GAMMA_20_05,
   1015  GAMMA_10
   1016 } gamma_mode;
   1017 #define CSC_REG_COUNT 6
   1018 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   1019 #define CHROME_COUNT 16
   1020 #define CSC_COUNT 9
   1021 struct csc_setting {
   1022  uint32_t pipe;
   1023 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   1024  setting_type type;
   1025  bool enable_state;
   1026  uint32_t data_len;
   1027  union {
   1028 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   1029  int csc_reg_data[CSC_REG_COUNT];
   1030  int chrome_data[CHROME_COUNT];
   1031  int64_t csc_data[CSC_COUNT];
   1032  } data;
   1033 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   1034 };
   1035 #define GAMMA_10_BIT_TABLE_COUNT 129
   1036 struct gamma_setting {
   1037  uint32_t pipe;
   1038 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   1039  setting_type type;
   1040  bool enable_state;
   1041  gamma_mode initia_mode;
   1042  uint32_t data_len;
   1043 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   1044  uint32_t gamma_tableX100[GAMMA_10_BIT_TABLE_COUNT];
   1045 };
   1046 struct drm_psb_csc_gamma_setting {
   1047  setting_type type;
   1048 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   1049  union {
   1050  struct csc_setting csc_data;
   1051  struct gamma_setting gamma_data;
   1052  } data;
   1053 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   1054 }__attribute__((packed));
   1055 struct drm_psb_buffer_data {
   1056  void *h_buffer;
   1057 };
   1058 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   1059 struct drm_psb_flip_chain_data {
   1060  void **h_buffer_array;
   1061  unsigned int size;
   1062 };
   1063 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   1064 struct drm_psb_disp_ctrl {
   1065  uint32_t cmd;
   1066  union {
   1067  uint32_t data;
   1068 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   1069  struct drm_psb_buffer_data buf_data;
   1070  struct drm_psb_flip_chain_data flip_chain_data;
   1071  } u;
   1072 };
   1073 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   1074 #define S3D_MIPIA_DISPLAY 0
   1075 #define S3D_HDMI_DISPLAY 1
   1076 #define S3D_MIPIC_DISPLAY 2
   1077 #define S3D_WIDI_DISPLAY 0xFF
   1078 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   1079 struct drm_psb_s3d_query {
   1080  uint32_t s3d_display_type;
   1081  uint32_t is_s3d_supported;
   1082  uint32_t s3d_format;
   1083 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   1084  uint32_t mode_resolution_x;
   1085  uint32_t mode_resolution_y;
   1086  uint32_t mode_refresh_rate;
   1087  uint32_t is_interleaving;
   1088 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   1089 };
   1090 struct drm_psb_s3d_premodeset {
   1091  uint32_t s3d_buffer_format;
   1092 };
   1093 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   1094 typedef enum intel_dc_plane_types {
   1095  DC_UNKNOWN_PLANE = 0,
   1096  DC_SPRITE_PLANE = 1,
   1097  DC_OVERLAY_PLANE,
   1098 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   1099  DC_PRIMARY_PLANE,
   1100  DC_CURSOR_PLANE,
   1101  DC_PLANE_MAX,
   1102 } DC_MRFLD_PLANE_TYPE;
   1103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   1104 #define SPRITE_UPDATE_SURFACE (0x00000001UL)
   1105 #define SPRITE_UPDATE_CONTROL (0x00000002UL)
   1106 #define SPRITE_UPDATE_POSITION (0x00000004UL)
   1107 #define SPRITE_UPDATE_SIZE (0x00000008UL)
   1108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   1109 #define SPRITE_UPDATE_WAIT_VBLANK (0X00000010UL)
   1110 #define SPRITE_UPDATE_CONSTALPHA (0x00000020UL)
   1111 #define SPRITE_UPDATE_ALL (0x0000003fUL)
   1112 #define MRFLD_PRIMARY_COUNT 3
   1113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   1114 typedef struct intel_dc_overlay_ctx {
   1115  uint32_t index;
   1116  uint32_t pipe;
   1117  uint32_t ovadd;
   1118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   1119 } DC_MRFLD_OVERLAY_CONTEXT;
   1120 typedef struct intel_dc_cursor_ctx {
   1121  uint32_t index;
   1122  uint32_t pipe;
   1123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   1124  uint32_t cntr;
   1125  uint32_t surf;
   1126  uint32_t pos;
   1127 } DC_MRFLD_CURSOR_CONTEXT;
   1128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   1129 typedef struct intel_dc_sprite_ctx {
   1130  uint32_t update_mask;
   1131  uint32_t index;
   1132  uint32_t pipe;
   1133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   1134  uint32_t cntr;
   1135  uint32_t linoff;
   1136  uint32_t stride;
   1137  uint32_t pos;
   1138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   1139  uint32_t size;
   1140  uint32_t keyminval;
   1141  uint32_t keymask;
   1142  uint32_t surf;
   1143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   1144  uint32_t keymaxval;
   1145  uint32_t tileoff;
   1146  uint32_t contalpa;
   1147 } DC_MRFLD_SPRITE_CONTEXT;
   1148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   1149 typedef struct intel_dc_primary_ctx {
   1150  uint32_t update_mask;
   1151  uint32_t index;
   1152  uint32_t pipe;
   1153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   1154  uint32_t cntr;
   1155  uint32_t linoff;
   1156  uint32_t stride;
   1157  uint32_t pos;
   1158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   1159  uint32_t size;
   1160  uint32_t keyminval;
   1161  uint32_t keymask;
   1162  uint32_t surf;
   1163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   1164  uint32_t keymaxval;
   1165  uint32_t tileoff;
   1166  uint32_t contalpa;
   1167 } DC_MRFLD_PRIMARY_CONTEXT;
   1168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   1169 typedef struct intel_dc_plane_zorder {
   1170  uint32_t forceBottom[3];
   1171  uint32_t abovePrimary;
   1172 } DC_MRFLD_DC_PLANE_ZORDER;
   1173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   1174 typedef struct intel_dc_plane_ctx {
   1175  enum intel_dc_plane_types type;
   1176  struct intel_dc_plane_zorder zorder;
   1177  union {
   1178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   1179  struct intel_dc_overlay_ctx ov_ctx;
   1180  struct intel_dc_sprite_ctx sp_ctx;
   1181  struct intel_dc_primary_ctx prim_ctx;
   1182  struct intel_dc_cursor_ctx cs_ctx;
   1183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
   1184  } ctx;
   1185 } DC_MRFLD_SURF_CUSTOM;
   1186 #endif
   1187