[PATCH] vgahw: Resurrect disabling of legacy VGA support

Mark Kettenis mark.kettenis at xs4all.nl
Tue Aug 13 07:57:55 PDT 2013


> Date: Tue, 13 Aug 2013 16:21:51 +0200
> From: Egbert Eich <eich at freedesktop.org>
> 
> On Tue, Aug 13, 2013 at 01:30:00PM +0200, Mark Kettenis wrote:
> > 
> > There defenitely is an issue with the driver here.  For one thing, the
> > following bit:
> > 
> > #if defined(__powerpc__)
> >     vgaHWSetMmioFuncs(VGAHWPTR(pScrn), (CARD8 *)pNv->IOAddress, 0);
> > #endif
> 
> Mark, what version of the driver are you looking at? I cannot find
> this line in nv_driver.c 49ee1c26ea982e.
> The line above however has a different offset than what I see used
> in my driver.

Hmm, was looking in the OpenBSD "xenocara" tree.  Looks like this is a
local modification.  Sorry for the noise.

> > in nv_driver.c doesn't really make any sense.  Shortly afterwards,
> > NVCommonSetup() gets called which overrides most of the VGA I/O
> > routines and hijacks MMIOBase.  What probably needs to be done is to
> > make sure NVCommonSetup() also overrides ->readST01.  However, there
> > are potential issues with making ->readST01 use MMIO, as the timing
> 
> Currently (at least on 49ee1c26ea982e) the idea seems to be that readST01 
> is routed thru the PIO access path possibly for timing reasons. This will
> however not work for PowerPC.

At least not without further fixes to libpciaccess and your kernel...

Yes, this is the issue I was hinting at below.

> Moreover there's a bug in the libvgaHW so that IOBase does not get set
> correctly at least for vgaHWSave/RestoreColormap(). This function would 
> require the same logic as vgaHWSave/RestoreFonts().

Or rather make sure vgaHWGetIOBase() gets called by the nv driver.

I'll see if I can find some time to dust off my G5 iMac and figure out
what's the best approach here.


More information about the xorg-devel mailing list