aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/intelfb
diff options
context:
space:
mode:
authorDave Airlie <airlied@linux.ie>2006-03-23 05:53:05 -0500
committerDave Airlie <airlied@linux.ie>2006-04-02 21:43:28 -0400
commit9a90603f65dd5046ddcd586158abcad7784892b6 (patch)
treee522d2fbc83a491ed50cee596a4c5d983460c2b4 /drivers/video/intelfb
parent8b91b0b4f2d731b92f59bc82492769a09b4955a6 (diff)
intelfb: add i945GM support
Untested i945GM support just add the framework. Signed-off-by: Dave Airlie <airlied@linux.ie>
Diffstat (limited to 'drivers/video/intelfb')
-rw-r--r--drivers/video/intelfb/intelfb.h10
-rw-r--r--drivers/video/intelfb/intelfbdrv.c6
-rw-r--r--drivers/video/intelfb/intelfbhw.c6
3 files changed, 16 insertions, 6 deletions
diff --git a/drivers/video/intelfb/intelfb.h b/drivers/video/intelfb/intelfb.h
index de9875c0c08f..43128f9b68f0 100644
--- a/drivers/video/intelfb/intelfb.h
+++ b/drivers/video/intelfb/intelfb.h
@@ -8,9 +8,9 @@
8 8
9 9
10/*** Version/name ***/ 10/*** Version/name ***/
11#define INTELFB_VERSION "0.9.3" 11#define INTELFB_VERSION "0.9.4"
12#define INTELFB_MODULE_NAME "intelfb" 12#define INTELFB_MODULE_NAME "intelfb"
13#define SUPPORTED_CHIPSETS "830M/845G/852GM/855GM/865G/915G/915GM/945G" 13#define SUPPORTED_CHIPSETS "830M/845G/852GM/855GM/865G/915G/915GM/945G/945GM"
14 14
15 15
16/*** Debug/feature defines ***/ 16/*** Debug/feature defines ***/
@@ -53,6 +53,7 @@
53#define PCI_DEVICE_ID_INTEL_915G 0x2582 53#define PCI_DEVICE_ID_INTEL_915G 0x2582
54#define PCI_DEVICE_ID_INTEL_915GM 0x2592 54#define PCI_DEVICE_ID_INTEL_915GM 0x2592
55#define PCI_DEVICE_ID_INTEL_945G 0x2772 55#define PCI_DEVICE_ID_INTEL_945G 0x2772
56#define PCI_DEVICE_ID_INTEL_945GM 0x27A2
56 57
57/* Size of MMIO region */ 58/* Size of MMIO region */
58#define INTEL_REG_SIZE 0x80000 59#define INTEL_REG_SIZE 0x80000
@@ -127,7 +128,8 @@ enum intel_chips {
127 INTEL_865G, 128 INTEL_865G,
128 INTEL_915G, 129 INTEL_915G,
129 INTEL_915GM, 130 INTEL_915GM,
130 INTEL_945G 131 INTEL_945G,
132 INTEL_945GM,
131}; 133};
132 134
133struct intelfb_hwstate { 135struct intelfb_hwstate {
@@ -284,7 +286,7 @@ struct intelfb_info {
284 int pll_index; 286 int pll_index;
285}; 287};
286 288
287#define IS_I9xx(dinfo) (((dinfo)->chipset == INTEL_915G)||(dinfo->chipset == INTEL_915GM)||((dinfo)->chipset == INTEL_945G)) 289#define IS_I9xx(dinfo) (((dinfo)->chipset == INTEL_915G)||(dinfo->chipset == INTEL_915GM)||((dinfo)->chipset == INTEL_945G)||(dinfo->chipset==INTEL_945GM))
288 290
289/*** function prototypes ***/ 291/*** function prototypes ***/
290 292
diff --git a/drivers/video/intelfb/intelfbdrv.c b/drivers/video/intelfb/intelfbdrv.c
index f659ca8d1652..54ce74547a3e 100644
--- a/drivers/video/intelfb/intelfbdrv.c
+++ b/drivers/video/intelfb/intelfbdrv.c
@@ -2,7 +2,7 @@
2 * intelfb 2 * intelfb
3 * 3 *
4 * Linux framebuffer driver for Intel(R) 830M/845G/852GM/855GM/865G/915G/915GM/ 4 * Linux framebuffer driver for Intel(R) 830M/845G/852GM/855GM/865G/915G/915GM/
5 * 945G integrated graphics chips. 5 * 945G/945GM integrated graphics chips.
6 * 6 *
7 * Copyright © 2002, 2003 David Dawes <dawes@xfree86.org> 7 * Copyright © 2002, 2003 David Dawes <dawes@xfree86.org>
8 * 2004 Sylvain Meyer 8 * 2004 Sylvain Meyer
@@ -184,6 +184,7 @@ static struct pci_device_id intelfb_pci_table[] __devinitdata = {
184 { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_915G, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_DISPLAY_VGA << 8, INTELFB_CLASS_MASK, INTEL_915G }, 184 { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_915G, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_DISPLAY_VGA << 8, INTELFB_CLASS_MASK, INTEL_915G },
185 { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_915GM, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_DISPLAY_VGA << 8, INTELFB_CLASS_MASK, INTEL_915GM }, 185 { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_915GM, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_DISPLAY_VGA << 8, INTELFB_CLASS_MASK, INTEL_915GM },
186 { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_945G, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_DISPLAY_VGA << 8, INTELFB_CLASS_MASK, INTEL_945G }, 186 { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_945G, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_DISPLAY_VGA << 8, INTELFB_CLASS_MASK, INTEL_945G },
187 { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_945GM, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_DISPLAY_VGA << 8, INTELFB_CLASS_MASK, INTEL_945GM },
187 { 0, } 188 { 0, }
188}; 189};
189 190
@@ -549,7 +550,8 @@ intelfb_pci_register(struct pci_dev *pdev, const struct pci_device_id *ent)
549 /* Set base addresses. */ 550 /* Set base addresses. */
550 if ((ent->device == PCI_DEVICE_ID_INTEL_915G) || 551 if ((ent->device == PCI_DEVICE_ID_INTEL_915G) ||
551 (ent->device == PCI_DEVICE_ID_INTEL_915GM) || 552 (ent->device == PCI_DEVICE_ID_INTEL_915GM) ||
552 (ent->device == PCI_DEVICE_ID_INTEL_945G)) { 553 (ent->device == PCI_DEVICE_ID_INTEL_945G) ||
554 (ent->device == PCI_DEVICE_ID_INTEL_945GM)) {
553 aperture_bar = 2; 555 aperture_bar = 2;
554 mmio_bar = 0; 556 mmio_bar = 0;
555 } 557 }
diff --git a/drivers/video/intelfb/intelfbhw.c b/drivers/video/intelfb/intelfbhw.c
index 2537880b2420..73e1902dc3bb 100644
--- a/drivers/video/intelfb/intelfbhw.c
+++ b/drivers/video/intelfb/intelfbhw.c
@@ -134,6 +134,12 @@ intelfbhw_get_chipset(struct pci_dev *pdev, struct intelfb_info *dinfo)
134 dinfo->mobile = 0; 134 dinfo->mobile = 0;
135 dinfo->pll_index = PLLS_I9xx; 135 dinfo->pll_index = PLLS_I9xx;
136 return 0; 136 return 0;
137 case PCI_DEVICE_ID_INTEL_945GM:
138 dinfo->name = "Intel(R) 945GM";
139 dinfo->chipset = INTEL_945GM;
140 dinfo->mobile = 1;
141 dinfo->pll_index = PLLS_I9xx;
142 return 0;
137 default: 143 default:
138 return 1; 144 return 1;
139 } 145 }