agp: Support 64-bit APBASE
authorBjorn Helgaas <bhelgaas@google.com>
Sat, 4 Jan 2014 01:26:58 +0000 (18:26 -0700)
committerBjorn Helgaas <bhelgaas@google.com>
Tue, 7 Jan 2014 00:49:22 +0000 (17:49 -0700)
commite501b3d87f003dfad8fcbd0f55ae17ea52495a56
tree1307d77ead535d134b6f62df53c923cf1247baa6
parent06cf56e497c8c1469b0931caa7d5b1d827655fe2
agp: Support 64-bit APBASE

Per the AGP 3.0 spec, APBASE is a standard PCI BAR and may be either 32
bits or 64 bits wide.  Many drivers read APBASE directly, but they only
handled 32-bit BARs.

The PCI core reads APBASE at enumeration-time.  Use pci_bus_address()
instead of reading it again in the driver.  This works correctly for both
32-bit and 64-bit BARs.

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/char/agp/agp.h
drivers/char/agp/ali-agp.c
drivers/char/agp/amd-k7-agp.c
drivers/char/agp/amd64-agp.c
drivers/char/agp/ati-agp.c
drivers/char/agp/efficeon-agp.c
drivers/char/agp/generic.c
drivers/char/agp/intel-agp.c
drivers/char/agp/nvidia-agp.c
drivers/char/agp/sis-agp.c
drivers/char/agp/via-agp.c