Importing vendor version xf86-4_4_0 on Wed Mar 3 04:09:24 PST 2004
[nouveau] / src / riva_tbl.h
1  /***************************************************************************\
2 |*                                                                           *|
3 |*       Copyright 1993-1999 NVIDIA, Corporation.  All rights reserved.      *|
4 |*                                                                           *|
5 |*     NOTICE TO USER:   The source code  is copyrighted under  U.S. and     *|
6 |*     international laws.  Users and possessors of this source code are     *|
7 |*     hereby granted a nonexclusive,  royalty-free copyright license to     *|
8 |*     use this code in individual and commercial software.                  *|
9 |*                                                                           *|
10 |*     Any use of this source code must include,  in the user documenta-     *|
11 |*     tion and  internal comments to the code,  notices to the end user     *|
12 |*     as follows:                                                           *|
13 |*                                                                           *|
14 |*       Copyright 1993-1999 NVIDIA, Corporation.  All rights reserved.      *|
15 |*                                                                           *|
16 |*     NVIDIA, CORPORATION MAKES NO REPRESENTATION ABOUT THE SUITABILITY     *|
17 |*     OF  THIS SOURCE  CODE  FOR ANY PURPOSE.  IT IS  PROVIDED  "AS IS"     *|
18 |*     WITHOUT EXPRESS OR IMPLIED WARRANTY OF ANY KIND.  NVIDIA, CORPOR-     *|
19 |*     ATION DISCLAIMS ALL WARRANTIES  WITH REGARD  TO THIS SOURCE CODE,     *|
20 |*     INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGE-     *|
21 |*     MENT,  AND FITNESS  FOR A PARTICULAR PURPOSE.   IN NO EVENT SHALL     *|
22 |*     NVIDIA, CORPORATION  BE LIABLE FOR ANY SPECIAL,  INDIRECT,  INCI-     *|
23 |*     DENTAL, OR CONSEQUENTIAL DAMAGES,  OR ANY DAMAGES  WHATSOEVER RE-     *|
24 |*     SULTING FROM LOSS OF USE,  DATA OR PROFITS,  WHETHER IN AN ACTION     *|
25 |*     OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,  ARISING OUT OF     *|
26 |*     OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOURCE CODE.     *|
27 |*                                                                           *|
28 |*     U.S. Government  End  Users.   This source code  is a "commercial     *|
29 |*     item,"  as that  term is  defined at  48 C.F.R. 2.101 (OCT 1995),     *|
30 |*     consisting  of "commercial  computer  software"  and  "commercial     *|
31 |*     computer  software  documentation,"  as such  terms  are  used in     *|
32 |*     48 C.F.R. 12.212 (SEPT 1995)  and is provided to the U.S. Govern-     *|
33 |*     ment only as  a commercial end item.   Consistent with  48 C.F.R.     *|
34 |*     12.212 and  48 C.F.R. 227.7202-1 through  227.7202-4 (JUNE 1995),     *|
35 |*     all U.S. Government End Users  acquire the source code  with only     *|
36 |*     those rights set forth herein.                                        *|
37 |*                                                                           *|
38  \***************************************************************************/
39 /* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/nv/riva_tbl.h,v 1.9 2002/01/30 01:35:03 mvojkovi Exp $ */
40
41
42 /*
43  * RIVA Fixed Functionality Init Tables.
44  */
45 static unsigned RivaTablePMC[][2] =
46 {
47     {0x00000050, 0x00000000},
48     {0x00000080, 0xFFFF00FF},
49     {0x00000080, 0xFFFFFFFF}
50 };
51 static unsigned RivaTablePTIMER[][2] =
52 {
53     {0x00000080, 0x00000008},
54     {0x00000084, 0x00000003},
55     {0x00000050, 0x00000000},
56     {0x00000040, 0xFFFFFFFF}
57 };
58 static unsigned RivaTableFIFO[][2] =
59 {
60     {0x00000000, 0x80000000},
61     {0x00000800, 0x80000001},
62     {0x00001000, 0x80000002},
63     {0x00001800, 0x80000010},
64     {0x00002000, 0x80000011},
65     {0x00002800, 0x80000012},
66     {0x00003000, 0x80000016},
67     {0x00003800, 0x80000013}
68 };
69 static unsigned nv3TablePFIFO[][2] =
70 {
71     {0x00000140, 0x00000000},
72     {0x00000480, 0x00000000},
73     {0x00000490, 0x00000000},
74     {0x00000494, 0x00000000},
75     {0x00000481, 0x00000000},
76     {0x00000084, 0x00000000},
77     {0x00000086, 0x00002000},
78     {0x00000085, 0x00002200},
79     {0x00000484, 0x00000000},
80     {0x0000049C, 0x00000000},
81     {0x00000104, 0x00000000},
82     {0x00000108, 0x00000000},
83     {0x00000100, 0x00000000},
84     {0x000004A0, 0x00000000},
85     {0x000004A4, 0x00000000},
86     {0x000004A8, 0x00000000},
87     {0x000004AC, 0x00000000},
88     {0x000004B0, 0x00000000},
89     {0x000004B4, 0x00000000},
90     {0x000004B8, 0x00000000},
91     {0x000004BC, 0x00000000},
92     {0x00000050, 0x00000000},
93     {0x00000040, 0xFFFFFFFF},
94     {0x00000480, 0x00000001},
95     {0x00000490, 0x00000001},
96     {0x00000140, 0x00000001}
97 };
98 static unsigned nv3TablePGRAPH[][2] =
99 {
100     {0x00000020, 0x1230001F},
101     {0x00000021, 0x10113000},
102     {0x00000022, 0x1131F101},
103     {0x00000023, 0x0100F531},
104     {0x00000060, 0x00000000},
105     {0x00000065, 0x00000000},
106     {0x00000068, 0x00000000},
107     {0x00000069, 0x00000000},
108     {0x0000006A, 0x00000000},
109     {0x0000006B, 0x00000000},
110     {0x0000006C, 0x00000000},
111     {0x0000006D, 0x00000000},
112     {0x0000006E, 0x00000000},
113     {0x0000006F, 0x00000000},
114     {0x000001A8, 0x00000000},
115     {0x00000440, 0xFFFFFFFF},
116     {0x00000480, 0x00000001},
117     {0x000001A0, 0x00000000},
118     {0x000001A2, 0x00000000},
119     {0x0000018A, 0xFFFFFFFF},
120     {0x00000190, 0x00000000},
121     {0x00000142, 0x00000000},
122     {0x00000154, 0x00000000},
123     {0x00000155, 0xFFFFFFFF},
124     {0x00000156, 0x00000000},
125     {0x00000157, 0xFFFFFFFF},
126     {0x00000064, 0x10010002},
127     {0x00000050, 0x00000000},
128     {0x00000051, 0x00000000},
129     {0x00000040, 0xFFFFFFFF},
130     {0x00000041, 0xFFFFFFFF},
131     {0x00000440, 0xFFFFFFFF},
132     {0x000001A9, 0x00000001}
133 };
134 static unsigned nv3TablePGRAPH_8BPP[][2] =
135 {
136     {0x000001AA, 0x00001111}
137 };
138 static unsigned nv3TablePGRAPH_15BPP[][2] =
139 {
140     {0x000001AA, 0x00002222}
141 };
142 static unsigned nv3TablePGRAPH_32BPP[][2] =
143 {
144     {0x000001AA, 0x00003333}
145 };
146 static unsigned nv3TablePRAMIN[][2] =
147 {
148     {0x00000500, 0x00010000},
149     {0x00000501, 0x007FFFFF},
150     {0x00000200, 0x80000000},
151     {0x00000201, 0x00C20341},
152     {0x00000204, 0x80000001},
153     {0x00000205, 0x00C50342},
154     {0x00000208, 0x80000002},
155     {0x00000209, 0x00C60343},
156     {0x0000020C, 0x80000003},
157     {0x0000020D, 0x00DC0348},
158     {0x00000210, 0x80000004},
159     {0x00000211, 0x00DC0349},
160     {0x00000214, 0x80000005},
161     {0x00000215, 0x00DC034A},
162     {0x00000218, 0x80000006},
163     {0x00000219, 0x00DC034B},
164     {0x00000240, 0x80000010},
165     {0x00000241, 0x00D10344},
166     {0x00000244, 0x80000011},
167     {0x00000245, 0x00D00345},
168     {0x00000248, 0x80000012},
169     {0x00000249, 0x00CC0346},
170     {0x0000024C, 0x80000013},
171     {0x0000024D, 0x00D70347},
172     {0x00000258, 0x80000016},
173     {0x00000259, 0x00CA034C},
174     {0x00000D05, 0x00000000},
175     {0x00000D06, 0x00000000},
176     {0x00000D07, 0x00000000},
177     {0x00000D09, 0x00000000},
178     {0x00000D0A, 0x00000000},
179     {0x00000D0B, 0x00000000},
180     {0x00000D0D, 0x00000000},
181     {0x00000D0E, 0x00000000},
182     {0x00000D0F, 0x00000000},
183     {0x00000D11, 0x00000000},
184     {0x00000D12, 0x00000000},
185     {0x00000D13, 0x00000000},
186     {0x00000D15, 0x00000000},
187     {0x00000D16, 0x00000000},
188     {0x00000D17, 0x00000000},
189     {0x00000D19, 0x00000000},
190     {0x00000D1A, 0x00000000},
191     {0x00000D1B, 0x00000000},
192     {0x00000D1D, 0x00000140},
193     {0x00000D1E, 0x00000000},
194     {0x00000D1F, 0x00000000},
195     {0x00000D20, 0x10100200},
196     {0x00000D21, 0x00000000},
197     {0x00000D22, 0x00000000},
198     {0x00000D23, 0x00000000},
199     {0x00000D24, 0x10210200},
200     {0x00000D25, 0x00000000},
201     {0x00000D26, 0x00000000},
202     {0x00000D27, 0x00000000},
203     {0x00000D28, 0x10420200},
204     {0x00000D29, 0x00000000},
205     {0x00000D2A, 0x00000000},
206     {0x00000D2B, 0x00000000},
207     {0x00000D2C, 0x10830200},
208     {0x00000D2D, 0x00000000},
209     {0x00000D2E, 0x00000000},
210     {0x00000D2F, 0x00000000},
211     {0x00000D31, 0x00000000},
212     {0x00000D32, 0x00000000},
213     {0x00000D33, 0x00000000}
214 };
215 static unsigned nv3TablePRAMIN_8BPP[][2] =
216 {
217     /*           0xXXXXX3XX For  MSB mono format */
218     /*           0xXXXXX2XX For  LSB mono format */
219     {0x00000D04, 0x10110203},
220     {0x00000D08, 0x10110203},
221     {0x00000D0C, 0x1011020B},
222     {0x00000D10, 0x10118203},
223     {0x00000D14, 0x10110203},
224     {0x00000D18, 0x10110203},
225     {0x00000D1C, 0x10419208},
226     {0x00000D30, 0x10118203}
227 };
228 static unsigned nv3TablePRAMIN_15BPP[][2] =
229 {
230     /*           0xXXXXX2XX For  MSB mono format */
231     /*           0xXXXXX3XX For  LSB mono format */
232     {0x00000D04, 0x10110200},
233     {0x00000D08, 0x10110200},
234     {0x00000D0C, 0x10110208},
235     {0x00000D10, 0x10118200},
236     {0x00000D14, 0x10110200},
237     {0x00000D18, 0x10110200},
238     {0x00000D1C, 0x10419208},
239     {0x00000D30, 0x10118200}
240 };
241 static unsigned nv3TablePRAMIN_32BPP[][2] =
242 {
243     /*           0xXXXXX3XX For  MSB mono format */
244     /*           0xXXXXX2XX For  LSB mono format */
245     {0x00000D04, 0x10110201},
246     {0x00000D08, 0x10110201},
247     {0x00000D0C, 0x10110209},
248     {0x00000D10, 0x10118201},
249     {0x00000D14, 0x10110201},
250     {0x00000D18, 0x10110201},
251     {0x00000D1C, 0x10419208},
252     {0x00000D30, 0x10118201}
253 };
254