[PATCH] vgahw: Resurrect disabling of legacy VGA support

Egbert Eich eich at freedesktop.org
Tue Aug 13 07:21:51 PDT 2013


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.

> 
> 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.
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().

Will look into this.

> will become different, and DACDelay() might therefore not have the
> intended effect.  It's not clear whether NVIDIA hardware needs the
> delays when accessing the palette registers.  So perhaps the safest
> thing to do would be to override ->readST01 only #ifdef __powerpc__.

Will also look into this (after above issue).

Cheers,
	Egbert.


More information about the xorg-devel mailing list