summaryrefslogtreecommitdiffstats
path: root/meta-moblin/packages/linux/linux-moblin-2.6.27/0042-intelfb-945gme.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-moblin/packages/linux/linux-moblin-2.6.27/0042-intelfb-945gme.patch')
-rw-r--r--meta-moblin/packages/linux/linux-moblin-2.6.27/0042-intelfb-945gme.patch154
1 files changed, 154 insertions, 0 deletions
diff --git a/meta-moblin/packages/linux/linux-moblin-2.6.27/0042-intelfb-945gme.patch b/meta-moblin/packages/linux/linux-moblin-2.6.27/0042-intelfb-945gme.patch
new file mode 100644
index 0000000000..0f74d47bf1
--- /dev/null
+++ b/meta-moblin/packages/linux/linux-moblin-2.6.27/0042-intelfb-945gme.patch
@@ -0,0 +1,154 @@
1The following patch adds support for Intel's 945GME graphics chip to
2the intelfb driver. I have assumed that the 945GME is identical to the
3already-supported 945GM apart from its PCI IDs; this is based on a quick
4look at the X driver for these chips which seems to treat them
5identically.
6
7Signed-off-by: Phil Endecott <spam_from_intelfb@chezphil.org>
8
9---
10
11The 945GME is used in the ASUS Eee 901, and I coded this in the hope that
12I'd be able to use it to get a console at the native 1024x600 resolution
13which is not known to the BIOS. I realised too late that the intelfb
14driver does not support mode changing on laptops, so it won't be any
15use for me. But rather than throw it away I will post it here as
16essentially "untested"; maybe someone who knows more about this driver,
17and with more useful hardware to test on, can pick it up.
18
19---
20 Documentation/fb/intelfb.txt | 1 +
21 drivers/video/intelfb/intelfb.h | 7 +++++--
22 drivers/video/intelfb/intelfb_i2c.c | 1 +
23 drivers/video/intelfb/intelfbdrv.c | 7 ++++++-
24 drivers/video/intelfb/intelfbhw.c | 7 +++++++
25 5 files changed, 20 insertions(+), 3 deletions(-)
26
27Index: linux-2.6.27/Documentation/fb/intelfb.txt
28===================================================================
29--- linux-2.6.27.orig/Documentation/fb/intelfb.txt 2008-10-14 16:54:54.000000000 +0200
30+++ linux-2.6.27/Documentation/fb/intelfb.txt 2008-10-14 17:05:36.000000000 +0200
31@@ -14,6 +14,7 @@ graphics devices. These would include:
32 Intel 915GM
33 Intel 945G
34 Intel 945GM
35+ Intel 945GME
36 Intel 965G
37 Intel 965GM
38
39Index: linux-2.6.27/drivers/video/intelfb/intelfb.h
40===================================================================
41--- linux-2.6.27.orig/drivers/video/intelfb/intelfb.h 2008-10-14 16:55:37.000000000 +0200
42+++ linux-2.6.27/drivers/video/intelfb/intelfb.h 2008-10-14 17:05:36.000000000 +0200
43@@ -12,9 +12,9 @@
44 #endif
45
46 /*** Version/name ***/
47-#define INTELFB_VERSION "0.9.5"
48+#define INTELFB_VERSION "0.9.6"
49 #define INTELFB_MODULE_NAME "intelfb"
50-#define SUPPORTED_CHIPSETS "830M/845G/852GM/855GM/865G/915G/915GM/945G/945GM/965G/965GM"
51+#define SUPPORTED_CHIPSETS "830M/845G/852GM/855GM/865G/915G/915GM/945G/945GM/945GME/965G/965GM"
52
53
54 /*** Debug/feature defines ***/
55@@ -58,6 +58,7 @@
56 #define PCI_DEVICE_ID_INTEL_915GM 0x2592
57 #define PCI_DEVICE_ID_INTEL_945G 0x2772
58 #define PCI_DEVICE_ID_INTEL_945GM 0x27A2
59+#define PCI_DEVICE_ID_INTEL_945GME 0x27AE
60 #define PCI_DEVICE_ID_INTEL_965G 0x29A2
61 #define PCI_DEVICE_ID_INTEL_965GM 0x2A02
62
63@@ -160,6 +161,7 @@ enum intel_chips {
64 INTEL_915GM,
65 INTEL_945G,
66 INTEL_945GM,
67+ INTEL_945GME,
68 INTEL_965G,
69 INTEL_965GM,
70 };
71@@ -363,6 +365,7 @@ struct intelfb_info {
72 ((dinfo)->chipset == INTEL_915GM) || \
73 ((dinfo)->chipset == INTEL_945G) || \
74 ((dinfo)->chipset == INTEL_945GM) || \
75+ ((dinfo)->chipset == INTEL_945GME) || \
76 ((dinfo)->chipset == INTEL_965G) || \
77 ((dinfo)->chipset == INTEL_965GM))
78
79Index: linux-2.6.27/drivers/video/intelfb/intelfb_i2c.c
80===================================================================
81--- linux-2.6.27.orig/drivers/video/intelfb/intelfb_i2c.c 2008-10-14 16:55:37.000000000 +0200
82+++ linux-2.6.27/drivers/video/intelfb/intelfb_i2c.c 2008-10-14 17:05:36.000000000 +0200
83@@ -171,6 +171,7 @@ void intelfb_create_i2c_busses(struct in
84 /* has some LVDS + tv-out */
85 case INTEL_945G:
86 case INTEL_945GM:
87+ case INTEL_945GME:
88 case INTEL_965G:
89 case INTEL_965GM:
90 /* SDVO ports have a single control bus - 2 devices */
91Index: linux-2.6.27/drivers/video/intelfb/intelfbdrv.c
92===================================================================
93--- linux-2.6.27.orig/drivers/video/intelfb/intelfbdrv.c 2008-10-14 16:55:37.000000000 +0200
94+++ linux-2.6.27/drivers/video/intelfb/intelfbdrv.c 2008-10-14 17:05:36.000000000 +0200
95@@ -2,7 +2,7 @@
96 * intelfb
97 *
98 * Linux framebuffer driver for Intel(R) 830M/845G/852GM/855GM/865G/915G/915GM/
99- * 945G/945GM/965G/965GM integrated graphics chips.
100+ * 945G/945GM/945GME/965G/965GM integrated graphics chips.
101 *
102 * Copyright © 2002, 2003 David Dawes <dawes@xfree86.org>
103 * 2004 Sylvain Meyer
104@@ -102,6 +102,9 @@
105 *
106 * 04/2008 - Version 0.9.5
107 * Add support for 965G/965GM. (Maik Broemme <mbroemme@plusserver.de>)
108+ *
109+ * 08/2008 - Version 0.9.6
110+ * Add support for 945GME. (Phil Endecott <spam_from_intelfb@chezphil.org>)
111 */
112
113 #include <linux/module.h>
114@@ -183,6 +186,7 @@ static struct pci_device_id intelfb_pci_
115 { 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 },
116 { 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 },
117 { 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 },
118+ { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_945GME, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_DISPLAY_VGA << 8, INTELFB_CLASS_MASK, INTEL_945GME },
119 { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_965G, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_DISPLAY_VGA << 8, INTELFB_CLASS_MASK, INTEL_965G },
120 { PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_965GM, PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_DISPLAY_VGA << 8, INTELFB_CLASS_MASK, INTEL_965GM },
121 { 0, }
122@@ -555,6 +559,7 @@ static int __devinit intelfb_pci_registe
123 (ent->device == PCI_DEVICE_ID_INTEL_915GM) ||
124 (ent->device == PCI_DEVICE_ID_INTEL_945G) ||
125 (ent->device == PCI_DEVICE_ID_INTEL_945GM) ||
126+ (ent->device == PCI_DEVICE_ID_INTEL_945GME) ||
127 (ent->device == PCI_DEVICE_ID_INTEL_965G) ||
128 (ent->device == PCI_DEVICE_ID_INTEL_965GM)) {
129
130Index: linux-2.6.27/drivers/video/intelfb/intelfbhw.c
131===================================================================
132--- linux-2.6.27.orig/drivers/video/intelfb/intelfbhw.c 2008-10-14 16:55:37.000000000 +0200
133+++ linux-2.6.27/drivers/video/intelfb/intelfbhw.c 2008-10-14 17:05:36.000000000 +0200
134@@ -143,6 +143,12 @@ int intelfbhw_get_chipset(struct pci_dev
135 dinfo->mobile = 1;
136 dinfo->pll_index = PLLS_I9xx;
137 return 0;
138+ case PCI_DEVICE_ID_INTEL_945GME:
139+ dinfo->name = "Intel(R) 945GME";
140+ dinfo->chipset = INTEL_945GME;
141+ dinfo->mobile = 1;
142+ dinfo->pll_index = PLLS_I9xx;
143+ return 0;
144 case PCI_DEVICE_ID_INTEL_965G:
145 dinfo->name = "Intel(R) 965G";
146 dinfo->chipset = INTEL_965G;
147@@ -186,6 +192,7 @@ int intelfbhw_get_memory(struct pci_dev
148 case PCI_DEVICE_ID_INTEL_915GM:
149 case PCI_DEVICE_ID_INTEL_945G:
150 case PCI_DEVICE_ID_INTEL_945GM:
151+ case PCI_DEVICE_ID_INTEL_945GME:
152 case PCI_DEVICE_ID_INTEL_965G:
153 case PCI_DEVICE_ID_INTEL_965GM:
154 /* 915, 945 and 965 chipsets support a 256MB aperture.