VGA Arbiter

Paulo Zanoni przanoni at gmail.com
Mon Oct 29 11:20:50 PDT 2007


Answers to a few paragraphs:

> Are there also internal kernel interfaces for things like vgacon or
> driver save/restore routines to use?
No, because it is currently a module. But when it was just a patch,
there was an interface. Look at vgaarb.h in the code of the module: it
was the interface for the other parts of the kernel.

> An important function I wanted to have is when a video driver such as
> radeon knows it will only use MMIO and no legacy stuff, it can take
> itself out of the arbitration (take the card out of the arbitration) at
> least until I needs to use legacy stuff again.
You can use the "decodes" to say that you don't decode legacy stuff
and remove yourself out of the arbitration.

> Ok, I had a look at my old code and I'm wondering how it works as a
> module since you need to have the PCI code call
>
> vga_arbiter_add_pci_device()
>
> and
>
> vga_arbiter_del_pci_device()

When someone calls the function "target" we check if the device is
already on the list. If not, then we call vga_arbiter_add_pci_device.
I know this is not the correct way, but it allows us to use it as a
module =). When we go back to a kernel patch we'll be able to do it
correctly. (Tiago says he knows how to do it).

We're using a module because testing kernel modules is way much easier
than testing kernel patches. We're just trying to make a proof of
concept.

And about the repos: it would be good to have a public repo because
everyone would be able to help =)

After we have some good proof of concept we'll send an e-mail to the
lkml to see  what they think about it.

Paulo.



More information about the xorg mailing list