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