]> 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)
commitd0f9ce1f9b77522a47635ff26306aecc215b099d
treeb69bfa9e71e46c8c7470cbdf49de8530227d6687
parentb265fc4ae76dc4b43e032ef188f003a9e11371f2
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