intel: Add initial support for Sandybridge, and clean up the #defines.
[platform/upstream/libdrm.git] / intel / intel_chipset.h
1 /*
2  *
3  * Copyright 2003 Tungsten Graphics, Inc., Cedar Park, Texas.
4  * All Rights Reserved.
5  *
6  * Permission is hereby granted, free of charge, to any person obtaining a
7  * copy of this software and associated documentation files (the
8  * "Software"), to deal in the Software without restriction, including
9  * without limitation the rights to use, copy, modify, merge, publish,
10  * distribute, sub license, and/or sell copies of the Software, and to
11  * permit persons to whom the Software is furnished to do so, subject to
12  * the following conditions:
13  *
14  * The above copyright notice and this permission notice (including the
15  * next paragraph) shall be included in all copies or substantial portions
16  * of the Software.
17  *
18  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
19  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
20  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
21  * IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR
22  * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
23  * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
24  * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
25  *
26  */
27
28 #ifndef _INTEL_CHIPSET_H
29 #define _INTEL_CHIPSET_H
30
31 #define IS_830(dev) ((dev)->pci_device == 0x3577)
32 #define IS_845(dev) ((dev)->pci_device == 0x2562)
33 #define IS_85X(dev) ((dev)->pci_device == 0x3582)
34 #define IS_865(dev) ((dev)->pci_device == 0x2572)
35
36 #define IS_GEN2(dev) (IS_830(dev) ||                            \
37                       IS_845(dev) ||                            \
38                       IS_85X(dev) ||                            \
39                       IS_865(dev))
40
41 #define IS_915G(dev) ((dev)->pci_device == 0x2582 ||            \
42                        (dev)->pci_device == 0x258a)
43 #define IS_915GM(dev) ((dev)->pci_device == 0x2592)
44 #define IS_945G(dev) ((dev)->pci_device == 0x2772)
45 #define IS_945GM(dev) ((dev)->pci_device == 0x27A2 ||           \
46                         (dev)->pci_device == 0x27AE)
47
48 #define IS_915(dev) (IS_915G(dev) ||                            \
49                      IS_915GM(dev))
50
51 #define IS_945(dev) (IS_945G(dev) ||                            \
52                      IS_945GM(dev) ||                           \
53                      IS_G33(dev) ||                             \
54                      IS_PINEVIEW(dev))
55
56 #define IS_G33(dev)    ((dev)->pci_device == 0x29C2 ||          \
57                         (dev)->pci_device == 0x29B2 ||          \
58                         (dev)->pci_device == 0x29D2)
59
60 #define IS_PINEVIEW(dev) ((dev)->pci_device == 0xa001 ||        \
61                           (dev)->pci_device == 0xa011)
62
63 #define IS_GEN3(dev) (IS_915(dev) ||                            \
64                       IS_945(dev) ||                            \
65                       IS_G33(dev) ||                            \
66                       IS_PINEVIEW(dev))
67
68 #define IS_I965GM(dev) ((dev)->pci_device == 0x2A02)
69
70 #define IS_GEN4(dev) ((dev)->pci_device == 0x2972 ||    \
71                       (dev)->pci_device == 0x2982 ||    \
72                       (dev)->pci_device == 0x2992 ||    \
73                       (dev)->pci_device == 0x29A2 ||    \
74                       (dev)->pci_device == 0x2A02 ||    \
75                       (dev)->pci_device == 0x2A12 ||    \
76                       (dev)->pci_device == 0x2A42 ||    \
77                       (dev)->pci_device == 0x2E02 ||    \
78                       (dev)->pci_device == 0x2E12 ||    \
79                       (dev)->pci_device == 0x2E22 ||    \
80                       (dev)->pci_device == 0x2E32 ||    \
81                       (dev)->pci_device == 0x2E42 ||    \
82                       (dev)->pci_device == 0x0042 ||    \
83                       (dev)->pci_device == 0x0046 ||    \
84                       IS_965GM(dev) || \
85                       IS_G4X(dev))
86
87 #define IS_GM45(dev) ((dev)->pci_device == 0x2A42)
88
89 #define IS_G4X(dev) ((dev)->pci_device == 0x2E02 || \
90                      (dev)->pci_device == 0x2E12 || \
91                      (dev)->pci_device == 0x2E22 || \
92                      (dev)->pci_device == 0x2E32 || \
93                      (dev)->pci_device == 0x2E42 || \
94                      IS_GM45(dev))
95
96 #define IS_9XX(dev) (IS_GEN3(dev) ||                            \
97                      IS_GEN4(dev) ||                            \
98                      IS_GEN5(dev) ||                            \
99                      IS_GEN6(dev))
100
101 #endif /* _INTEL_CHIPSET_H */