Blame view
include/drm/drm.h
24.5 KB
1da177e4c Linux-2.6.12-rc2 |
1 |
/** |
b5e89ed53 drm: lindent the ... |
2 |
* \file drm.h |
1da177e4c Linux-2.6.12-rc2 |
3 |
* Header for the Direct Rendering Manager |
b5e89ed53 drm: lindent the ... |
4 |
* |
1da177e4c Linux-2.6.12-rc2 |
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
* \author Rickard E. (Rik) Faith <faith@valinux.com> * * \par Acknowledgments: * Dec 1999, Richard Henderson <rth@twiddle.net>, move to generic \c cmpxchg. */ /* * Copyright 1999 Precision Insight, Inc., Cedar Park, Texas. * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California. * All rights reserved. * * Permission is hereby granted, free of charge, to any person obtaining a * copy of this software and associated documentation files (the "Software"), * to deal in the Software without restriction, including without limitation * the rights to use, copy, modify, merge, publish, distribute, sublicense, * and/or sell copies of the Software, and to permit persons to whom the * Software is furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice (including the next * paragraph) shall be included in all copies or substantial portions of the * Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL * VA LINUX SYSTEMS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR * OTHER DEALINGS IN THE SOFTWARE. */ |
1da177e4c Linux-2.6.12-rc2 |
35 36 |
#ifndef _DRM_H_ #define _DRM_H_ |
1a95916f5 drm: Add compatib... |
37 |
#if defined(__linux__) |
1d7f83d5a make drm headers ... |
38 |
#include <linux/types.h> |
1a95916f5 drm: Add compatib... |
39 40 41 42 |
#include <asm/ioctl.h> typedef unsigned int drm_handle_t; #else /* One of the BSDs */ |
1da177e4c Linux-2.6.12-rc2 |
43 |
|
1a95916f5 drm: Add compatib... |
44 45 46 47 48 49 50 51 52 53 54 55 56 |
#include <sys/ioccom.h> #include <sys/types.h> typedef int8_t __s8; typedef uint8_t __u8; typedef int16_t __s16; typedef uint16_t __u16; typedef int32_t __s32; typedef uint32_t __u32; typedef int64_t __s64; typedef uint64_t __u64; typedef unsigned long drm_handle_t; #endif |
b589ee594 drm: remove XFREE... |
57 |
|
1da177e4c Linux-2.6.12-rc2 |
58 59 60 61 |
#define DRM_NAME "drm" /**< Name in kernel, /dev, and /proc */ #define DRM_MIN_ORDER 5 /**< At least 2^5 bytes = 32 bytes */ #define DRM_MAX_ORDER 22 /**< Up to 2^22 bytes = 4MB */ #define DRM_RAM_PERCENT 10 /**< How much system ram can we lock? */ |
b3a80a223 drm: update lock ... |
62 63 |
#define _DRM_LOCK_HELD 0x80000000U /**< Hardware lock is held */ #define _DRM_LOCK_CONT 0x40000000U /**< Hardware lock is contended */ |
1da177e4c Linux-2.6.12-rc2 |
64 65 66 |
#define _DRM_LOCK_IS_HELD(lock) ((lock) & _DRM_LOCK_HELD) #define _DRM_LOCK_IS_CONT(lock) ((lock) & _DRM_LOCK_CONT) #define _DRM_LOCKING_CONTEXT(lock) ((lock) & ~(_DRM_LOCK_HELD|_DRM_LOCK_CONT)) |
b5e89ed53 drm: lindent the ... |
67 68 69 |
typedef unsigned int drm_context_t; typedef unsigned int drm_drawable_t; typedef unsigned int drm_magic_t; |
1da177e4c Linux-2.6.12-rc2 |
70 71 72 |
/** * Cliprect. |
b5e89ed53 drm: lindent the ... |
73 |
* |
1da177e4c Linux-2.6.12-rc2 |
74 75 76 77 78 79 80 |
* \warning: If you change this structure, make sure you change * XF86DRIClipRectRec in the server as well * * ote KW: Actually it's illegal to change either for * backwards-compatibility reasons. */ |
c60ce623b drm: remove a bun... |
81 |
struct drm_clip_rect { |
b5e89ed53 drm: lindent the ... |
82 83 84 85 |
unsigned short x1; unsigned short y1; unsigned short x2; unsigned short y2; |
c60ce623b drm: remove a bun... |
86 |
}; |
1da177e4c Linux-2.6.12-rc2 |
87 |
|
1da177e4c Linux-2.6.12-rc2 |
88 |
/** |
bea5679f9 drm: Add support ... |
89 90 |
* Drawable information. */ |
c60ce623b drm: remove a bun... |
91 |
struct drm_drawable_info { |
bea5679f9 drm: Add support ... |
92 |
unsigned int num_rects; |
c60ce623b drm: remove a bun... |
93 94 |
struct drm_clip_rect *rects; }; |
bea5679f9 drm: Add support ... |
95 96 |
/** |
1da177e4c Linux-2.6.12-rc2 |
97 98 |
* Texture region, */ |
c60ce623b drm: remove a bun... |
99 |
struct drm_tex_region { |
b5e89ed53 drm: lindent the ... |
100 101 102 103 104 |
unsigned char next; unsigned char prev; unsigned char in_use; unsigned char padding; unsigned int age; |
c60ce623b drm: remove a bun... |
105 |
}; |
1da177e4c Linux-2.6.12-rc2 |
106 107 108 109 110 111 112 113 |
/** * Hardware lock. * * The lock structure is a simple cache-line aligned integer. To avoid * processor bus contention on a multiprocessor system, there should not be any * other data stored in the same cache line. */ |
c60ce623b drm: remove a bun... |
114 |
struct drm_hw_lock { |
1da177e4c Linux-2.6.12-rc2 |
115 |
__volatile__ unsigned int lock; /**< lock variable */ |
b5e89ed53 drm: lindent the ... |
116 |
char padding[60]; /**< Pad to cache line */ |
c60ce623b drm: remove a bun... |
117 |
}; |
1da177e4c Linux-2.6.12-rc2 |
118 |
|
1da177e4c Linux-2.6.12-rc2 |
119 120 |
/** * DRM_IOCTL_VERSION ioctl argument type. |
b5e89ed53 drm: lindent the ... |
121 |
* |
1da177e4c Linux-2.6.12-rc2 |
122 123 |
* \sa drmGetVersion(). */ |
c60ce623b drm: remove a bun... |
124 |
struct drm_version { |
b5e89ed53 drm: lindent the ... |
125 126 127 |
int version_major; /**< Major version */ int version_minor; /**< Minor version */ int version_patchlevel; /**< Patch level */ |
1da177e4c Linux-2.6.12-rc2 |
128 |
size_t name_len; /**< Length of name buffer */ |
b5e89ed53 drm: lindent the ... |
129 |
char __user *name; /**< Name of driver */ |
1da177e4c Linux-2.6.12-rc2 |
130 |
size_t date_len; /**< Length of date buffer */ |
b5e89ed53 drm: lindent the ... |
131 |
char __user *date; /**< User-space buffer to hold date */ |
1da177e4c Linux-2.6.12-rc2 |
132 |
size_t desc_len; /**< Length of desc buffer */ |
b5e89ed53 drm: lindent the ... |
133 |
char __user *desc; /**< User-space buffer to hold desc */ |
c60ce623b drm: remove a bun... |
134 |
}; |
1da177e4c Linux-2.6.12-rc2 |
135 |
|
1da177e4c Linux-2.6.12-rc2 |
136 137 138 139 140 |
/** * DRM_IOCTL_GET_UNIQUE ioctl argument type. * * \sa drmGetBusid() and drmSetBusId(). */ |
c60ce623b drm: remove a bun... |
141 |
struct drm_unique { |
1da177e4c Linux-2.6.12-rc2 |
142 |
size_t unique_len; /**< Length of unique */ |
b5e89ed53 drm: lindent the ... |
143 |
char __user *unique; /**< Unique name for driver instantiation */ |
c60ce623b drm: remove a bun... |
144 |
}; |
1da177e4c Linux-2.6.12-rc2 |
145 |
|
c60ce623b drm: remove a bun... |
146 |
struct drm_list { |
b5e89ed53 drm: lindent the ... |
147 |
int count; /**< Length of user-space structures */ |
c60ce623b drm: remove a bun... |
148 149 |
struct drm_version __user *version; }; |
1da177e4c Linux-2.6.12-rc2 |
150 |
|
c60ce623b drm: remove a bun... |
151 |
struct drm_block { |
b5e89ed53 drm: lindent the ... |
152 |
int unused; |
c60ce623b drm: remove a bun... |
153 |
}; |
1da177e4c Linux-2.6.12-rc2 |
154 |
|
1da177e4c Linux-2.6.12-rc2 |
155 156 157 158 159 |
/** * DRM_IOCTL_CONTROL ioctl argument type. * * \sa drmCtlInstHandler() and drmCtlUninstHandler(). */ |
c60ce623b drm: remove a bun... |
160 |
struct drm_control { |
1da177e4c Linux-2.6.12-rc2 |
161 162 163 164 165 |
enum { DRM_ADD_COMMAND, DRM_RM_COMMAND, DRM_INST_HANDLER, DRM_UNINST_HANDLER |
b5e89ed53 drm: lindent the ... |
166 167 |
} func; int irq; |
c60ce623b drm: remove a bun... |
168 |
}; |
1da177e4c Linux-2.6.12-rc2 |
169 |
|
1da177e4c Linux-2.6.12-rc2 |
170 171 172 |
/** * Type of memory to map. */ |
c60ce623b drm: remove a bun... |
173 |
enum drm_map_type { |
b5e89ed53 drm: lindent the ... |
174 175 176 177 |
_DRM_FRAME_BUFFER = 0, /**< WC (no caching), no core dump */ _DRM_REGISTERS = 1, /**< no caching, no core dump */ _DRM_SHM = 2, /**< shared, cached */ _DRM_AGP = 3, /**< AGP/GART */ |
2d0f9eaff drm: add _DRM_CON... |
178 |
_DRM_SCATTER_GATHER = 4, /**< Scatter/gather memory for PCI DMA */ |
b5e89ed53 drm: lindent the ... |
179 |
_DRM_CONSISTENT = 5, /**< Consistent memory for PCI DMA */ |
a2c0a97b7 drm: GEM mmap sup... |
180 |
_DRM_GEM = 6, /**< GEM object */ |
c60ce623b drm: remove a bun... |
181 |
}; |
1da177e4c Linux-2.6.12-rc2 |
182 |
|
1da177e4c Linux-2.6.12-rc2 |
183 184 185 |
/** * Memory mapping flags. */ |
c60ce623b drm: remove a bun... |
186 |
enum drm_map_flags { |
b5e89ed53 drm: lindent the ... |
187 188 189 190 |
_DRM_RESTRICTED = 0x01, /**< Cannot be mapped to user-virtual */ _DRM_READ_ONLY = 0x02, _DRM_LOCKED = 0x04, /**< shared, cached, locked */ _DRM_KERNEL = 0x08, /**< kernel requires access */ |
1da177e4c Linux-2.6.12-rc2 |
191 |
_DRM_WRITE_COMBINING = 0x10, /**< use write-combining if available */ |
b5e89ed53 drm: lindent the ... |
192 |
_DRM_CONTAINS_LOCK = 0x20, /**< SHM page that contains lock */ |
e3236a117 drm: add _DRM_DRI... |
193 194 |
_DRM_REMOVABLE = 0x40, /**< Removable mapping */ _DRM_DRIVER = 0x80 /**< Managed by driver */ |
c60ce623b drm: remove a bun... |
195 |
}; |
1da177e4c Linux-2.6.12-rc2 |
196 |
|
c60ce623b drm: remove a bun... |
197 |
struct drm_ctx_priv_map { |
b5e89ed53 drm: lindent the ... |
198 199 |
unsigned int ctx_id; /**< Context requesting private mapping */ void *handle; /**< Handle of map */ |
c60ce623b drm: remove a bun... |
200 |
}; |
1da177e4c Linux-2.6.12-rc2 |
201 |
|
1da177e4c Linux-2.6.12-rc2 |
202 203 204 205 206 207 |
/** * DRM_IOCTL_GET_MAP, DRM_IOCTL_ADD_MAP and DRM_IOCTL_RM_MAP ioctls * argument type. * * \sa drmAddMap(). */ |
c60ce623b drm: remove a bun... |
208 |
struct drm_map { |
b5e89ed53 drm: lindent the ... |
209 210 |
unsigned long offset; /**< Requested physical address (0 for SAREA)*/ unsigned long size; /**< Requested physical size (bytes) */ |
c60ce623b drm: remove a bun... |
211 212 |
enum drm_map_type type; /**< Type of memory to map */ enum drm_map_flags flags; /**< Flags */ |
b5e89ed53 drm: lindent the ... |
213 |
void *handle; /**< User-space: "Handle" to pass to mmap() */ |
1da177e4c Linux-2.6.12-rc2 |
214 |
/**< Kernel-space: kernel-virtual address */ |
b5e89ed53 drm: lindent the ... |
215 216 |
int mtrr; /**< MTRR slot used */ /* Private data */ |
c60ce623b drm: remove a bun... |
217 |
}; |
1da177e4c Linux-2.6.12-rc2 |
218 |
|
1da177e4c Linux-2.6.12-rc2 |
219 220 221 |
/** * DRM_IOCTL_GET_CLIENT ioctl argument type. */ |
c60ce623b drm: remove a bun... |
222 |
struct drm_client { |
b5e89ed53 drm: lindent the ... |
223 224 225 226 227 228 |
int idx; /**< Which client desired? */ int auth; /**< Is client authenticated? */ unsigned long pid; /**< Process ID */ unsigned long uid; /**< User ID */ unsigned long magic; /**< Magic */ unsigned long iocs; /**< Ioctl count */ |
c60ce623b drm: remove a bun... |
229 |
}; |
1da177e4c Linux-2.6.12-rc2 |
230 |
|
c60ce623b drm: remove a bun... |
231 |
enum drm_stat_type { |
1da177e4c Linux-2.6.12-rc2 |
232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 |
_DRM_STAT_LOCK, _DRM_STAT_OPENS, _DRM_STAT_CLOSES, _DRM_STAT_IOCTLS, _DRM_STAT_LOCKS, _DRM_STAT_UNLOCKS, _DRM_STAT_VALUE, /**< Generic value */ _DRM_STAT_BYTE, /**< Generic byte counter (1024bytes/K) */ _DRM_STAT_COUNT, /**< Generic non-byte counter (1000/k) */ _DRM_STAT_IRQ, /**< IRQ */ _DRM_STAT_PRIMARY, /**< Primary DMA bytes */ _DRM_STAT_SECONDARY, /**< Secondary DMA bytes */ _DRM_STAT_DMA, /**< DMA */ _DRM_STAT_SPECIAL, /**< Special DMA (e.g., priority or polled) */ _DRM_STAT_MISSED /**< Missed DMA opportunity */ |
b5e89ed53 drm: lindent the ... |
248 |
/* Add to the *END* of the list */ |
c60ce623b drm: remove a bun... |
249 |
}; |
1da177e4c Linux-2.6.12-rc2 |
250 |
|
1da177e4c Linux-2.6.12-rc2 |
251 252 253 |
/** * DRM_IOCTL_GET_STATS ioctl argument type. */ |
c60ce623b drm: remove a bun... |
254 |
struct drm_stats { |
1da177e4c Linux-2.6.12-rc2 |
255 256 |
unsigned long count; struct { |
b5e89ed53 drm: lindent the ... |
257 |
unsigned long value; |
c60ce623b drm: remove a bun... |
258 |
enum drm_stat_type type; |
1da177e4c Linux-2.6.12-rc2 |
259 |
} data[15]; |
c60ce623b drm: remove a bun... |
260 |
}; |
1da177e4c Linux-2.6.12-rc2 |
261 |
|
1da177e4c Linux-2.6.12-rc2 |
262 263 264 |
/** * Hardware locking flags. */ |
c60ce623b drm: remove a bun... |
265 |
enum drm_lock_flags { |
b5e89ed53 drm: lindent the ... |
266 267 268 269 270 271 272 |
_DRM_LOCK_READY = 0x01, /**< Wait until hardware is ready for DMA */ _DRM_LOCK_QUIESCENT = 0x02, /**< Wait until hardware quiescent */ _DRM_LOCK_FLUSH = 0x04, /**< Flush this context's DMA queue first */ _DRM_LOCK_FLUSH_ALL = 0x08, /**< Flush all DMA queues first */ /* These *HALT* flags aren't supported yet -- they will be used to support the full-screen DGA-like mode. */ |
1da177e4c Linux-2.6.12-rc2 |
273 274 |
_DRM_HALT_ALL_QUEUES = 0x10, /**< Halt all current and future queues */ _DRM_HALT_CUR_QUEUES = 0x20 /**< Halt all current queues */ |
c60ce623b drm: remove a bun... |
275 |
}; |
1da177e4c Linux-2.6.12-rc2 |
276 |
|
1da177e4c Linux-2.6.12-rc2 |
277 278 |
/** * DRM_IOCTL_LOCK, DRM_IOCTL_UNLOCK and DRM_IOCTL_FINISH ioctl argument type. |
b5e89ed53 drm: lindent the ... |
279 |
* |
1da177e4c Linux-2.6.12-rc2 |
280 281 |
* \sa drmGetLock() and drmUnlock(). */ |
c60ce623b drm: remove a bun... |
282 |
struct drm_lock { |
b5e89ed53 drm: lindent the ... |
283 |
int context; |
c60ce623b drm: remove a bun... |
284 285 |
enum drm_lock_flags flags; }; |
1da177e4c Linux-2.6.12-rc2 |
286 |
|
1da177e4c Linux-2.6.12-rc2 |
287 288 289 |
/** * DMA flags * |
b5e89ed53 drm: lindent the ... |
290 |
* \warning |
1da177e4c Linux-2.6.12-rc2 |
291 292 293 294 |
* These values \e must match xf86drm.h. * * \sa drm_dma. */ |
c60ce623b drm: remove a bun... |
295 |
enum drm_dma_flags { |
b5e89ed53 drm: lindent the ... |
296 297 |
/* Flags for DMA buffer dispatch */ _DRM_DMA_BLOCK = 0x01, /**< |
1da177e4c Linux-2.6.12-rc2 |
298 |
* Block until buffer dispatched. |
b5e89ed53 drm: lindent the ... |
299 |
* |
1da177e4c Linux-2.6.12-rc2 |
300 301 302 303 304 305 306 307 308 |
* ote The buffer may not yet have * been processed by the hardware -- * getting a hardware lock with the * hardware quiescent will ensure * that the buffer has been * processed. */ _DRM_DMA_WHILE_LOCKED = 0x02, /**< Dispatch while lock held */ |
b5e89ed53 drm: lindent the ... |
309 |
_DRM_DMA_PRIORITY = 0x04, /**< High priority dispatch */ |
1da177e4c Linux-2.6.12-rc2 |
310 |
|
b5e89ed53 drm: lindent the ... |
311 312 313 314 |
/* Flags for DMA buffer request */ _DRM_DMA_WAIT = 0x10, /**< Wait for free buffers */ _DRM_DMA_SMALLER_OK = 0x20, /**< Smaller-than-requested buffers OK */ _DRM_DMA_LARGER_OK = 0x40 /**< Larger-than-requested buffers OK */ |
c60ce623b drm: remove a bun... |
315 |
}; |
1da177e4c Linux-2.6.12-rc2 |
316 |
|
1da177e4c Linux-2.6.12-rc2 |
317 318 319 320 321 |
/** * DRM_IOCTL_ADD_BUFS and DRM_IOCTL_MARK_BUFS ioctl argument type. * * \sa drmAddBufs(). */ |
c60ce623b drm: remove a bun... |
322 |
struct drm_buf_desc { |
b5e89ed53 drm: lindent the ... |
323 324 325 326 |
int count; /**< Number of buffers of this size */ int size; /**< Size in bytes */ int low_mark; /**< Low water mark */ int high_mark; /**< High water mark */ |
1da177e4c Linux-2.6.12-rc2 |
327 |
enum { |
b5e89ed53 drm: lindent the ... |
328 329 330 |
_DRM_PAGE_ALIGN = 0x01, /**< Align on page boundaries for DMA */ _DRM_AGP_BUFFER = 0x02, /**< Buffer is in AGP space */ _DRM_SG_BUFFER = 0x04, /**< Scatter/gather memory buffer */ |
3417f33e7 drm: add flag for... |
331 332 |
_DRM_FB_BUFFER = 0x08, /**< Buffer is in frame buffer */ _DRM_PCI_BUFFER_RO = 0x10 /**< Map PCI DMA buffer read-only */ |
b5e89ed53 drm: lindent the ... |
333 334 |
} flags; unsigned long agp_start; /**< |
1da177e4c Linux-2.6.12-rc2 |
335 336 337 |
* Start address of where the AGP buffers are * in the AGP aperture */ |
c60ce623b drm: remove a bun... |
338 |
}; |
1da177e4c Linux-2.6.12-rc2 |
339 |
|
1da177e4c Linux-2.6.12-rc2 |
340 341 342 |
/** * DRM_IOCTL_INFO_BUFS ioctl argument type. */ |
c60ce623b drm: remove a bun... |
343 |
struct drm_buf_info { |
b5e89ed53 drm: lindent the ... |
344 |
int count; /**< Entries in list */ |
c60ce623b drm: remove a bun... |
345 346 |
struct drm_buf_desc __user *list; }; |
1da177e4c Linux-2.6.12-rc2 |
347 |
|
1da177e4c Linux-2.6.12-rc2 |
348 349 350 |
/** * DRM_IOCTL_FREE_BUFS ioctl argument type. */ |
c60ce623b drm: remove a bun... |
351 |
struct drm_buf_free { |
b5e89ed53 drm: lindent the ... |
352 353 |
int count; int __user *list; |
c60ce623b drm: remove a bun... |
354 |
}; |
1da177e4c Linux-2.6.12-rc2 |
355 |
|
1da177e4c Linux-2.6.12-rc2 |
356 357 358 359 360 |
/** * Buffer information * * \sa drm_buf_map. */ |
c60ce623b drm: remove a bun... |
361 |
struct drm_buf_pub { |
b5e89ed53 drm: lindent the ... |
362 363 364 365 |
int idx; /**< Index into the master buffer list */ int total; /**< Buffer size */ int used; /**< Amount of buffer in use (for DMA) */ void __user *address; /**< Address of buffer */ |
c60ce623b drm: remove a bun... |
366 |
}; |
1da177e4c Linux-2.6.12-rc2 |
367 |
|
1da177e4c Linux-2.6.12-rc2 |
368 369 370 |
/** * DRM_IOCTL_MAP_BUFS ioctl argument type. */ |
c60ce623b drm: remove a bun... |
371 |
struct drm_buf_map { |
b5e89ed53 drm: lindent the ... |
372 373 |
int count; /**< Length of the buffer list */ void __user *virtual; /**< Mmap'd area in user-virtual */ |
c60ce623b drm: remove a bun... |
374 375 |
struct drm_buf_pub __user *list; /**< Buffer information */ }; |
1da177e4c Linux-2.6.12-rc2 |
376 |
|
1da177e4c Linux-2.6.12-rc2 |
377 378 379 380 381 382 383 |
/** * DRM_IOCTL_DMA ioctl argument type. * * Indices here refer to the offset into the buffer list in drm_buf_get. * * \sa drmDMA(). */ |
c60ce623b drm: remove a bun... |
384 |
struct drm_dma { |
b5e89ed53 drm: lindent the ... |
385 386 387 388 |
int context; /**< Context handle */ int send_count; /**< Number of buffers to send */ int __user *send_indices; /**< List of handles to buffers */ int __user *send_sizes; /**< Lengths of data to send */ |
c60ce623b drm: remove a bun... |
389 |
enum drm_dma_flags flags; /**< Flags */ |
b5e89ed53 drm: lindent the ... |
390 391 392 393 394 |
int request_count; /**< Number of buffers requested */ int request_size; /**< Desired size for buffers */ int __user *request_indices; /**< Buffer information */ int __user *request_sizes; int granted_count; /**< Number of buffers granted */ |
c60ce623b drm: remove a bun... |
395 |
}; |
1da177e4c Linux-2.6.12-rc2 |
396 |
|
c60ce623b drm: remove a bun... |
397 |
enum drm_ctx_flags { |
1da177e4c Linux-2.6.12-rc2 |
398 |
_DRM_CONTEXT_PRESERVED = 0x01, |
b5e89ed53 drm: lindent the ... |
399 |
_DRM_CONTEXT_2DONLY = 0x02 |
c60ce623b drm: remove a bun... |
400 |
}; |
1da177e4c Linux-2.6.12-rc2 |
401 |
|
1da177e4c Linux-2.6.12-rc2 |
402 403 404 405 406 |
/** * DRM_IOCTL_ADD_CTX ioctl argument type. * * \sa drmCreateContext() and drmDestroyContext(). */ |
c60ce623b drm: remove a bun... |
407 |
struct drm_ctx { |
b5e89ed53 drm: lindent the ... |
408 |
drm_context_t handle; |
c60ce623b drm: remove a bun... |
409 410 |
enum drm_ctx_flags flags; }; |
1da177e4c Linux-2.6.12-rc2 |
411 |
|
1da177e4c Linux-2.6.12-rc2 |
412 413 414 |
/** * DRM_IOCTL_RES_CTX ioctl argument type. */ |
c60ce623b drm: remove a bun... |
415 |
struct drm_ctx_res { |
b5e89ed53 drm: lindent the ... |
416 |
int count; |
c60ce623b drm: remove a bun... |
417 418 |
struct drm_ctx __user *contexts; }; |
1da177e4c Linux-2.6.12-rc2 |
419 |
|
1da177e4c Linux-2.6.12-rc2 |
420 421 422 |
/** * DRM_IOCTL_ADD_DRAW and DRM_IOCTL_RM_DRAW ioctl argument type. */ |
c60ce623b drm: remove a bun... |
423 |
struct drm_draw { |
b5e89ed53 drm: lindent the ... |
424 |
drm_drawable_t handle; |
c60ce623b drm: remove a bun... |
425 |
}; |
1da177e4c Linux-2.6.12-rc2 |
426 |
|
1da177e4c Linux-2.6.12-rc2 |
427 |
/** |
bea5679f9 drm: Add support ... |
428 429 430 431 432 |
* DRM_IOCTL_UPDATE_DRAW ioctl argument type. */ typedef enum { DRM_DRAWABLE_CLIPRECTS, } drm_drawable_info_type_t; |
c60ce623b drm: remove a bun... |
433 |
struct drm_update_draw { |
bea5679f9 drm: Add support ... |
434 435 436 437 |
drm_drawable_t handle; unsigned int type; unsigned int num; unsigned long long data; |
c60ce623b drm: remove a bun... |
438 |
}; |
bea5679f9 drm: Add support ... |
439 440 |
/** |
1da177e4c Linux-2.6.12-rc2 |
441 442 |
* DRM_IOCTL_GET_MAGIC and DRM_IOCTL_AUTH_MAGIC ioctl argument type. */ |
c60ce623b drm: remove a bun... |
443 |
struct drm_auth { |
b5e89ed53 drm: lindent the ... |
444 |
drm_magic_t magic; |
c60ce623b drm: remove a bun... |
445 |
}; |
1da177e4c Linux-2.6.12-rc2 |
446 |
|
1da177e4c Linux-2.6.12-rc2 |
447 448 449 450 451 |
/** * DRM_IOCTL_IRQ_BUSID ioctl argument type. * * \sa drmGetInterruptFromBusID(). */ |
c60ce623b drm: remove a bun... |
452 |
struct drm_irq_busid { |
1da177e4c Linux-2.6.12-rc2 |
453 454 455 456 |
int irq; /**< IRQ number */ int busnum; /**< bus number */ int devnum; /**< device number */ int funcnum; /**< function number */ |
c60ce623b drm: remove a bun... |
457 |
}; |
1da177e4c Linux-2.6.12-rc2 |
458 |
|
c60ce623b drm: remove a bun... |
459 |
enum drm_vblank_seq_type { |
b5e89ed53 drm: lindent the ... |
460 461 |
_DRM_VBLANK_ABSOLUTE = 0x0, /**< Wait for specific vblank sequence number */ _DRM_VBLANK_RELATIVE = 0x1, /**< Wait for given number of vblanks */ |
51eab416c drm/vblank: updat... |
462 463 |
/* bits 1-6 are reserved for high crtcs */ _DRM_VBLANK_HIGH_CRTC_MASK = 0x0000003e, |
c9a9c5e02 drm: Add async ev... |
464 |
_DRM_VBLANK_EVENT = 0x4000000, /**< Send event instead of blocking */ |
0a3e67a4c drm: Rework vblan... |
465 |
_DRM_VBLANK_FLIP = 0x8000000, /**< Scheduled buffer swap should flip */ |
ab285d74e drm: Core vsync: ... |
466 |
_DRM_VBLANK_NEXTONMISS = 0x10000000, /**< If missed, wait for next vblank */ |
776c9443e drm: add support ... |
467 |
_DRM_VBLANK_SECONDARY = 0x20000000, /**< Secondary display controller */ |
30b236340 drm: Rip out the ... |
468 |
_DRM_VBLANK_SIGNAL = 0x40000000 /**< Send signal instead of blocking, unsupported */ |
c60ce623b drm: remove a bun... |
469 |
}; |
51eab416c drm/vblank: updat... |
470 |
#define _DRM_VBLANK_HIGH_CRTC_SHIFT 1 |
1da177e4c Linux-2.6.12-rc2 |
471 |
|
776c9443e drm: add support ... |
472 |
#define _DRM_VBLANK_TYPES_MASK (_DRM_VBLANK_ABSOLUTE | _DRM_VBLANK_RELATIVE) |
c9a9c5e02 drm: Add async ev... |
473 474 |
#define _DRM_VBLANK_FLAGS_MASK (_DRM_VBLANK_EVENT | _DRM_VBLANK_SIGNAL | \ _DRM_VBLANK_SECONDARY | _DRM_VBLANK_NEXTONMISS) |
1da177e4c Linux-2.6.12-rc2 |
475 |
|
1da177e4c Linux-2.6.12-rc2 |
476 |
struct drm_wait_vblank_request { |
c60ce623b drm: remove a bun... |
477 |
enum drm_vblank_seq_type type; |
1da177e4c Linux-2.6.12-rc2 |
478 479 480 |
unsigned int sequence; unsigned long signal; }; |
1da177e4c Linux-2.6.12-rc2 |
481 |
struct drm_wait_vblank_reply { |
c60ce623b drm: remove a bun... |
482 |
enum drm_vblank_seq_type type; |
1da177e4c Linux-2.6.12-rc2 |
483 484 485 486 |
unsigned int sequence; long tval_sec; long tval_usec; }; |
1da177e4c Linux-2.6.12-rc2 |
487 488 489 490 491 |
/** * DRM_IOCTL_WAIT_VBLANK ioctl argument type. * * \sa drmWaitVBlank(). */ |
c60ce623b drm: remove a bun... |
492 |
union drm_wait_vblank { |
1da177e4c Linux-2.6.12-rc2 |
493 494 |
struct drm_wait_vblank_request request; struct drm_wait_vblank_reply reply; |
c60ce623b drm: remove a bun... |
495 |
}; |
1da177e4c Linux-2.6.12-rc2 |
496 |
|
0a3e67a4c drm: Rework vblan... |
497 498 499 500 501 502 503 504 505 |
#define _DRM_PRE_MODESET 1 #define _DRM_POST_MODESET 2 /** * DRM_IOCTL_MODESET_CTL ioctl argument type * * \sa drmModesetCtl(). */ struct drm_modeset_ctl { |
1d7f83d5a make drm headers ... |
506 507 |
__u32 crtc; __u32 cmd; |
0a3e67a4c drm: Rework vblan... |
508 |
}; |
1da177e4c Linux-2.6.12-rc2 |
509 510 511 512 513 |
/** * DRM_IOCTL_AGP_ENABLE ioctl argument type. * * \sa drmAgpEnable(). */ |
c60ce623b drm: remove a bun... |
514 |
struct drm_agp_mode { |
1da177e4c Linux-2.6.12-rc2 |
515 |
unsigned long mode; /**< AGP mode */ |
c60ce623b drm: remove a bun... |
516 |
}; |
1da177e4c Linux-2.6.12-rc2 |
517 |
|
1da177e4c Linux-2.6.12-rc2 |
518 519 520 521 522 |
/** * DRM_IOCTL_AGP_ALLOC and DRM_IOCTL_AGP_FREE ioctls argument type. * * \sa drmAgpAlloc() and drmAgpFree(). */ |
c60ce623b drm: remove a bun... |
523 |
struct drm_agp_buffer { |
1da177e4c Linux-2.6.12-rc2 |
524 525 |
unsigned long size; /**< In bytes -- will round to page boundary */ unsigned long handle; /**< Used for binding / unbinding */ |
b5e89ed53 drm: lindent the ... |
526 527 |
unsigned long type; /**< Type of memory to allocate */ unsigned long physical; /**< Physical used by i810 */ |
c60ce623b drm: remove a bun... |
528 |
}; |
1da177e4c Linux-2.6.12-rc2 |
529 |
|
1da177e4c Linux-2.6.12-rc2 |
530 531 532 533 534 |
/** * DRM_IOCTL_AGP_BIND and DRM_IOCTL_AGP_UNBIND ioctls argument type. * * \sa drmAgpBind() and drmAgpUnbind(). */ |
c60ce623b drm: remove a bun... |
535 |
struct drm_agp_binding { |
b5e89ed53 drm: lindent the ... |
536 |
unsigned long handle; /**< From drm_agp_buffer */ |
1da177e4c Linux-2.6.12-rc2 |
537 |
unsigned long offset; /**< In bytes -- will round to page boundary */ |
c60ce623b drm: remove a bun... |
538 |
}; |
1da177e4c Linux-2.6.12-rc2 |
539 |
|
1da177e4c Linux-2.6.12-rc2 |
540 541 542 543 544 545 546 |
/** * DRM_IOCTL_AGP_INFO ioctl argument type. * * \sa drmAgpVersionMajor(), drmAgpVersionMinor(), drmAgpGetMode(), * drmAgpBase(), drmAgpSize(), drmAgpMemoryUsed(), drmAgpMemoryAvail(), * drmAgpVendorId() and drmAgpDeviceId(). */ |
c60ce623b drm: remove a bun... |
547 |
struct drm_agp_info { |
b5e89ed53 drm: lindent the ... |
548 549 550 551 552 553 554 555 556 |
int agp_version_major; int agp_version_minor; unsigned long mode; unsigned long aperture_base; /* physical address */ unsigned long aperture_size; /* bytes */ unsigned long memory_allowed; /* bytes */ unsigned long memory_used; /* PCI information */ |
1da177e4c Linux-2.6.12-rc2 |
557 558 |
unsigned short id_vendor; unsigned short id_device; |
c60ce623b drm: remove a bun... |
559 |
}; |
1da177e4c Linux-2.6.12-rc2 |
560 |
|
1da177e4c Linux-2.6.12-rc2 |
561 562 563 |
/** * DRM_IOCTL_SG_ALLOC ioctl argument type. */ |
c60ce623b drm: remove a bun... |
564 |
struct drm_scatter_gather { |
1da177e4c Linux-2.6.12-rc2 |
565 566 |
unsigned long size; /**< In bytes -- will round to page boundary */ unsigned long handle; /**< Used for mapping / unmapping */ |
c60ce623b drm: remove a bun... |
567 |
}; |
1da177e4c Linux-2.6.12-rc2 |
568 569 570 571 |
/** * DRM_IOCTL_SET_VERSION ioctl argument type. */ |
c60ce623b drm: remove a bun... |
572 |
struct drm_set_version { |
1da177e4c Linux-2.6.12-rc2 |
573 574 575 576 |
int drm_di_major; int drm_di_minor; int drm_dd_major; int drm_dd_minor; |
c60ce623b drm: remove a bun... |
577 |
}; |
1da177e4c Linux-2.6.12-rc2 |
578 |
|
673a394b1 drm: Add GEM ("gr... |
579 580 581 |
/** DRM_IOCTL_GEM_CLOSE ioctl argument type */ struct drm_gem_close { /** Handle of the object to be closed. */ |
1d7f83d5a make drm headers ... |
582 583 |
__u32 handle; __u32 pad; |
673a394b1 drm: Add GEM ("gr... |
584 585 586 587 588 |
}; /** DRM_IOCTL_GEM_FLINK ioctl argument type */ struct drm_gem_flink { /** Handle for the object being named */ |
1d7f83d5a make drm headers ... |
589 |
__u32 handle; |
673a394b1 drm: Add GEM ("gr... |
590 591 |
/** Returned global name */ |
1d7f83d5a make drm headers ... |
592 |
__u32 name; |
673a394b1 drm: Add GEM ("gr... |
593 594 595 596 597 |
}; /** DRM_IOCTL_GEM_OPEN ioctl argument type */ struct drm_gem_open { /** Name of object being opened */ |
1d7f83d5a make drm headers ... |
598 |
__u32 name; |
673a394b1 drm: Add GEM ("gr... |
599 600 |
/** Returned handle for the object */ |
1d7f83d5a make drm headers ... |
601 |
__u32 handle; |
673a394b1 drm: Add GEM ("gr... |
602 603 |
/** Returned size of the object */ |
1d7f83d5a make drm headers ... |
604 |
__u64 size; |
673a394b1 drm: Add GEM ("gr... |
605 |
}; |
9f35421e0 drm/core: add ioc... |
606 607 608 609 610 |
/** DRM_IOCTL_GET_CAP ioctl argument type */ struct drm_get_cap { __u64 capability; __u64 value; }; |
f453ba046 DRM: add mode set... |
611 |
#include "drm_mode.h" |
1da177e4c Linux-2.6.12-rc2 |
612 613 614 615 616 |
#define DRM_IOCTL_BASE 'd' #define DRM_IO(nr) _IO(DRM_IOCTL_BASE,nr) #define DRM_IOR(nr,type) _IOR(DRM_IOCTL_BASE,nr,type) #define DRM_IOW(nr,type) _IOW(DRM_IOCTL_BASE,nr,type) #define DRM_IOWR(nr,type) _IOWR(DRM_IOCTL_BASE,nr,type) |
c60ce623b drm: remove a bun... |
617 618 619 620 621 622 623 624 |
#define DRM_IOCTL_VERSION DRM_IOWR(0x00, struct drm_version) #define DRM_IOCTL_GET_UNIQUE DRM_IOWR(0x01, struct drm_unique) #define DRM_IOCTL_GET_MAGIC DRM_IOR( 0x02, struct drm_auth) #define DRM_IOCTL_IRQ_BUSID DRM_IOWR(0x03, struct drm_irq_busid) #define DRM_IOCTL_GET_MAP DRM_IOWR(0x04, struct drm_map) #define DRM_IOCTL_GET_CLIENT DRM_IOWR(0x05, struct drm_client) #define DRM_IOCTL_GET_STATS DRM_IOR( 0x06, struct drm_stats) #define DRM_IOCTL_SET_VERSION DRM_IOWR(0x07, struct drm_set_version) |
0a3e67a4c drm: Rework vblan... |
625 |
#define DRM_IOCTL_MODESET_CTL DRM_IOW(0x08, struct drm_modeset_ctl) |
673a394b1 drm: Add GEM ("gr... |
626 627 628 |
#define DRM_IOCTL_GEM_CLOSE DRM_IOW (0x09, struct drm_gem_close) #define DRM_IOCTL_GEM_FLINK DRM_IOWR(0x0a, struct drm_gem_flink) #define DRM_IOCTL_GEM_OPEN DRM_IOWR(0x0b, struct drm_gem_open) |
9f35421e0 drm/core: add ioc... |
629 |
#define DRM_IOCTL_GET_CAP DRM_IOWR(0x0c, struct drm_get_cap) |
c60ce623b drm: remove a bun... |
630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 |
#define DRM_IOCTL_SET_UNIQUE DRM_IOW( 0x10, struct drm_unique) #define DRM_IOCTL_AUTH_MAGIC DRM_IOW( 0x11, struct drm_auth) #define DRM_IOCTL_BLOCK DRM_IOWR(0x12, struct drm_block) #define DRM_IOCTL_UNBLOCK DRM_IOWR(0x13, struct drm_block) #define DRM_IOCTL_CONTROL DRM_IOW( 0x14, struct drm_control) #define DRM_IOCTL_ADD_MAP DRM_IOWR(0x15, struct drm_map) #define DRM_IOCTL_ADD_BUFS DRM_IOWR(0x16, struct drm_buf_desc) #define DRM_IOCTL_MARK_BUFS DRM_IOW( 0x17, struct drm_buf_desc) #define DRM_IOCTL_INFO_BUFS DRM_IOWR(0x18, struct drm_buf_info) #define DRM_IOCTL_MAP_BUFS DRM_IOWR(0x19, struct drm_buf_map) #define DRM_IOCTL_FREE_BUFS DRM_IOW( 0x1a, struct drm_buf_free) #define DRM_IOCTL_RM_MAP DRM_IOW( 0x1b, struct drm_map) #define DRM_IOCTL_SET_SAREA_CTX DRM_IOW( 0x1c, struct drm_ctx_priv_map) #define DRM_IOCTL_GET_SAREA_CTX DRM_IOWR(0x1d, struct drm_ctx_priv_map) |
7c1c2871a drm: move to kref... |
647 648 |
#define DRM_IOCTL_SET_MASTER DRM_IO(0x1e) #define DRM_IOCTL_DROP_MASTER DRM_IO(0x1f) |
c60ce623b drm: remove a bun... |
649 650 651 652 653 654 655 656 657 658 659 660 661 |
#define DRM_IOCTL_ADD_CTX DRM_IOWR(0x20, struct drm_ctx) #define DRM_IOCTL_RM_CTX DRM_IOWR(0x21, struct drm_ctx) #define DRM_IOCTL_MOD_CTX DRM_IOW( 0x22, struct drm_ctx) #define DRM_IOCTL_GET_CTX DRM_IOWR(0x23, struct drm_ctx) #define DRM_IOCTL_SWITCH_CTX DRM_IOW( 0x24, struct drm_ctx) #define DRM_IOCTL_NEW_CTX DRM_IOW( 0x25, struct drm_ctx) #define DRM_IOCTL_RES_CTX DRM_IOWR(0x26, struct drm_ctx_res) #define DRM_IOCTL_ADD_DRAW DRM_IOWR(0x27, struct drm_draw) #define DRM_IOCTL_RM_DRAW DRM_IOWR(0x28, struct drm_draw) #define DRM_IOCTL_DMA DRM_IOWR(0x29, struct drm_dma) #define DRM_IOCTL_LOCK DRM_IOW( 0x2a, struct drm_lock) #define DRM_IOCTL_UNLOCK DRM_IOW( 0x2b, struct drm_lock) #define DRM_IOCTL_FINISH DRM_IOW( 0x2c, struct drm_lock) |
1da177e4c Linux-2.6.12-rc2 |
662 |
|
ba4420c22 drm: move ttm glo... |
663 |
#define DRM_IOCTL_GEM_PRIME_OPEN DRM_IOWR(0x2e, struct drm_gem_open) |
1da177e4c Linux-2.6.12-rc2 |
664 665 |
#define DRM_IOCTL_AGP_ACQUIRE DRM_IO( 0x30) #define DRM_IOCTL_AGP_RELEASE DRM_IO( 0x31) |
c60ce623b drm: remove a bun... |
666 667 668 669 670 671 |
#define DRM_IOCTL_AGP_ENABLE DRM_IOW( 0x32, struct drm_agp_mode) #define DRM_IOCTL_AGP_INFO DRM_IOR( 0x33, struct drm_agp_info) #define DRM_IOCTL_AGP_ALLOC DRM_IOWR(0x34, struct drm_agp_buffer) #define DRM_IOCTL_AGP_FREE DRM_IOW( 0x35, struct drm_agp_buffer) #define DRM_IOCTL_AGP_BIND DRM_IOW( 0x36, struct drm_agp_binding) #define DRM_IOCTL_AGP_UNBIND DRM_IOW( 0x37, struct drm_agp_binding) |
1da177e4c Linux-2.6.12-rc2 |
672 |
|
b55430590 drm: the sg alloc... |
673 |
#define DRM_IOCTL_SG_ALLOC DRM_IOWR(0x38, struct drm_scatter_gather) |
c60ce623b drm: remove a bun... |
674 |
#define DRM_IOCTL_SG_FREE DRM_IOW( 0x39, struct drm_scatter_gather) |
1da177e4c Linux-2.6.12-rc2 |
675 |
|
c60ce623b drm: remove a bun... |
676 |
#define DRM_IOCTL_WAIT_VBLANK DRM_IOWR(0x3a, union drm_wait_vblank) |
1da177e4c Linux-2.6.12-rc2 |
677 |
|
c60ce623b drm: remove a bun... |
678 |
#define DRM_IOCTL_UPDATE_DRAW DRM_IOW(0x3f, struct drm_update_draw) |
bea5679f9 drm: Add support ... |
679 |
|
f453ba046 DRM: add mode set... |
680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 |
#define DRM_IOCTL_MODE_GETRESOURCES DRM_IOWR(0xA0, struct drm_mode_card_res) #define DRM_IOCTL_MODE_GETCRTC DRM_IOWR(0xA1, struct drm_mode_crtc) #define DRM_IOCTL_MODE_SETCRTC DRM_IOWR(0xA2, struct drm_mode_crtc) #define DRM_IOCTL_MODE_CURSOR DRM_IOWR(0xA3, struct drm_mode_cursor) #define DRM_IOCTL_MODE_GETGAMMA DRM_IOWR(0xA4, struct drm_mode_crtc_lut) #define DRM_IOCTL_MODE_SETGAMMA DRM_IOWR(0xA5, struct drm_mode_crtc_lut) #define DRM_IOCTL_MODE_GETENCODER DRM_IOWR(0xA6, struct drm_mode_get_encoder) #define DRM_IOCTL_MODE_GETCONNECTOR DRM_IOWR(0xA7, struct drm_mode_get_connector) #define DRM_IOCTL_MODE_ATTACHMODE DRM_IOWR(0xA8, struct drm_mode_mode_cmd) #define DRM_IOCTL_MODE_DETACHMODE DRM_IOWR(0xA9, struct drm_mode_mode_cmd) #define DRM_IOCTL_MODE_GETPROPERTY DRM_IOWR(0xAA, struct drm_mode_get_property) #define DRM_IOCTL_MODE_SETPROPERTY DRM_IOWR(0xAB, struct drm_mode_connector_set_property) #define DRM_IOCTL_MODE_GETPROPBLOB DRM_IOWR(0xAC, struct drm_mode_get_blob) #define DRM_IOCTL_MODE_GETFB DRM_IOWR(0xAD, struct drm_mode_fb_cmd) #define DRM_IOCTL_MODE_ADDFB DRM_IOWR(0xAE, struct drm_mode_fb_cmd) #define DRM_IOCTL_MODE_RMFB DRM_IOWR(0xAF, unsigned int) |
d91d8a3f8 drm/kms: add page... |
697 |
#define DRM_IOCTL_MODE_PAGE_FLIP DRM_IOWR(0xB0, struct drm_mode_crtc_page_flip) |
884840aa3 drm: Add dirty io... |
698 |
#define DRM_IOCTL_MODE_DIRTYFB DRM_IOWR(0xB1, struct drm_mode_fb_dirty_cmd) |
f453ba046 DRM: add mode set... |
699 |
|
ff72145ba drm: dumb scanout... |
700 701 702 |
#define DRM_IOCTL_MODE_CREATE_DUMB DRM_IOWR(0xB2, struct drm_mode_create_dumb) #define DRM_IOCTL_MODE_MAP_DUMB DRM_IOWR(0xB3, struct drm_mode_map_dumb) #define DRM_IOCTL_MODE_DESTROY_DUMB DRM_IOWR(0xB4, struct drm_mode_destroy_dumb) |
8cf5c9177 drm: add plane su... |
703 704 705 |
#define DRM_IOCTL_MODE_GETPLANERESOURCES DRM_IOWR(0xB5, struct drm_mode_get_plane_res) #define DRM_IOCTL_MODE_GETPLANE DRM_IOWR(0xB6, struct drm_mode_get_plane) #define DRM_IOCTL_MODE_SETPLANE DRM_IOWR(0xB7, struct drm_mode_set_plane) |
308e5bcbd drm: add an fb cr... |
706 |
#define DRM_IOCTL_MODE_ADDFB2 DRM_IOWR(0xB8, struct drm_mode_fb_cmd2) |
ff72145ba drm: dumb scanout... |
707 |
|
1da177e4c Linux-2.6.12-rc2 |
708 709 |
/** * Device specific ioctls should only be in their respective headers |
99da6d861 drm: allow for mo... |
710 711 |
* The device specific ioctl range is from 0x40 to 0x99. * Generic IOCTLS restart at 0xA0. |
1da177e4c Linux-2.6.12-rc2 |
712 713 714 715 716 |
* * \sa drmCommandNone(), drmCommandRead(), drmCommandWrite(), and * drmCommandReadWrite(). */ #define DRM_COMMAND_BASE 0x40 |
99da6d861 drm: allow for mo... |
717 |
#define DRM_COMMAND_END 0xA0 |
1da177e4c Linux-2.6.12-rc2 |
718 |
|
c9a9c5e02 drm: Add async ev... |
719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 |
/** * Header for events written back to userspace on the drm fd. The * type defines the type of event, the length specifies the total * length of the event (including the header), and user_data is * typically a 64 bit value passed with the ioctl that triggered the * event. A read on the drm fd will always only return complete * events, that is, if for example the read buffer is 100 bytes, and * there are two 64 byte events pending, only one will be returned. * * Event types 0 - 0x7fffffff are generic drm events, 0x80000000 and * up are chipset specific. */ struct drm_event { __u32 type; __u32 length; }; #define DRM_EVENT_VBLANK 0x01 |
7bd4d7be5 drm: use page fli... |
737 |
#define DRM_EVENT_FLIP_COMPLETE 0x02 |
c9a9c5e02 drm: Add async ev... |
738 739 740 741 742 743 744 745 746 |
struct drm_event_vblank { struct drm_event base; __u64 user_data; __u32 tv_sec; __u32 tv_usec; __u32 sequence; __u32 reserved; }; |
e73f88af6 drm: add cap bit ... |
747 |
#define DRM_CAP_DUMB_BUFFER 0x1 |
51eab416c drm/vblank: updat... |
748 |
#define DRM_CAP_VBLANK_HIGH_CRTC 0x2 |
e73f88af6 drm: add cap bit ... |
749 |
|
c60ce623b drm: remove a bun... |
750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 |
/* typedef area */ #ifndef __KERNEL__ typedef struct drm_clip_rect drm_clip_rect_t; typedef struct drm_drawable_info drm_drawable_info_t; typedef struct drm_tex_region drm_tex_region_t; typedef struct drm_hw_lock drm_hw_lock_t; typedef struct drm_version drm_version_t; typedef struct drm_unique drm_unique_t; typedef struct drm_list drm_list_t; typedef struct drm_block drm_block_t; typedef struct drm_control drm_control_t; typedef enum drm_map_type drm_map_type_t; typedef enum drm_map_flags drm_map_flags_t; typedef struct drm_ctx_priv_map drm_ctx_priv_map_t; typedef struct drm_map drm_map_t; typedef struct drm_client drm_client_t; typedef enum drm_stat_type drm_stat_type_t; typedef struct drm_stats drm_stats_t; typedef enum drm_lock_flags drm_lock_flags_t; typedef struct drm_lock drm_lock_t; typedef enum drm_dma_flags drm_dma_flags_t; typedef struct drm_buf_desc drm_buf_desc_t; typedef struct drm_buf_info drm_buf_info_t; typedef struct drm_buf_free drm_buf_free_t; typedef struct drm_buf_pub drm_buf_pub_t; typedef struct drm_buf_map drm_buf_map_t; typedef struct drm_dma drm_dma_t; typedef union drm_wait_vblank drm_wait_vblank_t; typedef struct drm_agp_mode drm_agp_mode_t; typedef enum drm_ctx_flags drm_ctx_flags_t; typedef struct drm_ctx drm_ctx_t; typedef struct drm_ctx_res drm_ctx_res_t; typedef struct drm_draw drm_draw_t; typedef struct drm_update_draw drm_update_draw_t; typedef struct drm_auth drm_auth_t; typedef struct drm_irq_busid drm_irq_busid_t; typedef enum drm_vblank_seq_type drm_vblank_seq_type_t; typedef struct drm_agp_buffer drm_agp_buffer_t; typedef struct drm_agp_binding drm_agp_binding_t; typedef struct drm_agp_info drm_agp_info_t; typedef struct drm_scatter_gather drm_scatter_gather_t; typedef struct drm_set_version drm_set_version_t; #endif |
1da177e4c Linux-2.6.12-rc2 |
794 |
#endif |