--- 915resolution-0.5.3/915resolution.c.lr 2007-10-14 19:35:46.000000000 +0200
+++ 915resolution-0.5.3/915resolution.c 2007-10-14 19:38:49.000000000 +0200
@@ -56,12 +56,12 @@
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_946GZ, CT_G965, CT_965GM, CT_Q965
} chipset_type;
char * chipset_type_names[] = {
"UNKNOWN", "830", "845G", "855GM", "865G", "915G", "915GM", "945G", "945GM",
- "946GZ", "G965", "Q965"
+ "946GZ", "G965", "965GM", "Q965"
};
typedef enum {
@@ -221,6 +221,10 @@
type = CT_G965;
break;
+ case 0x2a008086:
+ type = CT_965GM;
+ break;
+
case 0x29908086:
type = CT_Q965;
break;
@@ -510,6 +514,7 @@
case CT_945GM:
case CT_946GZ:
case CT_G965:
+ case CT_965GM:
case CT_Q965:
outl(0x80000090, 0xcf8);
map->b1 = inb(0xcfd);
@@ -550,6 +555,7 @@
case CT_945GM:
case CT_946GZ:
case CT_G965:
+ case CT_965GM:
case CT_Q965:
outl(0x80000090, 0xcf8);
outb(map->b1, 0xcfd);
@@ -809,6 +815,9 @@
else if (!strcmp(argv[index], "G965")) {
*forced_chipset = CT_G965;
}
+ else if (!strcmp(argv[index], "965GM")) {
+ *forced_chipset = CT_965GM;
+ }
else if (!strcmp(argv[index], "Q965")) {
*forced_chipset = CT_Q965;
}