+3
include/uapi/video/Kbuild
+3
include/uapi/video/Kbuild
+9
include/uapi/video/edid.h
+9
include/uapi/video/edid.h
+209
include/uapi/video/sisfb.h
+209
include/uapi/video/sisfb.h
···
1
+
/*
2
+
* sisfb.h - definitions for the SiS framebuffer driver
3
+
*
4
+
* Copyright (C) 2001-2005 by Thomas Winischhofer, Vienna, Austria.
5
+
*
6
+
* This program is free software; you can redistribute it and/or modify
7
+
* it under the terms of the GNU General Public License as published by
8
+
* the Free Software Foundation; either version 2 of the named License,
9
+
* or any later version.
10
+
*
11
+
* This program is distributed in the hope that it will be useful,
12
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
+
* GNU General Public License for more details.
15
+
*
16
+
* You should have received a copy of the GNU General Public License
17
+
* along with this program; if not, write to the Free Software
18
+
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
19
+
*/
20
+
21
+
#ifndef _UAPI_LINUX_SISFB_H_
22
+
#define _UAPI_LINUX_SISFB_H_
23
+
24
+
#include <linux/types.h>
25
+
#include <asm/ioctl.h>
26
+
27
+
/**********************************************/
28
+
/* PUBLIC */
29
+
/**********************************************/
30
+
31
+
/* vbflags, public (others in sis.h) */
32
+
#define CRT2_DEFAULT 0x00000001
33
+
#define CRT2_LCD 0x00000002
34
+
#define CRT2_TV 0x00000004
35
+
#define CRT2_VGA 0x00000008
36
+
#define TV_NTSC 0x00000010
37
+
#define TV_PAL 0x00000020
38
+
#define TV_HIVISION 0x00000040
39
+
#define TV_YPBPR 0x00000080
40
+
#define TV_AVIDEO 0x00000100
41
+
#define TV_SVIDEO 0x00000200
42
+
#define TV_SCART 0x00000400
43
+
#define TV_PALM 0x00001000
44
+
#define TV_PALN 0x00002000
45
+
#define TV_NTSCJ 0x00001000
46
+
#define TV_CHSCART 0x00008000
47
+
#define TV_CHYPBPR525I 0x00010000
48
+
#define CRT1_VGA 0x00000000
49
+
#define CRT1_LCDA 0x00020000
50
+
#define VGA2_CONNECTED 0x00040000
51
+
#define VB_DISPTYPE_CRT1 0x00080000 /* CRT1 connected and used */
52
+
#define VB_SINGLE_MODE 0x20000000 /* CRT1 or CRT2; determined by DISPTYPE_CRTx */
53
+
#define VB_MIRROR_MODE 0x40000000 /* CRT1 + CRT2 identical (mirror mode) */
54
+
#define VB_DUALVIEW_MODE 0x80000000 /* CRT1 + CRT2 independent (dual head mode) */
55
+
56
+
/* Aliases: */
57
+
#define CRT2_ENABLE (CRT2_LCD | CRT2_TV | CRT2_VGA)
58
+
#define TV_STANDARD (TV_NTSC | TV_PAL | TV_PALM | TV_PALN | TV_NTSCJ)
59
+
#define TV_INTERFACE (TV_AVIDEO|TV_SVIDEO|TV_SCART|TV_HIVISION|TV_YPBPR|TV_CHSCART|TV_CHYPBPR525I)
60
+
61
+
/* Only if TV_YPBPR is set: */
62
+
#define TV_YPBPR525I TV_NTSC
63
+
#define TV_YPBPR525P TV_PAL
64
+
#define TV_YPBPR750P TV_PALM
65
+
#define TV_YPBPR1080I TV_PALN
66
+
#define TV_YPBPRALL (TV_YPBPR525I | TV_YPBPR525P | TV_YPBPR750P | TV_YPBPR1080I)
67
+
68
+
#define VB_DISPTYPE_DISP2 CRT2_ENABLE
69
+
#define VB_DISPTYPE_CRT2 CRT2_ENABLE
70
+
#define VB_DISPTYPE_DISP1 VB_DISPTYPE_CRT1
71
+
#define VB_DISPMODE_SINGLE VB_SINGLE_MODE
72
+
#define VB_DISPMODE_MIRROR VB_MIRROR_MODE
73
+
#define VB_DISPMODE_DUAL VB_DUALVIEW_MODE
74
+
#define VB_DISPLAY_MODE (SINGLE_MODE | MIRROR_MODE | DUALVIEW_MODE)
75
+
76
+
/* Structure argument for SISFB_GET_INFO ioctl */
77
+
struct sisfb_info {
78
+
__u32 sisfb_id; /* for identifying sisfb */
79
+
#ifndef SISFB_ID
80
+
#define SISFB_ID 0x53495346 /* Identify myself with 'SISF' */
81
+
#endif
82
+
__u32 chip_id; /* PCI-ID of detected chip */
83
+
__u32 memory; /* total video memory in KB */
84
+
__u32 heapstart; /* heap start offset in KB */
85
+
__u8 fbvidmode; /* current sisfb mode */
86
+
87
+
__u8 sisfb_version;
88
+
__u8 sisfb_revision;
89
+
__u8 sisfb_patchlevel;
90
+
91
+
__u8 sisfb_caps; /* sisfb capabilities */
92
+
93
+
__u32 sisfb_tqlen; /* turbo queue length (in KB) */
94
+
95
+
__u32 sisfb_pcibus; /* The card's PCI ID */
96
+
__u32 sisfb_pcislot;
97
+
__u32 sisfb_pcifunc;
98
+
99
+
__u8 sisfb_lcdpdc; /* PanelDelayCompensation */
100
+
101
+
__u8 sisfb_lcda; /* Detected status of LCDA for low res/text modes */
102
+
103
+
__u32 sisfb_vbflags;
104
+
__u32 sisfb_currentvbflags;
105
+
106
+
__u32 sisfb_scalelcd;
107
+
__u32 sisfb_specialtiming;
108
+
109
+
__u8 sisfb_haveemi;
110
+
__u8 sisfb_emi30,sisfb_emi31,sisfb_emi32,sisfb_emi33;
111
+
__u8 sisfb_haveemilcd;
112
+
113
+
__u8 sisfb_lcdpdca; /* PanelDelayCompensation for LCD-via-CRT1 */
114
+
115
+
__u16 sisfb_tvxpos, sisfb_tvypos; /* Warning: Values + 32 ! */
116
+
117
+
__u32 sisfb_heapsize; /* heap size (in KB) */
118
+
__u32 sisfb_videooffset; /* Offset of viewport in video memory (in bytes) */
119
+
120
+
__u32 sisfb_curfstn; /* currently running FSTN/DSTN mode */
121
+
__u32 sisfb_curdstn;
122
+
123
+
__u16 sisfb_pci_vendor; /* PCI vendor (SiS or XGI) */
124
+
125
+
__u32 sisfb_vbflags2; /* ivideo->vbflags2 */
126
+
127
+
__u8 sisfb_can_post; /* sisfb can POST this card */
128
+
__u8 sisfb_card_posted; /* card is POSTED */
129
+
__u8 sisfb_was_boot_device; /* This card was the boot video device (ie is primary) */
130
+
131
+
__u8 reserved[183]; /* for future use */
132
+
};
133
+
134
+
#define SISFB_CMD_GETVBFLAGS 0x55AA0001 /* no arg; result[1] = vbflags */
135
+
#define SISFB_CMD_SWITCHCRT1 0x55AA0010 /* arg[0]: 99 = query, 0 = off, 1 = on */
136
+
/* more to come */
137
+
138
+
#define SISFB_CMD_ERR_OK 0x80000000 /* command succeeded */
139
+
#define SISFB_CMD_ERR_LOCKED 0x80000001 /* sisfb is locked */
140
+
#define SISFB_CMD_ERR_EARLY 0x80000002 /* request before sisfb took over gfx system */
141
+
#define SISFB_CMD_ERR_NOVB 0x80000003 /* No video bridge */
142
+
#define SISFB_CMD_ERR_NOCRT2 0x80000004 /* can't change CRT1 status, CRT2 disabled */
143
+
/* more to come */
144
+
#define SISFB_CMD_ERR_UNKNOWN 0x8000ffff /* Unknown command */
145
+
#define SISFB_CMD_ERR_OTHER 0x80010000 /* Other error */
146
+
147
+
/* Argument for SISFB_CMD ioctl */
148
+
struct sisfb_cmd {
149
+
__u32 sisfb_cmd;
150
+
__u32 sisfb_arg[16];
151
+
__u32 sisfb_result[4];
152
+
};
153
+
154
+
/* Additional IOCTLs for communication sisfb <> X driver */
155
+
/* If changing this, vgatypes.h must also be changed (for X driver) */
156
+
157
+
/* ioctl for identifying and giving some info (esp. memory heap start) */
158
+
#define SISFB_GET_INFO_SIZE _IOR(0xF3,0x00,__u32)
159
+
#define SISFB_GET_INFO _IOR(0xF3,0x01,struct sisfb_info)
160
+
161
+
/* ioctrl to get current vertical retrace status */
162
+
#define SISFB_GET_VBRSTATUS _IOR(0xF3,0x02,__u32)
163
+
164
+
/* ioctl to enable/disable panning auto-maximize (like nomax parameter) */
165
+
#define SISFB_GET_AUTOMAXIMIZE _IOR(0xF3,0x03,__u32)
166
+
#define SISFB_SET_AUTOMAXIMIZE _IOW(0xF3,0x03,__u32)
167
+
168
+
/* ioctls to relocate TV output (x=D[31:16], y=D[15:0], + 32)*/
169
+
#define SISFB_GET_TVPOSOFFSET _IOR(0xF3,0x04,__u32)
170
+
#define SISFB_SET_TVPOSOFFSET _IOW(0xF3,0x04,__u32)
171
+
172
+
/* ioctl for internal sisfb commands (sisfbctrl) */
173
+
#define SISFB_COMMAND _IOWR(0xF3,0x05,struct sisfb_cmd)
174
+
175
+
/* ioctl for locking sisfb (no register access during lock) */
176
+
/* As of now, only used to avoid register access during
177
+
* the ioctls listed above.
178
+
*/
179
+
#define SISFB_SET_LOCK _IOW(0xF3,0x06,__u32)
180
+
181
+
/* ioctls 0xF3 up to 0x3F reserved for sisfb */
182
+
183
+
/****************************************************************/
184
+
/* The following are deprecated and should not be used anymore: */
185
+
/****************************************************************/
186
+
/* ioctl for identifying and giving some info (esp. memory heap start) */
187
+
#define SISFB_GET_INFO_OLD _IOR('n',0xF8,__u32)
188
+
/* ioctrl to get current vertical retrace status */
189
+
#define SISFB_GET_VBRSTATUS_OLD _IOR('n',0xF9,__u32)
190
+
/* ioctl to enable/disable panning auto-maximize (like nomax parameter) */
191
+
#define SISFB_GET_AUTOMAXIMIZE_OLD _IOR('n',0xFA,__u32)
192
+
#define SISFB_SET_AUTOMAXIMIZE_OLD _IOW('n',0xFA,__u32)
193
+
/****************************************************************/
194
+
/* End of deprecated ioctl numbers */
195
+
/****************************************************************/
196
+
197
+
/* For fb memory manager (FBIO_ALLOC, FBIO_FREE) */
198
+
struct sis_memreq {
199
+
__u32 offset;
200
+
__u32 size;
201
+
};
202
+
203
+
/**********************************************/
204
+
/* PRIVATE */
205
+
/* (for IN-KERNEL usage only) */
206
+
/**********************************************/
207
+
208
+
209
+
#endif /* _UAPI_LINUX_SISFB_H_ */
+60
include/uapi/video/uvesafb.h
+60
include/uapi/video/uvesafb.h
···
1
+
#ifndef _UAPI_UVESAFB_H
2
+
#define _UAPI_UVESAFB_H
3
+
4
+
#include <linux/types.h>
5
+
6
+
struct v86_regs {
7
+
__u32 ebx;
8
+
__u32 ecx;
9
+
__u32 edx;
10
+
__u32 esi;
11
+
__u32 edi;
12
+
__u32 ebp;
13
+
__u32 eax;
14
+
__u32 eip;
15
+
__u32 eflags;
16
+
__u32 esp;
17
+
__u16 cs;
18
+
__u16 ss;
19
+
__u16 es;
20
+
__u16 ds;
21
+
__u16 fs;
22
+
__u16 gs;
23
+
};
24
+
25
+
/* Task flags */
26
+
#define TF_VBEIB 0x01
27
+
#define TF_BUF_ESDI 0x02
28
+
#define TF_BUF_ESBX 0x04
29
+
#define TF_BUF_RET 0x08
30
+
#define TF_EXIT 0x10
31
+
32
+
struct uvesafb_task {
33
+
__u8 flags;
34
+
int buf_len;
35
+
struct v86_regs regs;
36
+
};
37
+
38
+
/* Constants for the capabilities field
39
+
* in vbe_ib */
40
+
#define VBE_CAP_CAN_SWITCH_DAC 0x01
41
+
#define VBE_CAP_VGACOMPAT 0x02
42
+
43
+
/* The VBE Info Block */
44
+
struct vbe_ib {
45
+
char vbe_signature[4];
46
+
__u16 vbe_version;
47
+
__u32 oem_string_ptr;
48
+
__u32 capabilities;
49
+
__u32 mode_list_ptr;
50
+
__u16 total_memory;
51
+
__u16 oem_software_rev;
52
+
__u32 oem_vendor_name_ptr;
53
+
__u32 oem_product_name_ptr;
54
+
__u32 oem_product_rev_ptr;
55
+
__u8 reserved[222];
56
+
char oem_data[256];
57
+
char misc_data[512];
58
+
} __attribute__ ((packed));
59
+
60
+
#endif /* _UAPI_UVESAFB_H */
-3
include/video/Kbuild
-3
include/video/Kbuild
+1
-6
include/video/edid.h
+1
-6
include/video/edid.h
···
1
1
#ifndef __linux_video_edid_h__
2
2
#define __linux_video_edid_h__
3
3
4
-
struct edid_info {
5
-
unsigned char dummy[128];
6
-
};
4
+
#include <uapi/video/edid.h>
7
5
8
-
#ifdef __KERNEL__
9
6
#ifdef CONFIG_X86
10
7
extern struct edid_info edid_info;
11
8
#endif
12
-
#endif
13
-
14
9
#endif /* __linux_video_edid_h__ */
+1
-188
include/video/sisfb.h
+1
-188
include/video/sisfb.h
···
17
17
* along with this program; if not, write to the Free Software
18
18
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
19
19
*/
20
-
21
20
#ifndef _LINUX_SISFB_H_
22
21
#define _LINUX_SISFB_H_
23
22
24
-
#include <linux/types.h>
25
-
#include <asm/ioctl.h>
26
-
27
-
/**********************************************/
28
-
/* PUBLIC */
29
-
/**********************************************/
30
-
31
-
/* vbflags, public (others in sis.h) */
32
-
#define CRT2_DEFAULT 0x00000001
33
-
#define CRT2_LCD 0x00000002
34
-
#define CRT2_TV 0x00000004
35
-
#define CRT2_VGA 0x00000008
36
-
#define TV_NTSC 0x00000010
37
-
#define TV_PAL 0x00000020
38
-
#define TV_HIVISION 0x00000040
39
-
#define TV_YPBPR 0x00000080
40
-
#define TV_AVIDEO 0x00000100
41
-
#define TV_SVIDEO 0x00000200
42
-
#define TV_SCART 0x00000400
43
-
#define TV_PALM 0x00001000
44
-
#define TV_PALN 0x00002000
45
-
#define TV_NTSCJ 0x00001000
46
-
#define TV_CHSCART 0x00008000
47
-
#define TV_CHYPBPR525I 0x00010000
48
-
#define CRT1_VGA 0x00000000
49
-
#define CRT1_LCDA 0x00020000
50
-
#define VGA2_CONNECTED 0x00040000
51
-
#define VB_DISPTYPE_CRT1 0x00080000 /* CRT1 connected and used */
52
-
#define VB_SINGLE_MODE 0x20000000 /* CRT1 or CRT2; determined by DISPTYPE_CRTx */
53
-
#define VB_MIRROR_MODE 0x40000000 /* CRT1 + CRT2 identical (mirror mode) */
54
-
#define VB_DUALVIEW_MODE 0x80000000 /* CRT1 + CRT2 independent (dual head mode) */
55
-
56
-
/* Aliases: */
57
-
#define CRT2_ENABLE (CRT2_LCD | CRT2_TV | CRT2_VGA)
58
-
#define TV_STANDARD (TV_NTSC | TV_PAL | TV_PALM | TV_PALN | TV_NTSCJ)
59
-
#define TV_INTERFACE (TV_AVIDEO|TV_SVIDEO|TV_SCART|TV_HIVISION|TV_YPBPR|TV_CHSCART|TV_CHYPBPR525I)
60
-
61
-
/* Only if TV_YPBPR is set: */
62
-
#define TV_YPBPR525I TV_NTSC
63
-
#define TV_YPBPR525P TV_PAL
64
-
#define TV_YPBPR750P TV_PALM
65
-
#define TV_YPBPR1080I TV_PALN
66
-
#define TV_YPBPRALL (TV_YPBPR525I | TV_YPBPR525P | TV_YPBPR750P | TV_YPBPR1080I)
67
-
68
-
#define VB_DISPTYPE_DISP2 CRT2_ENABLE
69
-
#define VB_DISPTYPE_CRT2 CRT2_ENABLE
70
-
#define VB_DISPTYPE_DISP1 VB_DISPTYPE_CRT1
71
-
#define VB_DISPMODE_SINGLE VB_SINGLE_MODE
72
-
#define VB_DISPMODE_MIRROR VB_MIRROR_MODE
73
-
#define VB_DISPMODE_DUAL VB_DUALVIEW_MODE
74
-
#define VB_DISPLAY_MODE (SINGLE_MODE | MIRROR_MODE | DUALVIEW_MODE)
75
-
76
-
/* Structure argument for SISFB_GET_INFO ioctl */
77
-
struct sisfb_info {
78
-
__u32 sisfb_id; /* for identifying sisfb */
79
-
#ifndef SISFB_ID
80
-
#define SISFB_ID 0x53495346 /* Identify myself with 'SISF' */
81
-
#endif
82
-
__u32 chip_id; /* PCI-ID of detected chip */
83
-
__u32 memory; /* total video memory in KB */
84
-
__u32 heapstart; /* heap start offset in KB */
85
-
__u8 fbvidmode; /* current sisfb mode */
86
-
87
-
__u8 sisfb_version;
88
-
__u8 sisfb_revision;
89
-
__u8 sisfb_patchlevel;
90
-
91
-
__u8 sisfb_caps; /* sisfb capabilities */
92
-
93
-
__u32 sisfb_tqlen; /* turbo queue length (in KB) */
94
-
95
-
__u32 sisfb_pcibus; /* The card's PCI ID */
96
-
__u32 sisfb_pcislot;
97
-
__u32 sisfb_pcifunc;
98
-
99
-
__u8 sisfb_lcdpdc; /* PanelDelayCompensation */
100
-
101
-
__u8 sisfb_lcda; /* Detected status of LCDA for low res/text modes */
102
-
103
-
__u32 sisfb_vbflags;
104
-
__u32 sisfb_currentvbflags;
105
-
106
-
__u32 sisfb_scalelcd;
107
-
__u32 sisfb_specialtiming;
108
-
109
-
__u8 sisfb_haveemi;
110
-
__u8 sisfb_emi30,sisfb_emi31,sisfb_emi32,sisfb_emi33;
111
-
__u8 sisfb_haveemilcd;
112
-
113
-
__u8 sisfb_lcdpdca; /* PanelDelayCompensation for LCD-via-CRT1 */
114
-
115
-
__u16 sisfb_tvxpos, sisfb_tvypos; /* Warning: Values + 32 ! */
116
-
117
-
__u32 sisfb_heapsize; /* heap size (in KB) */
118
-
__u32 sisfb_videooffset; /* Offset of viewport in video memory (in bytes) */
119
-
120
-
__u32 sisfb_curfstn; /* currently running FSTN/DSTN mode */
121
-
__u32 sisfb_curdstn;
122
-
123
-
__u16 sisfb_pci_vendor; /* PCI vendor (SiS or XGI) */
124
-
125
-
__u32 sisfb_vbflags2; /* ivideo->vbflags2 */
126
-
127
-
__u8 sisfb_can_post; /* sisfb can POST this card */
128
-
__u8 sisfb_card_posted; /* card is POSTED */
129
-
__u8 sisfb_was_boot_device; /* This card was the boot video device (ie is primary) */
130
-
131
-
__u8 reserved[183]; /* for future use */
132
-
};
133
-
134
-
#define SISFB_CMD_GETVBFLAGS 0x55AA0001 /* no arg; result[1] = vbflags */
135
-
#define SISFB_CMD_SWITCHCRT1 0x55AA0010 /* arg[0]: 99 = query, 0 = off, 1 = on */
136
-
/* more to come */
137
-
138
-
#define SISFB_CMD_ERR_OK 0x80000000 /* command succeeded */
139
-
#define SISFB_CMD_ERR_LOCKED 0x80000001 /* sisfb is locked */
140
-
#define SISFB_CMD_ERR_EARLY 0x80000002 /* request before sisfb took over gfx system */
141
-
#define SISFB_CMD_ERR_NOVB 0x80000003 /* No video bridge */
142
-
#define SISFB_CMD_ERR_NOCRT2 0x80000004 /* can't change CRT1 status, CRT2 disabled */
143
-
/* more to come */
144
-
#define SISFB_CMD_ERR_UNKNOWN 0x8000ffff /* Unknown command */
145
-
#define SISFB_CMD_ERR_OTHER 0x80010000 /* Other error */
146
-
147
-
/* Argument for SISFB_CMD ioctl */
148
-
struct sisfb_cmd {
149
-
__u32 sisfb_cmd;
150
-
__u32 sisfb_arg[16];
151
-
__u32 sisfb_result[4];
152
-
};
153
-
154
-
/* Additional IOCTLs for communication sisfb <> X driver */
155
-
/* If changing this, vgatypes.h must also be changed (for X driver) */
156
-
157
-
/* ioctl for identifying and giving some info (esp. memory heap start) */
158
-
#define SISFB_GET_INFO_SIZE _IOR(0xF3,0x00,__u32)
159
-
#define SISFB_GET_INFO _IOR(0xF3,0x01,struct sisfb_info)
160
-
161
-
/* ioctrl to get current vertical retrace status */
162
-
#define SISFB_GET_VBRSTATUS _IOR(0xF3,0x02,__u32)
163
-
164
-
/* ioctl to enable/disable panning auto-maximize (like nomax parameter) */
165
-
#define SISFB_GET_AUTOMAXIMIZE _IOR(0xF3,0x03,__u32)
166
-
#define SISFB_SET_AUTOMAXIMIZE _IOW(0xF3,0x03,__u32)
167
-
168
-
/* ioctls to relocate TV output (x=D[31:16], y=D[15:0], + 32)*/
169
-
#define SISFB_GET_TVPOSOFFSET _IOR(0xF3,0x04,__u32)
170
-
#define SISFB_SET_TVPOSOFFSET _IOW(0xF3,0x04,__u32)
171
-
172
-
/* ioctl for internal sisfb commands (sisfbctrl) */
173
-
#define SISFB_COMMAND _IOWR(0xF3,0x05,struct sisfb_cmd)
174
-
175
-
/* ioctl for locking sisfb (no register access during lock) */
176
-
/* As of now, only used to avoid register access during
177
-
* the ioctls listed above.
178
-
*/
179
-
#define SISFB_SET_LOCK _IOW(0xF3,0x06,__u32)
180
-
181
-
/* ioctls 0xF3 up to 0x3F reserved for sisfb */
182
-
183
-
/****************************************************************/
184
-
/* The following are deprecated and should not be used anymore: */
185
-
/****************************************************************/
186
-
/* ioctl for identifying and giving some info (esp. memory heap start) */
187
-
#define SISFB_GET_INFO_OLD _IOR('n',0xF8,__u32)
188
-
/* ioctrl to get current vertical retrace status */
189
-
#define SISFB_GET_VBRSTATUS_OLD _IOR('n',0xF9,__u32)
190
-
/* ioctl to enable/disable panning auto-maximize (like nomax parameter) */
191
-
#define SISFB_GET_AUTOMAXIMIZE_OLD _IOR('n',0xFA,__u32)
192
-
#define SISFB_SET_AUTOMAXIMIZE_OLD _IOW('n',0xFA,__u32)
193
-
/****************************************************************/
194
-
/* End of deprecated ioctl numbers */
195
-
/****************************************************************/
196
-
197
-
/* For fb memory manager (FBIO_ALLOC, FBIO_FREE) */
198
-
struct sis_memreq {
199
-
__u32 offset;
200
-
__u32 size;
201
-
};
202
-
203
-
/**********************************************/
204
-
/* PRIVATE */
205
-
/* (for IN-KERNEL usage only) */
206
-
/**********************************************/
207
-
208
-
#ifdef __KERNEL__
209
23
210
24
#include <linux/pci.h>
25
+
#include <uapi/video/sisfb.h>
211
26
212
27
#define UNKNOWN_VGA 0
213
28
#define SIS_300_VGA 1
···
34
219
35
220
extern void sis_free(u32 base);
36
221
extern void sis_free_new(struct pci_dev *pdev, u32 base);
37
-
#endif
38
-
39
222
#endif
+1
-57
include/video/uvesafb.h
+1
-57
include/video/uvesafb.h
···
1
1
#ifndef _UVESAFB_H
2
2
#define _UVESAFB_H
3
3
4
-
#include <linux/types.h>
4
+
#include <uapi/video/uvesafb.h>
5
5
6
-
struct v86_regs {
7
-
__u32 ebx;
8
-
__u32 ecx;
9
-
__u32 edx;
10
-
__u32 esi;
11
-
__u32 edi;
12
-
__u32 ebp;
13
-
__u32 eax;
14
-
__u32 eip;
15
-
__u32 eflags;
16
-
__u32 esp;
17
-
__u16 cs;
18
-
__u16 ss;
19
-
__u16 es;
20
-
__u16 ds;
21
-
__u16 fs;
22
-
__u16 gs;
23
-
};
24
-
25
-
/* Task flags */
26
-
#define TF_VBEIB 0x01
27
-
#define TF_BUF_ESDI 0x02
28
-
#define TF_BUF_ESBX 0x04
29
-
#define TF_BUF_RET 0x08
30
-
#define TF_EXIT 0x10
31
-
32
-
struct uvesafb_task {
33
-
__u8 flags;
34
-
int buf_len;
35
-
struct v86_regs regs;
36
-
};
37
-
38
-
/* Constants for the capabilities field
39
-
* in vbe_ib */
40
-
#define VBE_CAP_CAN_SWITCH_DAC 0x01
41
-
#define VBE_CAP_VGACOMPAT 0x02
42
-
43
-
/* The VBE Info Block */
44
-
struct vbe_ib {
45
-
char vbe_signature[4];
46
-
__u16 vbe_version;
47
-
__u32 oem_string_ptr;
48
-
__u32 capabilities;
49
-
__u32 mode_list_ptr;
50
-
__u16 total_memory;
51
-
__u16 oem_software_rev;
52
-
__u32 oem_vendor_name_ptr;
53
-
__u32 oem_product_name_ptr;
54
-
__u32 oem_product_rev_ptr;
55
-
__u8 reserved[222];
56
-
char oem_data[256];
57
-
char misc_data[512];
58
-
} __attribute__ ((packed));
59
-
60
-
#ifdef __KERNEL__
61
6
62
7
/* VBE CRTC Info Block */
63
8
struct vbe_crtc_ib {
···
136
191
struct vbe_crtc_ib crtc;
137
192
};
138
193
139
-
#endif /* __KERNEL__ */
140
194
#endif /* _UVESAFB_H */