Add support for the ATI Radeon 9600 XT and XT_S.
[dragonfly.git] / sys / dev / drm / radeon / radeon_drv.c
1 /* radeon_drv.c -- ATI Radeon driver -*- linux-c -*-
2  * Created: Wed Feb 14 17:10:04 2001 by gareth@valinux.com
3  *
4  * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California.
5  * All Rights Reserved.
6  *
7  * Permission is hereby granted, free of charge, to any person obtaining a
8  * copy of this software and associated documentation files (the "Software"),
9  * to deal in the Software without restriction, including without limitation
10  * the rights to use, copy, modify, merge, publish, distribute, sublicense,
11  * and/or sell copies of the Software, and to permit persons to whom the
12  * Software is furnished to do so, subject to the following conditions:
13  *
14  * The above copyright notice and this permission notice (including the next
15  * paragraph) shall be included in all copies or substantial portions of the
16  * Software.
17  *
18  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
21  * VA LINUX SYSTEMS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
22  * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
23  * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
24  * OTHER DEALINGS IN THE SOFTWARE.
25  *
26  * Authors:
27  *    Gareth Hughes <gareth@valinux.com>
28  *
29  * $FreeBSD: src/sys/dev/drm/radeon_drv.c,v 1.6.2.1 2003/04/26 07:05:29 anholt Exp $
30  * $DragonFly: src/sys/dev/drm/radeon/Attic/radeon_drv.c,v 1.6 2004/11/13 23:04:14 dillon Exp $
31  */
32
33 #include "radeon.h"
34 #include "dev/drm/drmP.h"
35 #include "dev/drm/drm.h"
36 #include "radeon_drm.h"
37 #include "radeon_drv.h"
38 #if __REALLY_HAVE_SG
39 #include "dev/drm/ati_pcigart.h"
40 #endif
41
42 drm_chipinfo_t DRM(devicelist)[] = {
43         {0x1002, 0x4152, 1, "ATI Radeon 9600XT"},
44         {0x1002, 0x4172, 1, "ATI Radeon 9600XT - Secondary"},
45         {0x1002, 0x4242, 1, "ATI Radeon BB R200 AIW 8500DV"},
46         {0x1002, 0x4336, 1, "ATI Radeon Mobility U1"},
47         {0x1002, 0x4964, 1, "ATI Radeon Id R250 9000"},
48         {0x1002, 0x4965, 1, "ATI Radeon Ie R250 9000"},
49         {0x1002, 0x4966, 1, "ATI Radeon If R250 9000"},
50         {0x1002, 0x4967, 1, "ATI Radeon Ig R250 9000"},
51         {0x1002, 0x4C57, 1, "ATI Radeon LW Mobility 7500 M7"},
52         {0x1002, 0x4C58, 1, "ATI Radeon LX RV200 Mobility FireGL 7800 M7"},
53         {0x1002, 0x4C59, 1, "ATI Radeon LY Mobility M6"},
54         {0x1002, 0x4C5A, 1, "ATI Radeon LZ Mobility M6"},
55         {0x1002, 0x4C64, 1, "ATI Radeon Ld R250 Mobility 9000 M9"},
56         {0x1002, 0x4C65, 1, "ATI Radeon Le R250 Mobility 9000 M9"},
57         {0x1002, 0x4C66, 1, "ATI Radeon Lf R250 Mobility 9000 M9"},
58         {0x1002, 0x4C67, 1, "ATI Radeon Lg R250 Mobility 9000 M9"},
59         {0x1002, 0x5144, 1, "ATI Radeon QD R100"},
60         {0x1002, 0x5145, 1, "ATI Radeon QE R100"},
61         {0x1002, 0x5146, 1, "ATI Radeon QF R100"},
62         {0x1002, 0x5147, 1, "ATI Radeon QG R100"},
63         {0x1002, 0x5148, 1, "ATI Radeon QH FireGL 8x00"},
64         {0x1002, 0x5149, 1, "ATI Radeon QI R200"},
65         {0x1002, 0x514A, 1, "ATI Radeon QJ R200"},
66         {0x1002, 0x514B, 1, "ATI Radeon QK R200"},
67         {0x1002, 0x514C, 1, "ATI Radeon QL R200 8500 LE"},
68         {0x1002, 0x514D, 1, "ATI Radeon QM R200 9100"},
69         {0x1002, 0x514E, 1, "ATI Radeon QN R200 8500 LE"},
70         {0x1002, 0x514F, 1, "ATI Radeon QO R200 8500 LE"},
71         {0x1002, 0x5157, 1, "ATI Radeon QW RV200 7500"},
72         {0x1002, 0x5158, 1, "ATI Radeon QX RV200 7500"},
73         {0x1002, 0x5159, 1, "ATI Radeon QY RV100 VE"},
74         {0x1002, 0x515A, 1, "ATI Radeon QZ RV100 VE"},
75         {0x1002, 0x5168, 1, "ATI Radeon Qh R200"},
76         {0x1002, 0x5169, 1, "ATI Radeon Qi R200"},
77         {0x1002, 0x516A, 1, "ATI Radeon Qj R200"},
78         {0x1002, 0x516B, 1, "ATI Radeon Qk R200"},
79         {0x1002, 0x516C, 1, "ATI Radeon Ql R200"},
80         {0x1002, 0x5961, 1, "ATI Radeon RV280 9200"},
81         {0, 0, 0, NULL}
82 };
83
84 #include "dev/drm/drm_agpsupport.h"
85 #include "dev/drm/drm_auth.h"
86 #include "dev/drm/drm_bufs.h"
87 #include "dev/drm/drm_context.h"
88 #include "dev/drm/drm_dma.h"
89 #include "dev/drm/drm_drawable.h"
90 #include "dev/drm/drm_drv.h"
91 #include "dev/drm/drm_fops.h"
92 #include "dev/drm/drm_ioctl.h"
93 #include "dev/drm/drm_lock.h"
94 #include "dev/drm/drm_memory.h"
95 #include "dev/drm/drm_vm.h"
96 #include "dev/drm/drm_sysctl.h"
97 #if __HAVE_SG
98 #include "dev/drm/drm_scatter.h"
99 #endif
100
101 #if defined(__DragonFly__) || defined(__FreeBSD__)
102 DRIVER_MODULE(DRIVER_NAME, pci, DRM(driver), DRM(devclass), 0, 0);
103 #elif defined(__NetBSD__)
104 CFDRIVER_DECL(radeon, DV_TTY, NULL);
105 #endif /* __FreeBSD__ */