changelog shortlog tags branches files raw gz bz2 help

Mercurial > hg > plan9front / changeset: igfx: only use mmio... left from debugging

changeset 4198: 3606e8f4db13
parent 4197: 856f8cdbc275
child 4199: c2c45e4bdbfb
author: cinap_lenrek@felloff.net
date: Sun, 11 Jan 2015 04:03:14 +0100
files: sys/src/cmd/aux/vga/igfx.c
description: igfx: only use mmio... left from debugging
     1.1--- a/sys/src/cmd/aux/vga/igfx.c
     1.2+++ b/sys/src/cmd/aux/vga/igfx.c
     1.3@@ -332,14 +332,15 @@ snarf(Vga* vga, Ctlr* ctlr)
     1.4 			return;
     1.5 		}
     1.6 		vgactlpci(igfx->pci);
     1.7-		if((igfx->pci->mem[4].bar & 1) == 0)
     1.8-			error("%s: no pio bar\n", ctlr->name);
     1.9-		igfx->pio = igfx->pci->mem[4].bar & ~1;
    1.10 		if(1){
    1.11 			vgactlw("type", ctlr->name);
    1.12 			igfx->mmio = segattach(0, "igfxmmio", 0, igfx->pci->mem[0].size);
    1.13 			if(igfx->mmio == (u32int*)-1)
    1.14-				igfx->mmio = nil;	/* use pio */
    1.15+				error("%s: attaching mmio: %r\n", ctlr->name);
    1.16+		} else {
    1.17+			if((igfx->pci->mem[4].bar & 1) == 0)
    1.18+				error("%s: no pio bar\n", ctlr->name);
    1.19+			igfx->pio = igfx->pci->mem[4].bar & ~1;
    1.20 		}
    1.21 		vga->private = igfx;
    1.22 	}
    1.23@@ -362,7 +363,7 @@ snarf(Vga* vga, Ctlr* ctlr)
    1.24 
    1.25 		for(x=0; x<5; x++)
    1.26 			igfx->gmbus[x]	= snarfreg(igfx, 0x5100 + x*4);
    1.27-		igfx->gmbus[5]	= snarfreg(igfx, 0x5120);
    1.28+		igfx->gmbus[x]	= snarfreg(igfx, 0x5120);
    1.29 
    1.30 		igfx->pfit[0].ctrl	= snarfreg(igfx, 0x061230);
    1.31 		y = (igfx->pfit[0].ctrl.v >> 29) & 3;
    1.32@@ -439,6 +440,10 @@ snarf(Vga* vga, Ctlr* ctlr)
    1.33 		igfx->hdmi[3].bufctl[2]	= snarfreg(igfx, 0x0FD018);	/* HTMI_BUF_CTL_10 */
    1.34 		igfx->hdmi[3].bufctl[3]	= snarfreg(igfx, 0x0FD024);	/* HTMI_BUF_CTL_11 */
    1.35 
    1.36+		for(x=0; x<5; x++)
    1.37+			igfx->gmbus[x]	= snarfreg(igfx, 0xC5100 + x*4);
    1.38+		igfx->gmbus[x]	= snarfreg(igfx, 0xC5120);
    1.39+
    1.40 		igfx->adpa		= snarfreg(igfx, 0x0E1100);	/* DAC_CTL */
    1.41 		igfx->lvds		= snarfreg(igfx, 0x0E1180);	/* LVDS_CTL */
    1.42 
    1.43@@ -1241,8 +1246,6 @@ snarfedid(Igfx *igfx)
    1.44 {
    1.45 	uchar buf[128];
    1.46 
    1.47-	if(igfx->type != TypeG45)
    1.48-		return;
    1.49 	if(gmbusread(igfx, 3, 0x50, buf, sizeof(buf)) != sizeof(buf))
    1.50 		return;
    1.51 	igfx->lvdsedid = malloc(sizeof(Edid));