VGA arbitration: API proposal

Jesse Barnes jbarnes at engr.sgi.com
Fri Mar 4 18:01:21 PST 2005


On Friday, March 4, 2005 3:44 pm, Benjamin Herrenschmidt wrote:
> Egbert, Jon, any comment ?
>
> It could be implemented as a userland library for "default" OSes, that
> library using kernel facilities (to be written) on OSes that provide
> them (linux).
>
> As far as Linux is concerned, the toggling of VGA access with an
> in-kernel semaphore to be shared between userland toggle (via sysfs) and
> internal drivers (vgacon) has to be done, along with some indication (in
> sysfs too) of the decoding mode of the card as set by the driver (could
> be set by the kernel driver or by X, I suppose if they have different
> settings, they can switch it at VT switch time).

Seems to make sense to me--you really do have to introduce the concept of a 
VGA owner for cases where multiple VGA cards share the same bus or legacy 
I/O/mem decode segment.  In that sense, it complements the existing 
legacy_io/mem API presented by sysfs.

Might be nice if the  vga_set_legacy_decoding routine also returned the 
addresses of legacy I/O and memory space for that card.

This API is needed to properly POST multiple VGA cards per-bus, but it would 
be *really* nice if we could avoid using VGA at all after POSTing has been 
done (i.e. use the fb drivers instead of vgacon, don't use VGA ports from X 
space, etc.).  Of course that assumes that the full functionality of every 
display devices that we care about is a proper superset of the functionality 
they provide as VGA services, otherwise we'd be giving something up by 
dropping VGA based services.

Jesse



More information about the xorg mailing list