#! /bin/sh /usr/share/dpatch/dpatch-run ## 01-add-chipsets.dpatch ## ## All lines beginning with `## DP:' are a description of the patch. ## DP: Add support for some chipsets to 915resolution @DPATCH@ diff -urN 915resolution-0.5.2.old/915resolution.c 915resolution-0.5.2/915resolution.c --- 915resolution-0.5.2.old/915resolution.c 2006-09-28 13:08:29.000000000 +0200 +++ 915resolution-0.5.2/915resolution.c 2006-09-28 13:16:49.000000000 +0200 @@ -55,10 +55,14 @@ typedef unsigned int cardinal; typedef enum { - CT_UNKWN, CT_845G, CT_855GM, CT_865G, CT_915G, CT_915GM, CT_945G, CT_945GM + CT_UNKWN, CT_845G, CT_855GM, CT_865G, CT_915G, CT_915GM, CT_945G, CT_945GM, + CT_946GZ, CT_965Q, CT_965G } chipset_type; -char * chipset_type_names[] = {"UNKNOWN", "845G", "855GM", "865G", "915G", "915GM", "945G", "945GM"}; +char * chipset_type_names[] = { + "UNKNOWN", "845G", "855GM", "865G", "915G", "915GM", "945G", "945GM", + "946GZ", "965Q", "965G" +}; typedef enum { BT_UNKWN, BT_1, BT_2, BT_3 @@ -205,6 +209,18 @@ type = CT_945GM; break; + case 0x29708086: + type = CT_946GZ; + break; + + case 0x29908086: + type = CT_965Q; + break; + + case 0x29a08086: + type = CT_965G; + break; + default: type = CT_UNKWN; break; @@ -488,6 +504,9 @@ case CT_915GM: case CT_945G: case CT_945GM: + case CT_946GZ: + case CT_965Q: + case CT_965G: outl(0x80000090, 0xcf8); map->b1 = inb(0xcfd); map->b2 = inb(0xcfe); @@ -535,6 +554,9 @@ case CT_915GM: case CT_945G: case CT_945GM: + case CT_946GZ: + case CT_965Q: + case CT_965G: outl(0x80000090, 0xcf8); outb(map->b1, 0xcfd); outb(map->b2, 0xcfe); @@ -773,6 +795,15 @@ else if (!strcmp(argv[index], "945GM")) { *forced_chipset = CT_945GM; } + else if (!strcmp(argv[index], "946GZ")) { + *forced_chipset = CT_946GZ; + } + else if (!strcmp(argv[index], "965Q")) { + *forced_chipset = CT_965Q; + } + else if (!strcmp(argv[index], "965G")) { + *forced_chipset = CT_965G; + } else { *forced_chipset = CT_UNKWN; }