[PATCH] VGA arbitration: draft of kernel side

Jesse Barnes jbarnes at engr.sgi.com
Wed Mar 9 08:57:14 PST 2005


On Tuesday, March 8, 2005 9:58 pm, Jon Smirl wrote:
> On Wed, 09 Mar 2005 16:37:13 +1100, Benjamin Herrenschmidt
>
> <benh at kernel.crashing.org> wrote:
> > On Tue, 2005-03-08 at 23:35 -0500, Jon Smirl wrote:
> > > This is from /linux-2.5/Documentation/filesystems/sysfs-pci.txt. It
> > > describes how ia64 is achieving legacy IO.  The VGA control code
> > > probably needs to be coordinated with this.
> >
> > This is a different thing, and I will implement it on ppc one of these
> > days. This is for issuing the IO cycles on the bus. It has nothing
> > to do with the actual arbitration work.
>
> Each one of these legacy spaces corresponds to an allowable
> simultaneous VGA use. There should be one arbiter per legacy space.

Jon, I think the arbiters have to be per-resource rather than per-legacy 
space.  AIUI, the arbiters are there to deal with multiple devices on the 
same bus that respond to the same cycles, like two VGA cards in one legacy 
I/O domain.  You either need to relocate one of them so that they don't have 
overlapping I/O ranges or disable one while you talk to the other.

IOW, legacy space is the whole I/O window of a given bus or PCI domain 
(granularity defined by the platform--some will only have one I/O space), and 
the arbiter's job is to arbitrate access to subsets of each window.  I think 
the the VGA stuff here complements the legacy interface rather than 
conflicting with it.

Jesse



More information about the xorg mailing list