annotate vidix/cyberblade_regs.h @ 29691:183ea012e25b

Change grow_array argument from void ** to void *, this avoids a aliasing violation (thus making gcc 4.4.x compile the code correctly) and allows to get rid of some casts at the expense of making the code less clear.
author reimar
date Wed, 30 Sep 2009 07:27:43 +0000
parents 2391228b7ff0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
22850
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
1 /*
28307
2391228b7ff0 cosmetics: Remove pointless period after copyright statement non-sentences.
diego
parents: 26030
diff changeset
2 * Copyright 1992-2000 by Alan Hourihane, Wigan, England
22850
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
3 *
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
4 * Permission to use, copy, modify, distribute, and sell this software and its
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
5 * documentation for any purpose is hereby granted without fee, provided that
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
6 * the above copyright notice appear in all copies and that both that
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
7 * copyright notice and this permission notice appear in supporting
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
8 * documentation, and that the name of Alan Hourihane not be used in
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
9 * advertising or publicity pertaining to distribution of the software without
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
10 * specific, written prior permission. Alan Hourihane makes no representations
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
11 * about the suitability of this software for any purpose. It is provided
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
12 * "as is" without express or implied warranty.
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
13 *
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
14 * ALAN HOURIHANE DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
15 * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
16 * EVENT SHALL ALAN HOURIHANE BE LIABLE FOR ANY SPECIAL, INDIRECT OR
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
17 * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
18 * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
19 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
20 * PERFORMANCE OF THIS SOFTWARE.
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
21 *
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
22 * Author: Alan Hourihane, alanh@fairlite.demon.co.uk
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
23 */
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
24 /* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/trident/trident_regs.h,v 1.22 2002/01/11 13:06:30 alanh Exp $ */
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
25
26030
a93e46adb54c Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25553
diff changeset
26 #ifndef MPLAYER_CYBERBLADE_REGS_H
a93e46adb54c Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25553
diff changeset
27 #define MPLAYER_CYBERBLADE_REGS_H
25553
6ac1ece1f9fe Add multiple inclusion guards to all header files that lack them.
diego
parents: 22850
diff changeset
28
22850
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
29 #define DEBUG 1
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
30
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
31 #define NTSC 14.31818
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
32 #define PAL 17.73448
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
33
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
34 /* General Registers */
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
35 #define SPR 0x1F /* Software Programming Register (videoram) */
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
36
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
37 /* 3C4 */
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
38 #define RevisionID 0x09
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
39 #define ConfPort1 0x0C
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
40 #define ConfPort2 0x0C
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
41 #define NewMode2 0x0D
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
42 #define OldMode2 0x00 /* Should be 0x0D - dealt with in trident_dac.c */
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
43 #define OldMode1 0x0E
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
44 #define NewMode1 0x0E
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
45 #define Protection 0x11
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
46 #define MCLKLow 0x16
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
47 #define MCLKHigh 0x17
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
48 #define ClockLow 0x18
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
49 #define ClockHigh 0x19
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
50 #define SSetup 0x20
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
51 #define SKey 0x37
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
52 #define SPKey 0x57
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
53
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
54 /* 3x4 */
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
55 #define Offset 0x13
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
56 #define Underline 0x14
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
57 #define CRTCMode 0x17
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
58 #define CRTCModuleTest 0x1E
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
59 #define FIFOControl 0x20
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
60 #define LinearAddReg 0x21
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
61 #define DRAMTiming 0x23
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
62 #define New32 0x23
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
63 #define RAMDACTiming 0x25
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
64 #define CRTHiOrd 0x27
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
65 #define AddColReg 0x29
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
66 #define InterfaceSel 0x2A
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
67 #define HorizOverflow 0x2B
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
68 #define GETest 0x2D
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
69 #define Performance 0x2F
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
70 #define GraphEngReg 0x36
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
71 #define I2C 0x37
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
72 #define PixelBusReg 0x38
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
73 #define PCIReg 0x39
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
74 #define DRAMControl 0x3A
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
75 #define MiscContReg 0x3C
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
76 #define CursorXLow 0x40
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
77 #define CursorXHigh 0x41
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
78 #define CursorYLow 0x42
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
79 #define CursorYHigh 0x43
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
80 #define CursorLocLow 0x44
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
81 #define CursorLocHigh 0x45
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
82 #define CursorXOffset 0x46
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
83 #define CursorYOffset 0x47
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
84 #define CursorFG1 0x48
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
85 #define CursorFG2 0x49
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
86 #define CursorFG3 0x4A
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
87 #define CursorFG4 0x4B
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
88 #define CursorBG1 0x4C
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
89 #define CursorBG2 0x4D
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
90 #define CursorBG3 0x4E
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
91 #define CursorBG4 0x4F
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
92 #define CursorControl 0x50
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
93 #define PCIRetry 0x55
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
94 #define PreEndControl 0x56
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
95 #define PreEndFetch 0x57
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
96 #define PCIMaster 0x60
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
97 #define Enhancement0 0x62
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
98 #define NewEDO 0x64
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
99
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
100 /* --- Additions by AMR for Vidix support --- */
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
101 #define VideoWin1_HScale 0x80
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
102 #define VideoWin1_VScale 0x82
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
103 #define VideoWin1_Start 0x86
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
104 #define VideoWin1_Stop 0x8a
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
105 #define Video_Flags 0x8e
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
106 #define VideoWin1_Y_BPR 0x90
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
107 #define VideoWin1_Y_Offset 0x92
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
108 #define Video_LineBufferThreshold 0x95
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
109 #define Video_LineBufferLevel 0x96
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
110 #define Video_Flags2 0x97
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
111 /* --- */
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
112
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
113 #define TVinterface 0xC0
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
114 #define TVMode 0xC1
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
115 #define ClockControl 0xCF
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
116
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
117
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
118 /* 3CE */
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
119 #define MiscExtFunc 0x0F
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
120 #define MiscIntContReg 0x2F
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
121 #define CyberControl 0x30
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
122 #define CyberEnhance 0x31
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
123 #define FPConfig 0x33
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
124 #define VertStretch 0x52
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
125 #define HorStretch 0x53
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
126 #define BiosMode 0x5c
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
127 #define BiosNewMode1 0x5a
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
128 #define BiosNewMode2 0x5c
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
129 #define BiosReg 0x5d
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
130
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
131 /* --- IO Macros by AMR --- */
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
132
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
133 #define CRINB(reg) (OUTPORT8(0x3d4,reg), INPORT8(0x3d5))
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
134 #define SRINB(reg) (OUTPORT8(0x3c4,reg), INPORT8(0x3c5))
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
135 #define CROUTB(reg,val) (OUTPORT8(0x3d4,reg), OUTPORT8(0x3d5,val))
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
136 #define SROUTB(reg,val) (OUTPORT8(0x3c4,reg), OUTPORT8(0x3c5,val))
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
137
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
138 /* --- */
9a1e26fef45b Move driver files directly into the vidix directory.
diego
parents:
diff changeset
139
26030
a93e46adb54c Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25553
diff changeset
140 #endif /* MPLAYER_CYBERBLADE_REGS_H */