Re: [PATCH] VGA arbitration: draft of kernel side

Jesse Barnes
2005-03-09T16:58:51Z

On Tuesday, March 8, 2005 9:58 pm, Jon Smirl wrote:
> On Wed, 09 Mar 2005 16:37:13 +1100, Benjamin Herrenschmidt
>
> <benh@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