[Linux-fbdev-devel] Re: Who is stomping PCI config space?

Benjamin Herrenschmidt benh at kernel.crashing.org
Fri Mar 4 14:45:04 PST 2005


On Fri, 2005-03-04 at 12:58 -0500, Jon Smirl wrote:
> In the past Jesse Barnes has suggested a completely different approach
> to VGA sharing. Instead of each VT trying to control which VGA device
> is enabled we keep them all turned off. Then on each access we turn
> VGA support on just long enough for the access and then turn it back
> off.

That's what I had in mind too.

> To make this work we have to have a kernel based 'token' for who has
> the VGA at the moment. This scheme lets multiuser systems work. For
> big IA64 machines which can support multiple simultaneous VGAs we just
> have multiple tokens.

That means that the arbitrer must need to know how to enable/disable VGA
decoding on a per-card basis (when it's possible at all), or active
collaboration with the kernel driver. Also, you can't prevent the
interrupts from happening unless you also disable them on your card.

> We would just ban VGA access from interrupt context, if you really
> needed VGA access you would use a workqueue which can be scheduled
> from the interrupt. None of my driver work needs VGA access from
> interrupt context, is this true for all drivers? I need access to the
> video hardware, but not access to the VGA support.

It's not enough.

There is a variety of cases where the only way to turn off VGA access is
to turn off IO & MEM decoding completely on the card...

Ben.





More information about the xorg mailing list