[syslinux] [PATCH] i915resolution: add id for GM45 chipset
Lucas De Marchi
lucas.demarchi at profusion.mobi
Fri Nov 19 07:27:03 PST 2010
Tested with a Dell Vostro 1320 laptop. After booting with
'MENU RESOLUTION 1280 800' in config file, this is the ouput
of 'hwinfo --framebuffer':
02: None 00.0: 11001 VESA Framebuffer
[Created at bios.459]
Unique ID: rdCR.fRULN9k9OD4
Hardware Class: framebuffer
Model: "Intel(r)Cantiga Graphics Controller"
Vendor: "Intel Corporation"
Device: "Intel(r)Cantiga Graphics Controller"
SubVendor: "Intel(r)Cantiga Graphics Chip Accelerated VGA BIOS"
SubDevice:
Revision: "Hardware Version 0.0"
Memory Size: 31 MB + 960 kB
Memory Range: 0xd0000000-0xd1feffff (rw)
Mode 0x0305: 1024x768 (+1024), 8 bits
Mode 0x0317: 1024x768 (+2048), 16 bits
Mode 0x0318: 1024x768 (+4096), 24 bits
Mode 0x0312: 640x480 (+2560), 24 bits
Mode 0x0314: 1280x800 (+2560), 16 bits
Mode 0x0315: 1280x800 (+5120), 24 bits
Mode 0x0301: 640x480 (+640), 8 bits
Mode 0x0303: 1280x800 (+1280), 8 bits
Mode 0x0311: 640x480 (+1280), 16 bits
Config Status: cfg=new, avail=yes, need=no, active=unknown
Signed-off-by: Lucas De Marchi <lucas.demarchi at profusion.mobi>
---
com32/lib/sys/vesa/i915resolution.c | 10 ++++++++--
1 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/com32/lib/sys/vesa/i915resolution.c b/com32/lib/sys/vesa/i915resolution.c
index 6ebb04d..1249524 100644
--- a/com32/lib/sys/vesa/i915resolution.c
+++ b/com32/lib/sys/vesa/i915resolution.c
@@ -75,7 +75,7 @@ typedef unsigned char * address;
typedef enum {
CT_UNKWN, CT_830, CT_845G, CT_855GM, CT_865G, CT_915G, CT_915GM,
- CT_945G, CT_945GM, CT_946GZ, CT_G965, CT_Q965, CT_945GME,
+ CT_945G, CT_945GM, CT_946GZ, CT_G965, CT_GM45, CT_Q965, CT_945GME,
CHIPSET_TYPES
} chipset_type;
@@ -262,6 +262,10 @@ static chipset_type get_chipset(unsigned int id) {
type = CT_945GME;
break;
+ case 0x2a408086:
+ type = CT_GM45;
+ break;
+
default:
type = CT_UNKWN;
break;
@@ -477,6 +481,7 @@ static void unlock_vbios(vbios_map * map)
case CT_945GME:
case CT_946GZ:
case CT_G965:
+ case CT_GM45:
case CT_Q965:
map->b1 = pci_readb(0x80000091);
map->b2 = pci_readb(0x80000092);
@@ -515,6 +520,7 @@ static void relock_vbios(vbios_map * map)
case CT_945GME:
case CT_946GZ:
case CT_G965:
+ case CT_GM45:
case CT_Q965:
pci_writeb(map->b1, 0x80000091);
pci_writeb(map->b2, 0x80000092);
@@ -740,7 +746,7 @@ static inline void display_map_info(vbios_map * map) {
{"UNKNOWN", "TYPE 1", "TYPE 2", "TYPE 3"};
static const char * chipset_type_names[] = {
"UNKNOWN", "830", "845G", "855GM", "865G", "915G", "915GM", "945G",
- "945GM", "946GZ", "G965", "Q965", "945GME"
+ "945GM", "946GZ", "G965", "GM45", "Q965", "945GME"
};
debug("Chipset: %s\r\n", chipset_type_names[map->chipset]);
--
1.7.3.2
More information about the Syslinux
mailing list