ref: 01a1d96315b43501fceaf60b188bcba3fd5d5ab7
parent: 21b0bafd100e605101b6614a295516df1774724c
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Sat Jan 10 23:03:14 EST 2015
igfx: only use mmio... left from debugging
--- a/sys/src/cmd/aux/vga/igfx.c
+++ b/sys/src/cmd/aux/vga/igfx.c
@@ -332,14 +332,15 @@
return;
}
vgactlpci(igfx->pci);
- if((igfx->pci->mem[4].bar & 1) == 0)
- error("%s: no pio bar\n", ctlr->name);
- igfx->pio = igfx->pci->mem[4].bar & ~1;
if(1){
vgactlw("type", ctlr->name);
igfx->mmio = segattach(0, "igfxmmio", 0, igfx->pci->mem[0].size);
if(igfx->mmio == (u32int*)-1)
- igfx->mmio = nil; /* use pio */
+ error("%s: attaching mmio: %r\n", ctlr->name);
+ } else {
+ if((igfx->pci->mem[4].bar & 1) == 0)
+ error("%s: no pio bar\n", ctlr->name);
+ igfx->pio = igfx->pci->mem[4].bar & ~1;
}
vga->private = igfx;
}
@@ -362,7 +363,7 @@
for(x=0; x<5; x++)
igfx->gmbus[x] = snarfreg(igfx, 0x5100 + x*4);
- igfx->gmbus[5] = snarfreg(igfx, 0x5120);
+ igfx->gmbus[x] = snarfreg(igfx, 0x5120);
igfx->pfit[0].ctrl = snarfreg(igfx, 0x061230);
y = (igfx->pfit[0].ctrl.v >> 29) & 3;
@@ -439,6 +440,10 @@
igfx->hdmi[3].bufctl[2] = snarfreg(igfx, 0x0FD018); /* HTMI_BUF_CTL_10 */
igfx->hdmi[3].bufctl[3] = snarfreg(igfx, 0x0FD024); /* HTMI_BUF_CTL_11 */
+ for(x=0; x<5; x++)
+ igfx->gmbus[x] = snarfreg(igfx, 0xC5100 + x*4);
+ igfx->gmbus[x] = snarfreg(igfx, 0xC5120);
+
igfx->adpa = snarfreg(igfx, 0x0E1100); /* DAC_CTL */
igfx->lvds = snarfreg(igfx, 0x0E1180); /* LVDS_CTL */
@@ -1241,8 +1246,6 @@
{
uchar buf[128];
- if(igfx->type != TypeG45)
- return;
if(gmbusread(igfx, 3, 0x50, buf, sizeof(buf)) != sizeof(buf))
return;
igfx->lvdsedid = malloc(sizeof(Edid));