summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorqwx <devnull@localhost>2019-03-04 21:37:52 +0100
committerqwx <devnull@localhost>2019-03-04 21:37:52 +0100
commitb7525d1ed83868beb382e31cad54e951ea270298 (patch)
tree2ed8044fae43ebb4119e41091a23b2b69e20c44c
parent14da3b8a1ff5d1643e2cd0482976d5092d476fc5 (diff)
downloadplan9front-b7525d1ed83868beb382e31cad54e951ea270298.tar.xz
igfx: add support for 915gm
tested on a t43 with igfx and a 1600x1200 t43p screen what works: lvds, blanking what doesn't: hwgc (not visible), snarfing edid untested: vga based on realemu traces.
-rw-r--r--sys/src/9/pc/vgaigfx.c2
-rw-r--r--sys/src/cmd/aux/vga/igfx.c3
2 files changed, 4 insertions, 1 deletions
diff --git a/sys/src/9/pc/vgaigfx.c b/sys/src/9/pc/vgaigfx.c
index ca31dade6..8702c29ee 100644
--- a/sys/src/9/pc/vgaigfx.c
+++ b/sys/src/9/pc/vgaigfx.c
@@ -66,6 +66,7 @@ igfxblank(VGAscr *scr, int blank)
case 0x2a02: /* GM965 */
case 0x2a42: /* GM45 */
+ case 0x2592: /* GM915 */
off = 0x61204;
break;
@@ -156,6 +157,7 @@ igfxcurregs(VGAscr* scr, int pipe)
if(pipe > 2)
return nil;
break;
+ case 0x2592: /* GM915 */
case 0x2a42: /* X200 */
case 0x29a2: /* 82P965/G965 HECI desktop */
case 0x2a02: /* CF-R7 */
diff --git a/sys/src/cmd/aux/vga/igfx.c b/sys/src/cmd/aux/vga/igfx.c
index 3d7841a36..c636706b0 100644
--- a/sys/src/cmd/aux/vga/igfx.c
+++ b/sys/src/cmd/aux/vga/igfx.c
@@ -379,6 +379,7 @@ devtype(Igfx *igfx)
case 0x29a2: /* 82P965/G965 HECI desktop */
case 0x2a02: /* GM965/GL960/X3100 - ThinkPad X61 Tablet */
case 0x2a42: /* 4 Series Mobile - ThinkPad X200 */
+ case 0x2592: /* 915GM */
return TypeG45;
}
return -1;
@@ -889,7 +890,7 @@ initdpll(Igfx *igfx, int x, int freq, int port)
dpll->ctrl.v |= 0x010000<<(p1-1);
/* FP1 P1 Post divisor */
- if(igfx->pci->did != 0x27a2){
+ if(igfx->pci->did != 0x27a2 && igfx->pci->did != 0x2592){
dpll->ctrl.v &= ~0xFF;
dpll->ctrl.v |= 0x01<<(p1-1);
dpll->fp1.v = dpll->fp0.v;