1. 10 9月, 2009 1 次提交
    • B
      PCI/GPU: implement VGA arbitration on Linux · deb2d2ec
      Benjamin Herrenschmidt 提交于
      Background:
      Graphic devices are accessed through ranges in I/O or memory space. While most
      modern devices allow relocation of such ranges, some "Legacy" VGA devices
      implemented on PCI will typically have the same "hard-decoded" addresses as
      they did on ISA. For more details see "PCI Bus Binding to IEEE Std 1275-1994
      Standard for Boot (Initialization Configuration) Firmware Revision 2.1"
      Section 7, Legacy Devices.
      
      The Resource Access Control (RAC) module inside the X server currently does
      the task of arbitration when more than one legacy device co-exists on the same
      machine. But the problem happens when these devices are trying to be accessed
      by different userspace clients (e.g. two server in parallel). Their address
      assignments conflict. Therefore an arbitration scheme _outside_ of the X
      server is needed to control the sharing of these resources. This document
      introduces the operation of the VGA arbiter implemented for Linux kernel.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NTiago Vignatti <tiago.vignatti@nokia.com>
      Signed-off-by: NDave Airlie <airlied@redhat.com>
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      deb2d2ec