Home | History | Annotate | Download | only in drm
      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 __MGA_DRM_H__
     20 #define __MGA_DRM_H__
     21 #include <drm/drm.h>
     22 #ifndef __MGA_SAREA_DEFINES__
     23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     24 #define __MGA_SAREA_DEFINES__
     25 #define MGA_F 0x1
     26 #define MGA_A 0x2
     27 #define MGA_S 0x4
     28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     29 #define MGA_T2 0x8
     30 #define MGA_WARP_TGZ 0
     31 #define MGA_WARP_TGZF (MGA_F)
     32 #define MGA_WARP_TGZA (MGA_A)
     33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     34 #define MGA_WARP_TGZAF (MGA_F|MGA_A)
     35 #define MGA_WARP_TGZS (MGA_S)
     36 #define MGA_WARP_TGZSF (MGA_S|MGA_F)
     37 #define MGA_WARP_TGZSA (MGA_S|MGA_A)
     38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     39 #define MGA_WARP_TGZSAF (MGA_S|MGA_F|MGA_A)
     40 #define MGA_WARP_T2GZ (MGA_T2)
     41 #define MGA_WARP_T2GZF (MGA_T2|MGA_F)
     42 #define MGA_WARP_T2GZA (MGA_T2|MGA_A)
     43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     44 #define MGA_WARP_T2GZAF (MGA_T2|MGA_A|MGA_F)
     45 #define MGA_WARP_T2GZS (MGA_T2|MGA_S)
     46 #define MGA_WARP_T2GZSF (MGA_T2|MGA_S|MGA_F)
     47 #define MGA_WARP_T2GZSA (MGA_T2|MGA_S|MGA_A)
     48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     49 #define MGA_WARP_T2GZSAF (MGA_T2|MGA_S|MGA_F|MGA_A)
     50 #define MGA_MAX_G200_PIPES 8
     51 #define MGA_MAX_G400_PIPES 16
     52 #define MGA_MAX_WARP_PIPES MGA_MAX_G400_PIPES
     53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     54 #define MGA_WARP_UCODE_SIZE 32768
     55 #define MGA_CARD_TYPE_G200 1
     56 #define MGA_CARD_TYPE_G400 2
     57 #define MGA_CARD_TYPE_G450 3
     58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     59 #define MGA_CARD_TYPE_G550 4
     60 #define MGA_FRONT 0x1
     61 #define MGA_BACK 0x2
     62 #define MGA_DEPTH 0x4
     63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     64 #define MGA_UPLOAD_CONTEXT 0x1
     65 #define MGA_UPLOAD_TEX0 0x2
     66 #define MGA_UPLOAD_TEX1 0x4
     67 #define MGA_UPLOAD_PIPE 0x8
     68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     69 #define MGA_UPLOAD_TEX0IMAGE 0x10
     70 #define MGA_UPLOAD_TEX1IMAGE 0x20
     71 #define MGA_UPLOAD_2D 0x40
     72 #define MGA_WAIT_AGE 0x80
     73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     74 #define MGA_UPLOAD_CLIPRECTS 0x100
     75 #define MGA_BUFFER_SIZE (1 << 16)
     76 #define MGA_NUM_BUFFERS 128
     77 #define MGA_NR_SAREA_CLIPRECTS 8
     78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     79 #define MGA_CARD_HEAP 0
     80 #define MGA_AGP_HEAP 1
     81 #define MGA_NR_TEX_HEAPS 2
     82 #define MGA_NR_TEX_REGIONS 16
     83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     84 #define MGA_LOG_MIN_TEX_REGION_SIZE 16
     85 #define DRM_MGA_IDLE_RETRY 2048
     86 #endif
     87 typedef struct {
     88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     89  unsigned int dstorg;
     90  unsigned int maccess;
     91  unsigned int plnwt;
     92  unsigned int dwgctl;
     93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     94  unsigned int alphactrl;
     95  unsigned int fogcolor;
     96  unsigned int wflag;
     97  unsigned int tdualstage0;
     98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     99  unsigned int tdualstage1;
    100  unsigned int fcol;
    101  unsigned int stencil;
    102  unsigned int stencilctl;
    103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    104 } drm_mga_context_regs_t;
    105 typedef struct {
    106  unsigned int pitch;
    107 } drm_mga_server_regs_t;
    108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    109 typedef struct {
    110  unsigned int texctl;
    111  unsigned int texctl2;
    112  unsigned int texfilter;
    113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    114  unsigned int texbordercol;
    115  unsigned int texorg;
    116  unsigned int texwidth;
    117  unsigned int texheight;
    118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    119  unsigned int texorg1;
    120  unsigned int texorg2;
    121  unsigned int texorg3;
    122  unsigned int texorg4;
    123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    124 } drm_mga_texture_regs_t;
    125 typedef struct {
    126  unsigned int head;
    127  unsigned int wrap;
    128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    129 } drm_mga_age_t;
    130 typedef struct _drm_mga_sarea {
    131  drm_mga_context_regs_t context_state;
    132  drm_mga_server_regs_t server_state;
    133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    134  drm_mga_texture_regs_t tex_state[2];
    135  unsigned int warp_pipe;
    136  unsigned int dirty;
    137  unsigned int vertsize;
    138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    139  struct drm_clip_rect boxes[MGA_NR_SAREA_CLIPRECTS];
    140  unsigned int nbox;
    141  unsigned int req_drawable;
    142  unsigned int req_draw_buffer;
    143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    144  unsigned int exported_drawable;
    145  unsigned int exported_index;
    146  unsigned int exported_stamp;
    147  unsigned int exported_buffers;
    148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    149  unsigned int exported_nfront;
    150  unsigned int exported_nback;
    151  int exported_back_x, exported_front_x, exported_w;
    152  int exported_back_y, exported_front_y, exported_h;
    153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    154  struct drm_clip_rect exported_boxes[MGA_NR_SAREA_CLIPRECTS];
    155  unsigned int status[4];
    156  unsigned int last_wrap;
    157  drm_mga_age_t last_frame;
    158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    159  unsigned int last_enqueue;
    160  unsigned int last_dispatch;
    161  unsigned int last_quiescent;
    162  struct drm_tex_region texList[MGA_NR_TEX_HEAPS][MGA_NR_TEX_REGIONS + 1];
    163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    164  unsigned int texAge[MGA_NR_TEX_HEAPS];
    165  int ctxOwner;
    166 } drm_mga_sarea_t;
    167 #define DRM_MGA_INIT 0x00
    168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    169 #define DRM_MGA_FLUSH 0x01
    170 #define DRM_MGA_RESET 0x02
    171 #define DRM_MGA_SWAP 0x03
    172 #define DRM_MGA_CLEAR 0x04
    173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    174 #define DRM_MGA_VERTEX 0x05
    175 #define DRM_MGA_INDICES 0x06
    176 #define DRM_MGA_ILOAD 0x07
    177 #define DRM_MGA_BLIT 0x08
    178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    179 #define DRM_MGA_GETPARAM 0x09
    180 #define DRM_MGA_SET_FENCE 0x0a
    181 #define DRM_MGA_WAIT_FENCE 0x0b
    182 #define DRM_MGA_DMA_BOOTSTRAP 0x0c
    183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    184 #define DRM_IOCTL_MGA_INIT DRM_IOW( DRM_COMMAND_BASE + DRM_MGA_INIT, drm_mga_init_t)
    185 #define DRM_IOCTL_MGA_FLUSH DRM_IOW( DRM_COMMAND_BASE + DRM_MGA_FLUSH, struct drm_lock)
    186 #define DRM_IOCTL_MGA_RESET DRM_IO( DRM_COMMAND_BASE + DRM_MGA_RESET)
    187 #define DRM_IOCTL_MGA_SWAP DRM_IO( DRM_COMMAND_BASE + DRM_MGA_SWAP)
    188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    189 #define DRM_IOCTL_MGA_CLEAR DRM_IOW( DRM_COMMAND_BASE + DRM_MGA_CLEAR, drm_mga_clear_t)
    190 #define DRM_IOCTL_MGA_VERTEX DRM_IOW( DRM_COMMAND_BASE + DRM_MGA_VERTEX, drm_mga_vertex_t)
    191 #define DRM_IOCTL_MGA_INDICES DRM_IOW( DRM_COMMAND_BASE + DRM_MGA_INDICES, drm_mga_indices_t)
    192 #define DRM_IOCTL_MGA_ILOAD DRM_IOW( DRM_COMMAND_BASE + DRM_MGA_ILOAD, drm_mga_iload_t)
    193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    194 #define DRM_IOCTL_MGA_BLIT DRM_IOW( DRM_COMMAND_BASE + DRM_MGA_BLIT, drm_mga_blit_t)
    195 #define DRM_IOCTL_MGA_GETPARAM DRM_IOWR(DRM_COMMAND_BASE + DRM_MGA_GETPARAM, drm_mga_getparam_t)
    196 #define DRM_IOCTL_MGA_SET_FENCE DRM_IOW( DRM_COMMAND_BASE + DRM_MGA_SET_FENCE, __u32)
    197 #define DRM_IOCTL_MGA_WAIT_FENCE DRM_IOWR(DRM_COMMAND_BASE + DRM_MGA_WAIT_FENCE, __u32)
    198 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    199 #define DRM_IOCTL_MGA_DMA_BOOTSTRAP DRM_IOWR(DRM_COMMAND_BASE + DRM_MGA_DMA_BOOTSTRAP, drm_mga_dma_bootstrap_t)
    200 typedef struct _drm_mga_warp_index {
    201  int installed;
    202  unsigned long phys_addr;
    203 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    204  int size;
    205 } drm_mga_warp_index_t;
    206 typedef struct drm_mga_init {
    207  enum {
    208 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    209  MGA_INIT_DMA = 0x01,
    210  MGA_CLEANUP_DMA = 0x02
    211  } func;
    212  unsigned long sarea_priv_offset;
    213 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    214  int chipset;
    215  int sgram;
    216  unsigned int maccess;
    217  unsigned int fb_cpp;
    218 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    219  unsigned int front_offset, front_pitch;
    220  unsigned int back_offset, back_pitch;
    221  unsigned int depth_cpp;
    222  unsigned int depth_offset, depth_pitch;
    223 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    224  unsigned int texture_offset[MGA_NR_TEX_HEAPS];
    225  unsigned int texture_size[MGA_NR_TEX_HEAPS];
    226  unsigned long fb_offset;
    227  unsigned long mmio_offset;
    228 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    229  unsigned long status_offset;
    230  unsigned long warp_offset;
    231  unsigned long primary_offset;
    232  unsigned long buffers_offset;
    233 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    234 } drm_mga_init_t;
    235 typedef struct drm_mga_dma_bootstrap {
    236  unsigned long texture_handle;
    237  __u32 texture_size;
    238 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    239  __u32 primary_size;
    240  __u32 secondary_bin_count;
    241  __u32 secondary_bin_size;
    242  __u32 agp_mode;
    243 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    244  __u8 agp_size;
    245 } drm_mga_dma_bootstrap_t;
    246 typedef struct drm_mga_clear {
    247  unsigned int flags;
    248 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    249  unsigned int clear_color;
    250  unsigned int clear_depth;
    251  unsigned int color_mask;
    252  unsigned int depth_mask;
    253 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    254 } drm_mga_clear_t;
    255 typedef struct drm_mga_vertex {
    256  int idx;
    257  int used;
    258 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    259  int discard;
    260 } drm_mga_vertex_t;
    261 typedef struct drm_mga_indices {
    262  int idx;
    263 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    264  unsigned int start;
    265  unsigned int end;
    266  int discard;
    267 } drm_mga_indices_t;
    268 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    269 typedef struct drm_mga_iload {
    270  int idx;
    271  unsigned int dstorg;
    272  unsigned int length;
    273 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    274 } drm_mga_iload_t;
    275 typedef struct _drm_mga_blit {
    276  unsigned int planemask;
    277  unsigned int srcorg;
    278 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    279  unsigned int dstorg;
    280  int src_pitch, dst_pitch;
    281  int delta_sx, delta_sy;
    282  int delta_dx, delta_dy;
    283 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    284  int height, ydir;
    285  int source_pitch, dest_pitch;
    286 } drm_mga_blit_t;
    287 #define MGA_PARAM_IRQ_NR 1
    288 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    289 #define MGA_PARAM_CARD_TYPE 2
    290 typedef struct drm_mga_getparam {
    291  int param;
    292  void __user *value;
    293 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    294 } drm_mga_getparam_t;
    295 #endif
    296