]> git.baikalelectronics.ru Git - kernel.git/commit
Revert "[PATCH] Insert GART region into resource map"
authorBjorn Helgaas <bhelgaas@google.com>
Tue, 18 Mar 2014 20:26:12 +0000 (14:26 -0600)
committerBjorn Helgaas <bhelgaas@google.com>
Tue, 18 Mar 2014 20:26:12 +0000 (14:26 -0600)
commitd4f6addd4af19d0e6669e7ce67c0bd3a9e25cf05
tree55472345ce233593ba40dce3bc06b3b071013549
parentc353d8d689e312cc75babb0d5afb8abf9e858fa8
Revert "[PATCH] Insert GART region into resource map"

This reverts commit c998078c47e0, which makes the GART visible in
/proc/iomem.  This fixes a regression: 126cc2081285 ("agp: Support 64-bit
APBASE") exposed an existing problem with a conflict between the GART
region and a PCI BAR region.

The GART addresses are bus addresses, not CPU addresses, and therefore
should not be inserted in iomem_resource.

On many machines, the GART region is addressable by the CPU as well as by
an AGP master, but CPU addressability is not required by the spec.  On some
of these machines, the GART is mapped by a PCI BAR, and in that case, the
PCI core automatically inserts it into iomem_resource, just as it does for
all BARs.

Inserting it here means we'll have a conflict if the PCI core later tries
to claim the GART region, so let's drop the insertion here.

The conflict indirectly causes X failures, as reported by Jouni in the
bugzilla below.  We detected the conflict even before 126cc2081285, but
after it the AGP code (fix_northbridge()) uses the PCI resource (which is
zeroed because of the conflict) instead of reading the BAR again.

Conflicts:
arch/x86_64/kernel/aperture.c

Fixes: 126cc2081285 agp: Support 64-bit APBASE
Link: https://bugzilla.kernel.org/show_bug.cgi?id=72201
Reported-and-tested-by: Jouni Mettälä <jtmettala@gmail.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
arch/x86/kernel/aperture_64.c