Status of VGA Arbiter and Legacy VGA I/O?
airlied at redhat.com
Sun Nov 22 00:45:53 PST 2009
On Fri, 2009-11-20 at 13:44 -0800, Mike Travis wrote:
> Adam Jackson wrote:
> > On Fri, 2009-11-20 at 13:23 -0800, Mike Travis wrote:
> >> Hi Adam, Jesse,
> >> We here at SGI are getting ready to deploy the SGI Ultraviolet
> >> system (see refs below) and the question came up about supporting
> >> legacy I/O for multiple VGA cards. The UV architecture requires
> >> some additional setup when changing the "owner" of the legacy
> >> VGA I/O space.
> >> I've been trying to follow the progress of the VGA Arbiter, and
> >> it's use by X, as a means of providing the kernel hook to execute
> >> this setup. Can you (or someone) enlighten me as to whether
> >> a.) X still requires the use of legacy I/O [or are all accesses
> >> being done with MMIO operations]? and b.) is the plan still to use
> >> the VGA Arbiter as currently implemented in linux-2.6.32?
> > It depends on the driver, really. X doesn't try to poke the VGA space
> > on its own anymore (pretty sure I got rid of all that), but if your
> > driver uses the vgahw module or does I/O directly, then that needs
> > wrapping.
> > My understanding is, by default the VGA arbiter support code in X will
> > assume the driver _does_ need VGA arbitration, unless the driver opts
> > out of it, and will wrap device access for you. So whatever extra setup
> > your platform needs should Just Work if you hook it up to the
> > arbitration grant in the kernel.
> > - ajax
> Thanks Adam! That is good news indeed.
> From my understanding, the device driver is also "legacy I/O" free, or
> striving to be.
If you are using a kms supporting driver, its quite easy to remove it
from VGA arbitration, radeon and intel in the kernel do it already,
if you can turn off VGA decodes on the GPU then you can ask the
kernel to remove it from VGA arbitration.
More information about the xorg-devel