Merge branch 'fix/misc' into for-linus
[pandora-kernel.git] / drivers / gpu / drm / radeon / r600_blit_shaders.c
1 /*
2  * Copyright 2009 Advanced Micro Devices, Inc.
3  *
4  * Permission is hereby granted, free of charge, to any person obtaining a
5  * copy of this software and associated documentation files (the "Software"),
6  * to deal in the Software without restriction, including without limitation
7  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8  * and/or sell copies of the Software, and to permit persons to whom the
9  * Software is furnished to do so, subject to the following conditions:
10  *
11  * The above copyright notice and this permission notice (including the next
12  * paragraph) shall be included in all copies or substantial portions of the
13  * Software.
14  *
15  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
18  * THE COPYRIGHT HOLDER(S) AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
19  * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
20  * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
21  * DEALINGS IN THE SOFTWARE.
22  *
23  * Authors:
24  *     Alex Deucher <alexander.deucher@amd.com>
25  */
26
27 #include <linux/types.h>
28 #include <linux/kernel.h>
29
30 /*
31  * R6xx+ cards need to use the 3D engine to blit data which requires
32  * quite a bit of hw state setup.  Rather than pull the whole 3D driver
33  * (which normally generates the 3D state) into the DRM, we opt to use
34  * statically generated state tables.  The regsiter state and shaders
35  * were hand generated to support blitting functionality.  See the 3D
36  * driver or documentation for descriptions of the registers and
37  * shader instructions.
38  */
39
40 const u32 r6xx_default_state[] =
41 {
42         0xc0002400,
43         0x00000000,
44         0xc0012800,
45         0x80000000,
46         0x80000000,
47         0xc0016800,
48         0x00000010,
49         0x00008000,
50         0xc0016800,
51         0x00000542,
52         0x07000003,
53         0xc0016800,
54         0x000005c5,
55         0x00000000,
56         0xc0016800,
57         0x00000363,
58         0x00000000,
59         0xc0016800,
60         0x0000060c,
61         0x82000000,
62         0xc0016800,
63         0x0000060e,
64         0x01020204,
65         0xc0016f00,
66         0x00000000,
67         0x00000000,
68         0xc0016f00,
69         0x00000001,
70         0x00000000,
71         0xc0096900,
72         0x0000022a,
73         0x00000000,
74         0x00000000,
75         0x00000000,
76         0x00000000,
77         0x00000000,
78         0x00000000,
79         0x00000000,
80         0x00000000,
81         0x00000000,
82         0xc0016900,
83         0x00000004,
84         0x00000000,
85         0xc0016900,
86         0x0000000a,
87         0x00000000,
88         0xc0016900,
89         0x0000000b,
90         0x00000000,
91         0xc0016900,
92         0x0000010c,
93         0x00000000,
94         0xc0016900,
95         0x0000010d,
96         0x00000000,
97         0xc0016900,
98         0x00000200,
99         0x00000000,
100         0xc0016900,
101         0x00000343,
102         0x00000060,
103         0xc0016900,
104         0x00000344,
105         0x00000040,
106         0xc0016900,
107         0x00000351,
108         0x0000aa00,
109         0xc0016900,
110         0x00000104,
111         0x00000000,
112         0xc0016900,
113         0x0000010e,
114         0x00000000,
115         0xc0046900,
116         0x00000105,
117         0x00000000,
118         0x00000000,
119         0x00000000,
120         0x00000000,
121         0xc0036900,
122         0x00000109,
123         0x00000000,
124         0x00000000,
125         0x00000000,
126         0xc0046900,
127         0x0000030c,
128         0x01000000,
129         0x00000000,
130         0x00000000,
131         0x00000000,
132         0xc0046900,
133         0x00000048,
134         0x3f800000,
135         0x00000000,
136         0x3f800000,
137         0x3f800000,
138         0xc0016900,
139         0x0000008e,
140         0x0000000f,
141         0xc0016900,
142         0x00000080,
143         0x00000000,
144         0xc0016900,
145         0x00000083,
146         0x0000ffff,
147         0xc0016900,
148         0x00000084,
149         0x00000000,
150         0xc0016900,
151         0x00000085,
152         0x20002000,
153         0xc0016900,
154         0x00000086,
155         0x00000000,
156         0xc0016900,
157         0x00000087,
158         0x20002000,
159         0xc0016900,
160         0x00000088,
161         0x00000000,
162         0xc0016900,
163         0x00000089,
164         0x20002000,
165         0xc0016900,
166         0x0000008a,
167         0x00000000,
168         0xc0016900,
169         0x0000008b,
170         0x20002000,
171         0xc0016900,
172         0x0000008c,
173         0x00000000,
174         0xc0016900,
175         0x00000094,
176         0x80000000,
177         0xc0016900,
178         0x00000095,
179         0x20002000,
180         0xc0026900,
181         0x000000b4,
182         0x00000000,
183         0x3f800000,
184         0xc0016900,
185         0x00000096,
186         0x80000000,
187         0xc0016900,
188         0x00000097,
189         0x20002000,
190         0xc0026900,
191         0x000000b6,
192         0x00000000,
193         0x3f800000,
194         0xc0016900,
195         0x00000098,
196         0x80000000,
197         0xc0016900,
198         0x00000099,
199         0x20002000,
200         0xc0026900,
201         0x000000b8,
202         0x00000000,
203         0x3f800000,
204         0xc0016900,
205         0x0000009a,
206         0x80000000,
207         0xc0016900,
208         0x0000009b,
209         0x20002000,
210         0xc0026900,
211         0x000000ba,
212         0x00000000,
213         0x3f800000,
214         0xc0016900,
215         0x0000009c,
216         0x80000000,
217         0xc0016900,
218         0x0000009d,
219         0x20002000,
220         0xc0026900,
221         0x000000bc,
222         0x00000000,
223         0x3f800000,
224         0xc0016900,
225         0x0000009e,
226         0x80000000,
227         0xc0016900,
228         0x0000009f,
229         0x20002000,
230         0xc0026900,
231         0x000000be,
232         0x00000000,
233         0x3f800000,
234         0xc0016900,
235         0x000000a0,
236         0x80000000,
237         0xc0016900,
238         0x000000a1,
239         0x20002000,
240         0xc0026900,
241         0x000000c0,
242         0x00000000,
243         0x3f800000,
244         0xc0016900,
245         0x000000a2,
246         0x80000000,
247         0xc0016900,
248         0x000000a3,
249         0x20002000,
250         0xc0026900,
251         0x000000c2,
252         0x00000000,
253         0x3f800000,
254         0xc0016900,
255         0x000000a4,
256         0x80000000,
257         0xc0016900,
258         0x000000a5,
259         0x20002000,
260         0xc0026900,
261         0x000000c4,
262         0x00000000,
263         0x3f800000,
264         0xc0016900,
265         0x000000a6,
266         0x80000000,
267         0xc0016900,
268         0x000000a7,
269         0x20002000,
270         0xc0026900,
271         0x000000c6,
272         0x00000000,
273         0x3f800000,
274         0xc0016900,
275         0x000000a8,
276         0x80000000,
277         0xc0016900,
278         0x000000a9,
279         0x20002000,
280         0xc0026900,
281         0x000000c8,
282         0x00000000,
283         0x3f800000,
284         0xc0016900,
285         0x000000aa,
286         0x80000000,
287         0xc0016900,
288         0x000000ab,
289         0x20002000,
290         0xc0026900,
291         0x000000ca,
292         0x00000000,
293         0x3f800000,
294         0xc0016900,
295         0x000000ac,
296         0x80000000,
297         0xc0016900,
298         0x000000ad,
299         0x20002000,
300         0xc0026900,
301         0x000000cc,
302         0x00000000,
303         0x3f800000,
304         0xc0016900,
305         0x000000ae,
306         0x80000000,
307         0xc0016900,
308         0x000000af,
309         0x20002000,
310         0xc0026900,
311         0x000000ce,
312         0x00000000,
313         0x3f800000,
314         0xc0016900,
315         0x000000b0,
316         0x80000000,
317         0xc0016900,
318         0x000000b1,
319         0x20002000,
320         0xc0026900,
321         0x000000d0,
322         0x00000000,
323         0x3f800000,
324         0xc0016900,
325         0x000000b2,
326         0x80000000,
327         0xc0016900,
328         0x000000b3,
329         0x20002000,
330         0xc0026900,
331         0x000000d2,
332         0x00000000,
333         0x3f800000,
334         0xc0016900,
335         0x00000293,
336         0x00004010,
337         0xc0016900,
338         0x00000300,
339         0x00000000,
340         0xc0016900,
341         0x00000301,
342         0x00000000,
343         0xc0016900,
344         0x00000312,
345         0xffffffff,
346         0xc0016900,
347         0x00000307,
348         0x00000000,
349         0xc0016900,
350         0x00000308,
351         0x00000000,
352         0xc0016900,
353         0x00000283,
354         0x00000000,
355         0xc0016900,
356         0x00000292,
357         0x00000000,
358         0xc0066900,
359         0x0000010f,
360         0x00000000,
361         0x00000000,
362         0x00000000,
363         0x00000000,
364         0x00000000,
365         0x00000000,
366         0xc0016900,
367         0x00000206,
368         0x00000000,
369         0xc0016900,
370         0x00000207,
371         0x00000000,
372         0xc0016900,
373         0x00000208,
374         0x00000000,
375         0xc0046900,
376         0x00000303,
377         0x3f800000,
378         0x3f800000,
379         0x3f800000,
380         0x3f800000,
381         0xc0016900,
382         0x00000205,
383         0x00000004,
384         0xc0016900,
385         0x00000280,
386         0x00000000,
387         0xc0016900,
388         0x00000281,
389         0x00000000,
390         0xc0016900,
391         0x0000037e,
392         0x00000000,
393         0xc0016900,
394         0x00000382,
395         0x00000000,
396         0xc0016900,
397         0x00000380,
398         0x00000000,
399         0xc0016900,
400         0x00000383,
401         0x00000000,
402         0xc0016900,
403         0x00000381,
404         0x00000000,
405         0xc0016900,
406         0x00000282,
407         0x00000008,
408         0xc0016900,
409         0x00000302,
410         0x0000002d,
411         0xc0016900,
412         0x0000037f,
413         0x00000000,
414         0xc0016900,
415         0x000001b2,
416         0x00000000,
417         0xc0016900,
418         0x000001b6,
419         0x00000000,
420         0xc0016900,
421         0x000001b7,
422         0x00000000,
423         0xc0016900,
424         0x000001b8,
425         0x00000000,
426         0xc0016900,
427         0x000001b9,
428         0x00000000,
429         0xc0016900,
430         0x00000225,
431         0x00000000,
432         0xc0016900,
433         0x00000229,
434         0x00000000,
435         0xc0016900,
436         0x00000237,
437         0x00000000,
438         0xc0016900,
439         0x00000100,
440         0x00000800,
441         0xc0016900,
442         0x00000101,
443         0x00000000,
444         0xc0016900,
445         0x00000102,
446         0x00000000,
447         0xc0016900,
448         0x000002a8,
449         0x00000000,
450         0xc0016900,
451         0x000002a9,
452         0x00000000,
453         0xc0016900,
454         0x00000103,
455         0x00000000,
456         0xc0016900,
457         0x00000284,
458         0x00000000,
459         0xc0016900,
460         0x00000290,
461         0x00000000,
462         0xc0016900,
463         0x00000285,
464         0x00000000,
465         0xc0016900,
466         0x00000286,
467         0x00000000,
468         0xc0016900,
469         0x00000287,
470         0x00000000,
471         0xc0016900,
472         0x00000288,
473         0x00000000,
474         0xc0016900,
475         0x00000289,
476         0x00000000,
477         0xc0016900,
478         0x0000028a,
479         0x00000000,
480         0xc0016900,
481         0x0000028b,
482         0x00000000,
483         0xc0016900,
484         0x0000028c,
485         0x00000000,
486         0xc0016900,
487         0x0000028d,
488         0x00000000,
489         0xc0016900,
490         0x0000028e,
491         0x00000000,
492         0xc0016900,
493         0x0000028f,
494         0x00000000,
495         0xc0016900,
496         0x000002a1,
497         0x00000000,
498         0xc0016900,
499         0x000002a5,
500         0x00000000,
501         0xc0016900,
502         0x000002ac,
503         0x00000000,
504         0xc0016900,
505         0x000002ad,
506         0x00000000,
507         0xc0016900,
508         0x000002ae,
509         0x00000000,
510         0xc0016900,
511         0x000002c8,
512         0x00000000,
513         0xc0016900,
514         0x00000206,
515         0x00000100,
516         0xc0016900,
517         0x00000204,
518         0x00010000,
519         0xc0036e00,
520         0x00000000,
521         0x00000012,
522         0x00000000,
523         0x00000000,
524         0xc0016900,
525         0x0000008f,
526         0x0000000f,
527         0xc0016900,
528         0x000001e8,
529         0x00000001,
530         0xc0016900,
531         0x00000202,
532         0x00cc0000,
533         0xc0016900,
534         0x00000205,
535         0x00000244,
536         0xc0016900,
537         0x00000203,
538         0x00000210,
539         0xc0016900,
540         0x000001b1,
541         0x00000000,
542         0xc0016900,
543         0x00000185,
544         0x00000000,
545         0xc0016900,
546         0x000001b3,
547         0x00000001,
548         0xc0016900,
549         0x000001b4,
550         0x00000000,
551         0xc0016900,
552         0x00000191,
553         0x00000b00,
554         0xc0016900,
555         0x000001b5,
556         0x00000000,
557 };
558
559 const u32 r7xx_default_state[] =
560 {
561         0xc0012800,
562         0x80000000,
563         0x80000000,
564         0xc0016800,
565         0x00000010,
566         0x00008000,
567         0xc0016800,
568         0x00000542,
569         0x07000002,
570         0xc0016800,
571         0x000005c5,
572         0x00000000,
573         0xc0016800,
574         0x00000363,
575         0x00004000,
576         0xc0016800,
577         0x0000060c,
578         0x00000000,
579         0xc0016800,
580         0x0000060e,
581         0x00420204,
582         0xc0016f00,
583         0x00000000,
584         0x00000000,
585         0xc0016f00,
586         0x00000001,
587         0x00000000,
588         0xc0096900,
589         0x0000022a,
590         0x00000000,
591         0x00000000,
592         0x00000000,
593         0x00000000,
594         0x00000000,
595         0x00000000,
596         0x00000000,
597         0x00000000,
598         0x00000000,
599         0xc0016900,
600         0x00000004,
601         0x00000000,
602         0xc0016900,
603         0x0000000a,
604         0x00000000,
605         0xc0016900,
606         0x0000000b,
607         0x00000000,
608         0xc0016900,
609         0x0000010c,
610         0x00000000,
611         0xc0016900,
612         0x0000010d,
613         0x00000000,
614         0xc0016900,
615         0x00000200,
616         0x00000000,
617         0xc0016900,
618         0x00000343,
619         0x00000060,
620         0xc0016900,
621         0x00000344,
622         0x00000000,
623         0xc0016900,
624         0x00000351,
625         0x0000aa00,
626         0xc0016900,
627         0x00000104,
628         0x00000000,
629         0xc0016900,
630         0x0000010e,
631         0x00000000,
632         0xc0046900,
633         0x00000105,
634         0x00000000,
635         0x00000000,
636         0x00000000,
637         0x00000000,
638         0xc0046900,
639         0x0000030c,
640         0x01000000,
641         0x00000000,
642         0x00000000,
643         0x00000000,
644         0xc0016900,
645         0x0000008e,
646         0x0000000f,
647         0xc0016900,
648         0x00000080,
649         0x00000000,
650         0xc0016900,
651         0x00000083,
652         0x0000ffff,
653         0xc0016900,
654         0x00000084,
655         0x00000000,
656         0xc0016900,
657         0x00000085,
658         0x20002000,
659         0xc0016900,
660         0x00000086,
661         0x00000000,
662         0xc0016900,
663         0x00000087,
664         0x20002000,
665         0xc0016900,
666         0x00000088,
667         0x00000000,
668         0xc0016900,
669         0x00000089,
670         0x20002000,
671         0xc0016900,
672         0x0000008a,
673         0x00000000,
674         0xc0016900,
675         0x0000008b,
676         0x20002000,
677         0xc0016900,
678         0x0000008c,
679         0xaaaaaaaa,
680         0xc0016900,
681         0x00000094,
682         0x80000000,
683         0xc0016900,
684         0x00000095,
685         0x20002000,
686         0xc0026900,
687         0x000000b4,
688         0x00000000,
689         0x3f800000,
690         0xc0016900,
691         0x00000096,
692         0x80000000,
693         0xc0016900,
694         0x00000097,
695         0x20002000,
696         0xc0026900,
697         0x000000b6,
698         0x00000000,
699         0x3f800000,
700         0xc0016900,
701         0x00000098,
702         0x80000000,
703         0xc0016900,
704         0x00000099,
705         0x20002000,
706         0xc0026900,
707         0x000000b8,
708         0x00000000,
709         0x3f800000,
710         0xc0016900,
711         0x0000009a,
712         0x80000000,
713         0xc0016900,
714         0x0000009b,
715         0x20002000,
716         0xc0026900,
717         0x000000ba,
718         0x00000000,
719         0x3f800000,
720         0xc0016900,
721         0x0000009c,
722         0x80000000,
723         0xc0016900,
724         0x0000009d,
725         0x20002000,
726         0xc0026900,
727         0x000000bc,
728         0x00000000,
729         0x3f800000,
730         0xc0016900,
731         0x0000009e,
732         0x80000000,
733         0xc0016900,
734         0x0000009f,
735         0x20002000,
736         0xc0026900,
737         0x000000be,
738         0x00000000,
739         0x3f800000,
740         0xc0016900,
741         0x000000a0,
742         0x80000000,
743         0xc0016900,
744         0x000000a1,
745         0x20002000,
746         0xc0026900,
747         0x000000c0,
748         0x00000000,
749         0x3f800000,
750         0xc0016900,
751         0x000000a2,
752         0x80000000,
753         0xc0016900,
754         0x000000a3,
755         0x20002000,
756         0xc0026900,
757         0x000000c2,
758         0x00000000,
759         0x3f800000,
760         0xc0016900,
761         0x000000a4,
762         0x80000000,
763         0xc0016900,
764         0x000000a5,
765         0x20002000,
766         0xc0026900,
767         0x000000c4,
768         0x00000000,
769         0x3f800000,
770         0xc0016900,
771         0x000000a6,
772         0x80000000,
773         0xc0016900,
774         0x000000a7,
775         0x20002000,
776         0xc0026900,
777         0x000000c6,
778         0x00000000,
779         0x3f800000,
780         0xc0016900,
781         0x000000a8,
782         0x80000000,
783         0xc0016900,
784         0x000000a9,
785         0x20002000,
786         0xc0026900,
787         0x000000c8,
788         0x00000000,
789         0x3f800000,
790         0xc0016900,
791         0x000000aa,
792         0x80000000,
793         0xc0016900,
794         0x000000ab,
795         0x20002000,
796         0xc0026900,
797         0x000000ca,
798         0x00000000,
799         0x3f800000,
800         0xc0016900,
801         0x000000ac,
802         0x80000000,
803         0xc0016900,
804         0x000000ad,
805         0x20002000,
806         0xc0026900,
807         0x000000cc,
808         0x00000000,
809         0x3f800000,
810         0xc0016900,
811         0x000000ae,
812         0x80000000,
813         0xc0016900,
814         0x000000af,
815         0x20002000,
816         0xc0026900,
817         0x000000ce,
818         0x00000000,
819         0x3f800000,
820         0xc0016900,
821         0x000000b0,
822         0x80000000,
823         0xc0016900,
824         0x000000b1,
825         0x20002000,
826         0xc0026900,
827         0x000000d0,
828         0x00000000,
829         0x3f800000,
830         0xc0016900,
831         0x000000b2,
832         0x80000000,
833         0xc0016900,
834         0x000000b3,
835         0x20002000,
836         0xc0026900,
837         0x000000d2,
838         0x00000000,
839         0x3f800000,
840         0xc0016900,
841         0x00000293,
842         0x00514000,
843         0xc0016900,
844         0x00000300,
845         0x00000000,
846         0xc0016900,
847         0x00000301,
848         0x00000000,
849         0xc0016900,
850         0x00000312,
851         0xffffffff,
852         0xc0016900,
853         0x00000307,
854         0x00000000,
855         0xc0016900,
856         0x00000308,
857         0x00000000,
858         0xc0016900,
859         0x00000283,
860         0x00000000,
861         0xc0016900,
862         0x00000292,
863         0x00000000,
864         0xc0066900,
865         0x0000010f,
866         0x00000000,
867         0x00000000,
868         0x00000000,
869         0x00000000,
870         0x00000000,
871         0x00000000,
872         0xc0016900,
873         0x00000206,
874         0x00000000,
875         0xc0016900,
876         0x00000207,
877         0x00000000,
878         0xc0016900,
879         0x00000208,
880         0x00000000,
881         0xc0046900,
882         0x00000303,
883         0x3f800000,
884         0x3f800000,
885         0x3f800000,
886         0x3f800000,
887         0xc0016900,
888         0x00000205,
889         0x00000004,
890         0xc0016900,
891         0x00000280,
892         0x00000000,
893         0xc0016900,
894         0x00000281,
895         0x00000000,
896         0xc0016900,
897         0x0000037e,
898         0x00000000,
899         0xc0016900,
900         0x00000382,
901         0x00000000,
902         0xc0016900,
903         0x00000380,
904         0x00000000,
905         0xc0016900,
906         0x00000383,
907         0x00000000,
908         0xc0016900,
909         0x00000381,
910         0x00000000,
911         0xc0016900,
912         0x00000282,
913         0x00000008,
914         0xc0016900,
915         0x00000302,
916         0x0000002d,
917         0xc0016900,
918         0x0000037f,
919         0x00000000,
920         0xc0016900,
921         0x000001b2,
922         0x00000001,
923         0xc0016900,
924         0x000001b6,
925         0x00000000,
926         0xc0016900,
927         0x000001b7,
928         0x00000000,
929         0xc0016900,
930         0x000001b8,
931         0x00000000,
932         0xc0016900,
933         0x000001b9,
934         0x00000000,
935         0xc0016900,
936         0x00000225,
937         0x00000000,
938         0xc0016900,
939         0x00000229,
940         0x00000000,
941         0xc0016900,
942         0x00000237,
943         0x00000000,
944         0xc0016900,
945         0x00000100,
946         0x00000800,
947         0xc0016900,
948         0x00000101,
949         0x00000000,
950         0xc0016900,
951         0x00000102,
952         0x00000000,
953         0xc0016900,
954         0x000002a8,
955         0x00000000,
956         0xc0016900,
957         0x000002a9,
958         0x00000000,
959         0xc0016900,
960         0x00000103,
961         0x00000000,
962         0xc0016900,
963         0x00000284,
964         0x00000000,
965         0xc0016900,
966         0x00000290,
967         0x00000000,
968         0xc0016900,
969         0x00000285,
970         0x00000000,
971         0xc0016900,
972         0x00000286,
973         0x00000000,
974         0xc0016900,
975         0x00000287,
976         0x00000000,
977         0xc0016900,
978         0x00000288,
979         0x00000000,
980         0xc0016900,
981         0x00000289,
982         0x00000000,
983         0xc0016900,
984         0x0000028a,
985         0x00000000,
986         0xc0016900,
987         0x0000028b,
988         0x00000000,
989         0xc0016900,
990         0x0000028c,
991         0x00000000,
992         0xc0016900,
993         0x0000028d,
994         0x00000000,
995         0xc0016900,
996         0x0000028e,
997         0x00000000,
998         0xc0016900,
999         0x0000028f,
1000         0x00000000,
1001         0xc0016900,
1002         0x000002a1,
1003         0x00000000,
1004         0xc0016900,
1005         0x000002a5,
1006         0x00000000,
1007         0xc0016900,
1008         0x000002ac,
1009         0x00000000,
1010         0xc0016900,
1011         0x000002ad,
1012         0x00000000,
1013         0xc0016900,
1014         0x000002ae,
1015         0x00000000,
1016         0xc0016900,
1017         0x000002c8,
1018         0x00000000,
1019         0xc0016900,
1020         0x00000206,
1021         0x00000100,
1022         0xc0016900,
1023         0x00000204,
1024         0x00010000,
1025         0xc0036e00,
1026         0x00000000,
1027         0x00000012,
1028         0x00000000,
1029         0x00000000,
1030         0xc0016900,
1031         0x0000008f,
1032         0x0000000f,
1033         0xc0016900,
1034         0x000001e8,
1035         0x00000001,
1036         0xc0016900,
1037         0x00000202,
1038         0x00cc0000,
1039         0xc0016900,
1040         0x00000205,
1041         0x00000244,
1042         0xc0016900,
1043         0x00000203,
1044         0x00000210,
1045         0xc0016900,
1046         0x000001b1,
1047         0x00000000,
1048         0xc0016900,
1049         0x00000185,
1050         0x00000000,
1051         0xc0016900,
1052         0x000001b3,
1053         0x00000001,
1054         0xc0016900,
1055         0x000001b4,
1056         0x00000000,
1057         0xc0016900,
1058         0x00000191,
1059         0x00000b00,
1060         0xc0016900,
1061         0x000001b5,
1062         0x00000000,
1063 };
1064
1065 /* same for r6xx/r7xx */
1066 const u32 r6xx_vs[] =
1067 {
1068         0x00000004,
1069         0x81000000,
1070         0x0000203c,
1071         0x94000b08,
1072         0x00004000,
1073         0x14200b1a,
1074         0x00000000,
1075         0x00000000,
1076         0x3c000000,
1077         0x68cd1000,
1078         0x00080000,
1079         0x00000000,
1080 };
1081
1082 const u32 r6xx_ps[] =
1083 {
1084         0x00000002,
1085         0x80800000,
1086         0x00000000,
1087         0x94200688,
1088         0x00000010,
1089         0x000d1000,
1090         0xb0800000,
1091         0x00000000,
1092 };
1093
1094 const u32 r6xx_ps_size = ARRAY_SIZE(r6xx_ps);
1095 const u32 r6xx_vs_size = ARRAY_SIZE(r6xx_vs);
1096 const u32 r6xx_default_size = ARRAY_SIZE(r6xx_default_state);
1097 const u32 r7xx_default_size = ARRAY_SIZE(r7xx_default_state);