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