* igfx: support gm915
@ 2019-03-04 7:31 qwx
0 siblings, 0 replies; only message in thread
From: qwx @ 2019-03-04 7:31 UTC (permalink / raw)
To: 9front
Hello,
I had to add support to igfx for an old chip (915GM) present on t43
boards.
Background:
A t43p with a faulty motherboard was acquired. The 1600x1200 screen was
transplanted onto a t43 with igfx. It worked, but wrong horizontal
timings were programmed with VESA, and the picture was offset to the right
by about 200 pixels.
What works: lvds, blanking
What doesn't: hwgc (not visible), snarfing edid (monitor=auto won't work),
Untested so far: vga output
I know it's an old chip and an odd configuration, but the changes are
very small.
Should I commit this?
Thanks!
qwx
diff -r a13de2f0ddc3 lib/vgadb
--- a/lib/vgadb Mon Mar 04 03:13:29 2019 +0100
+++ b/lib/vgadb Mon Mar 04 08:25:25 2019 +0100
@@ -442,6 +442,7 @@
ctlr=igfx linear=1
ctlr
+ vid=0x8086 did=0x2592 # Intel 915GM
vid=0x8086 did=0x27a2 # Intel GM945/82940GML (hardware cursor broken)
vid=0x8086 did=0x2a02 # Intel GM965/GL960/X3100 (hardware cursor broken)
link=vga
@@ -1843,3 +1844,13 @@
shs=1072
vrs=771 vre=777 vt=806
hsync=- vsync=-
+
+#
+# IBM Thinkpad t43 with t43p screen
+#
+t43p=1600x1200
+ lcd=1
+ defaultclock=162
+ shb=1664 ehb=1856 ht=2160
+ vrs=1201 vre=1204 vt=1250
+ hsync=+ vsync=+
diff -r a13de2f0ddc3 sys/src/9/pc/vgaigfx.c
--- a/sys/src/9/pc/vgaigfx.c Mon Mar 04 03:13:29 2019 +0100
+++ b/sys/src/9/pc/vgaigfx.c Mon Mar 04 08:25:25 2019 +0100
@@ -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 */
diff -r a13de2f0ddc3 sys/src/cmd/aux/vga/igfx.c
--- a/sys/src/cmd/aux/vga/igfx.c Mon Mar 04 03:13:29 2019 +0100
+++ b/sys/src/cmd/aux/vga/igfx.c Mon Mar 04 08:25:25 2019 +0100
@@ -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;
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2019-03-04 7:31 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-04 7:31 igfx: support gm915 qwx
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).