shithub: riscv

Download patch

ref: b7525d1ed83868beb382e31cad54e951ea270298
parent: 14da3b8a1ff5d1643e2cd0482976d5092d476fc5
author: qwx <devnull@localhost>
date: Mon Mar 4 16:37:52 EST 2019

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.

--- a/sys/src/9/pc/vgaigfx.c
+++ b/sys/src/9/pc/vgaigfx.c
@@ -66,6 +66,7 @@
 
 	case 0x2a02:	/* GM965 */
 	case 0x2a42:	/* GM45 */
+	case 0x2592:	/* GM915 */
 		off = 0x61204;
 		break;
 
@@ -156,6 +157,7 @@
 		if(pipe > 2)
 			return nil;
 		break;
+	case 0x2592:	/* GM915 */
 	case 0x2a42:	/* X200 */
 	case 0x29a2:	/* 82P965/G965 HECI desktop */
 	case 0x2a02:	/* CF-R7 */
--- a/sys/src/cmd/aux/vga/igfx.c
+++ b/sys/src/cmd/aux/vga/igfx.c
@@ -379,6 +379,7 @@
 	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 @@
 	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;