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.
This commit is contained in:
qwx 2019-03-04 21:37:52 +01:00
parent 14da3b8a1f
commit b7525d1ed8
2 changed files with 4 additions and 1 deletions

View file

@ -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 */

View file

@ -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;