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 87typedef 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; 105typedef struct { 106 unsigned int pitch; 107} drm_mga_server_regs_t; 108/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ 109typedef 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; 125typedef 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; 130typedef 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) 200typedef 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; 206typedef 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; 235typedef 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; 246typedef 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; 255typedef 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; 261typedef 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 */ 269typedef 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; 275typedef 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 290typedef 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