]> git.baikalelectronics.ru Git - kernel.git/commit
vgaarb: use bridges to control VGA routing where possible.
authorDave Airlie <airlied@redhat.com>
Tue, 1 Jun 2010 05:32:24 +0000 (15:32 +1000)
committerDave Airlie <airlied@redhat.com>
Wed, 4 May 2011 03:38:46 +0000 (13:38 +1000)
commitd7103b39fdc94803cc44755421335ccf57db243f
treeb69bfa9e71e46c8c7470cbdf49de8530227d6687
parentcbd66094c5c2a2cd4f0c3a0f10088e4e7b448866
vgaarb: use bridges to control VGA routing where possible.

So in a lot of modern systems, a GPU will always be below a parent bridge that won't share with any other GPUs. This means VGA arbitration on those GPUs can be controlled by using the bridge routing instead of io/mem decodes.

The problem is locating which GPUs share which upstream bridges. This patch attempts to identify all the GPUs which can be controlled via bridges, and ones that can't. This patch endeavours to work out the bridge sharing semantics.

When disabling GPUs via a bridge, it doesn't do irq callbacks or touch the io/mem decodes for the gpu.

Signed-off-by: Dave Airlie <airlied@redhat.com>
drivers/gpu/vga/vgaarb.c
drivers/pci/pci.c
include/linux/pci.h