summaryrefslogtreecommitdiff
path: root/bsd/drm_linux.h
blob: 05b4409051af8a53840a1a5a0fac8d4d455a11b8 (plain)
1
2
3
4
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
/*
 * Copyright (c) 2000 by Coleman Kane <cokane@FreeBSD.org>
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. All advertising materials mentioning features or use of this software
 *    must display the following acknowledgement:
 *      This product includes software developed by Gardner Buchanan.
 * 4. The name of Gardner Buchanan may not be used to endorse or promote
 *    products derived from this software without specific prior written
 *    permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 *
 *   $FreeBSD: src/sys/dev/tdfx/tdfx_linux.h,v 1.4 2000/08/22 05:57:55 marcel Exp $
 */

/* FIXME: There are IOCTLS to merge in here, see drm.h*/

/* Query IOCTLs */
/* XFree86 4.1.x DRI support */

#define LINUX_DRM_IOCTL_VERSION		0x6400
#define LINUX_DRM_IOCTL_GET_UNIQUE	0x6401
#define LINUX_DRM_IOCTL_GET_MAGIC	0x6402
#define LINUX_DRM_IOCTL_IRQ_BUSID	0x6403
#define LINUX_DRM_IOCTL_GET_MAP		0x6404
#define LINUX_DRM_IOCTL_GET_CLIENT	0x6405
#define LINUX_DRM_IOCTL_GET_STATS	0x6406

#define LINUX_DRM_IOCTL_SET_UNIQUE	0x6410
#define LINUX_DRM_IOCTL_AUTH_MAGIC	0x6411
#define LINUX_DRM_IOCTL_BLOCK		0x6412
#define LINUX_DRM_IOCTL_UNBLOCK		0x6413
#define LINUX_DRM_IOCTL_CONTROL		0x6414
#define LINUX_DRM_IOCTL_ADD_MAP		0x6415
#define LINUX_DRM_IOCTL_ADD_BUFS	0x6416
#define LINUX_DRM_IOCTL_MARK_BUFS	0x6417
#define LINUX_DRM_IOCTL_INFO_BUFS	0x6418
#define LINUX_DRM_IOCTL_MAP_BUFS	0x6419
#define LINUX_DRM_IOCTL_FREE_BUFS	0x641a

#define LINUX_DRM_IOCTL_RM_MAP		0x641b

#define LINUX_DRM_IOCTL_SET_SAREA_CTX	0x641c
#define LINUX_DRM_IOCTL_GET_SAREA_CTX 	0x641d

#define LINUX_DRM_IOCTL_ADD_CTX		0x6420
#define LINUX_DRM_IOCTL_RM_CTX		0x6421
#define LINUX_DRM_IOCTL_MOD_CTX		0x6422
#define LINUX_DRM_IOCTL_GET_CTX		0x6423
#define LINUX_DRM_IOCTL_SWITCH_CTX	0x6424
#define LINUX_DRM_IOCTL_NEW_CTX		0x6425
#define LINUX_DRM_IOCTL_RES_CTX		0x6426
#define LINUX_DRM_IOCTL_ADD_DRAW	0x6427
#define LINUX_DRM_IOCTL_RM_DRAW		0x6428
#define LINUX_DRM_IOCTL_DMA		0x6429
#define LINUX_DRM_IOCTL_LOCK		0x642a
#define LINUX_DRM_IOCTL_UNLOCK		0x642b
#define LINUX_DRM_IOCTL_FINISH		0x642c

#define LINUX_DRM_IOCTL_AGP_ACQUIRE	0x6430
#define LINUX_DRM_IOCTL_AGP_RELEASE	0x6431
#define LINUX_DRM_IOCTL_AGP_ENABLE	0x6432
#define LINUX_DRM_IOCTL_AGP_INFO	0x6433
#define LINUX_DRM_IOCTL_AGP_ALLOC	0x6434
#define LINUX_DRM_IOCTL_AGP_FREE	0x6435
#define LINUX_DRM_IOCTL_AGP_BIND	0x6436
#define LINUX_DRM_IOCTL_AGP_UNBIND	0x6437

#define LINUX_DRM_IOCTL_SG_ALLOC	0x6438
#define LINUX_DRM_IOCTL_SG_FREE		0x6439

/* MGA specific ioctls */
#define LINUX_DRM_IOCTL_MGA_INIT	0x6440
#define LINUX_DRM_IOCTL_MGA_FLUSH	0x6441
#define LINUX_DRM_IOCTL_MGA_RESET	0x6442
#define LINUX_DRM_IOCTL_MGA_SWAP	0x6443
#define LINUX_DRM_IOCTL_MGA_CLEAR	0x6444
#define LINUX_DRM_IOCTL_MGA_VERTEX	0x6445
#define LINUX_DRM_IOCTL_MGA_INDICES	0x6446
#define LINUX_DRM_IOCTL_MGA_ILOAD	0x6447
#define LINUX_DRM_IOCTL_MGA_BLIT	0x6448

/* i810 specific ioctls */
#define LINUX_DRM_IOCTL_I810_INIT	0x6440
#define LINUX_DRM_IOCTL_I810_VERTEX	0x6441
#define LINUX_DRM_IOCTL_I810_CLEAR	0x6442
#define LINUX_DRM_IOCTL_I810_FLUSH	0x6443
#define LINUX_DRM_IOCTL_I810_GETAGE	0x6444
#define LINUX_DRM_IOCTL_I810_GETBUF	0x6445
#define LINUX_DRM_IOCTL_I810_SWAP	0x6446
#define LINUX_DRM_IOCTL_I810_COPY	0x6447
#define LINUX_DRM_IOCTL_I810_DOCOPY	0x6448

/* I830 specific ioctls */
#define LINUX_DRM_IOCTL_I830_INIT	0x6440
#define LINUX_DRM_IOCTL_I830_VERTEX	0x6441
#define LINUX_DRM_IOCTL_I830_CLEAR	0x6442
#define LINUX_DRM_IOCTL_I830_FLUSH	0x6443
#define LINUX_DRM_IOCTL_I830_GETAGE	0x6444
#define LINUX_DRM_IOCTL_I830_GETBUF	0x6445
#define LINUX_DRM_IOCTL_I830_SWAP	0x6446
#define LINUX_DRM_IOCTL_I830_COPY	0x6447
#define LINUX_DRM_IOCTL_I830_DOCOPY	0x6448

/* Rage 128 specific ioctls */
#define LINUX_DRM_IOCTL_R128_INIT	0x6440
#define LINUX_DRM_IOCTL_R128_CCE_START	0x6441
#define LINUX_DRM_IOCTL_R128_CCE_STOP	0x6442
#define LINUX_DRM_IOCTL_R128_CCE_RESET	0x6443
#define LINUX_DRM_IOCTL_R128_CCE_IDLE	0x6444
#define LINUX_DRM_IOCTL_R128_RESET	0x6446
#define LINUX_DRM_IOCTL_R128_SWAP	0x6447
#define LINUX_DRM_IOCTL_R128_CLEAR	0x6448
#define LINUX_DRM_IOCTL_R128_VERTEX	0x6449
#define LINUX_DRM_IOCTL_R128_INDICES	0x644a
#define LINUX_DRM_IOCTL_R128_BLIT	0x644b
#define LINUX_DRM_IOCTL_R128_DEPTH	0x644c
#define LINUX_DRM_IOCTL_R128_STIPPLE	0x644d
#define LINUX_DRM_IOCTL_R128_INDIRECT	0x644f
#define LINUX_DRM_IOCTL_R128_FULLSCREEN	0x6450

/* Radeon specific ioctls */
#define LINUX_DRM_IOCTL_RADEON_CP_INIT	0x6440
#define LINUX_DRM_IOCTL_RADEON_CP_START	0x6441
#define LINUX_DRM_IOCTL_RADEON_CP_STOP	0x6442
#define LINUX_DRM_IOCTL_RADEON_CP_RESET	0x6443
#define LINUX_DRM_IOCTL_RADEON_CP_IDLE	0x6444
#define LINUX_DRM_IOCTL_RADEON_RESET	0x6445
#define LINUX_DRM_IOCTL_RADEON_FULLSCREEN	0x6446
#define LINUX_DRM_IOCTL_RADEON_SWAP	0x6447
#define LINUX_DRM_IOCTL_RADEON_CLEAR	0x6448
#define LINUX_DRM_IOCTL_RADEON_VERTEX	0x6449
#define LINUX_DRM_IOCTL_RADEON_INDICES	0x644a
#define LINUX_DRM_IOCTL_RADEON_STIPPLE	0x644c
#define LINUX_DRM_IOCTL_RADEON_INDIRECT	0x644d
#define LINUX_DRM_IOCTL_RADEON_TEXTURE	0x644e
#define LINUX_DRM_IOCTL_RADEON_VERTEX2	0x644f

/* card specific ioctls may increase the DRM_MAX */
#define LINUX_IOCTL_DRM_MIN		LINUX_DRM_IOCTL_VERSION
#define LINUX_IOCTL_DRM_MAX		LINUX_DRM_IOCTL_R128_FULLSCREEN