diff options
Diffstat (limited to 'Documentation/vgaarbiter.txt')
-rw-r--r-- | Documentation/vgaarbiter.txt | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/Documentation/vgaarbiter.txt b/Documentation/vgaarbiter.txt index 43a9b0694fdd..b7d401e0eae9 100644 --- a/Documentation/vgaarbiter.txt +++ b/Documentation/vgaarbiter.txt | |||
@@ -14,11 +14,10 @@ the legacy VGA arbitration task (besides other bus management tasks) when more | |||
14 | than one legacy device co-exists on the same machine. But the problem happens | 14 | than one legacy device co-exists on the same machine. But the problem happens |
15 | when these devices are trying to be accessed by different userspace clients | 15 | when these devices are trying to be accessed by different userspace clients |
16 | (e.g. two server in parallel). Their address assignments conflict. Moreover, | 16 | (e.g. two server in parallel). Their address assignments conflict. Moreover, |
17 | ideally, being an userspace application, it is not the role of the the X | 17 | ideally, being a userspace application, it is not the role of the X server to |
18 | server to control bus resources. Therefore an arbitration scheme outside of | 18 | control bus resources. Therefore an arbitration scheme outside of the X server |
19 | the X server is needed to control the sharing of these resources. This | 19 | is needed to control the sharing of these resources. This document introduces |
20 | document introduces the operation of the VGA arbiter implemented for Linux | 20 | the operation of the VGA arbiter implemented for the Linux kernel. |
21 | kernel. | ||
22 | 21 | ||
23 | ---------------------------------------------------------------------------- | 22 | ---------------------------------------------------------------------------- |
24 | 23 | ||
@@ -39,7 +38,7 @@ I.1 vgaarb | |||
39 | The vgaarb is a module of the Linux Kernel. When it is initially loaded, it | 38 | The vgaarb is a module of the Linux Kernel. When it is initially loaded, it |
40 | scans all PCI devices and adds the VGA ones inside the arbitration. The | 39 | scans all PCI devices and adds the VGA ones inside the arbitration. The |
41 | arbiter then enables/disables the decoding on different devices of the VGA | 40 | arbiter then enables/disables the decoding on different devices of the VGA |
42 | legacy instructions. Device which do not want/need to use the arbiter may | 41 | legacy instructions. Devices which do not want/need to use the arbiter may |
43 | explicitly tell it by calling vga_set_legacy_decoding(). | 42 | explicitly tell it by calling vga_set_legacy_decoding(). |
44 | 43 | ||
45 | The kernel exports a char device interface (/dev/vga_arbiter) to the clients, | 44 | The kernel exports a char device interface (/dev/vga_arbiter) to the clients, |
@@ -95,8 +94,8 @@ In the case of devices hot-{un,}plugged, there is a hook - pci_notify() - to | |||
95 | notify them being added/removed in the system and automatically added/removed | 94 | notify them being added/removed in the system and automatically added/removed |
96 | in the arbiter. | 95 | in the arbiter. |
97 | 96 | ||
98 | There's also a in-kernel API of the arbiter in the case of DRM, vgacon and | 97 | There is also an in-kernel API of the arbiter in case DRM, vgacon, or other |
99 | others which may use the arbiter. | 98 | drivers want to use it. |
100 | 99 | ||
101 | 100 | ||
102 | I.2 libpciaccess | 101 | I.2 libpciaccess |
@@ -117,9 +116,8 @@ Besides it, in pci_system were added: | |||
117 | struct pci_device *vga_default_dev; | 116 | struct pci_device *vga_default_dev; |
118 | 117 | ||
119 | 118 | ||
120 | The vga_count is usually need to keep informed how many cards are being | 119 | The vga_count is used to track how many cards are being arbitrated, so for |
121 | arbitrated, so for instance if there's only one then it can totally escape the | 120 | instance, if there is only one card, then it can completely escape arbitration. |
122 | scheme. | ||
123 | 121 | ||
124 | 122 | ||
125 | These functions below acquire VGA resources for the given card and mark those | 123 | These functions below acquire VGA resources for the given card and mark those |