diff options
author | Yinghai Lu <yinghai@kernel.org> | 2009-12-13 21:52:15 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-12-14 02:57:40 -0500 |
commit | f3eee54276dfd1117fd94259f2b4a38388264724 (patch) | |
tree | b51cb4d1dc14be52d6b91f59a6e27800e0c8a9cb /arch/x86/kernel/pci-gart_64.c | |
parent | f4780ca005404166cc40af77ef0e86132ab98a81 (diff) |
x86: Gart: fix breakage due to IOMMU initialization cleanup
This fixes the following breakage of the commit
75f1cdf1dda92cae037ec848ae63690d91913eac:
- GART systems that don't AGP with broken BIOS and more than 4GB
memory are forced to use swiotlb. They can allocate aperture by
hand and use GART.
- GART systems without GAP must disable GART on shutdown.
- swiotlb usage is forced by the boot option,
gart_iommu_hole_init() is not called, so we disable GART
early_gart_iommu_check().
Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
LKML-Reference: <1260759135-6450-3-git-send-email-fujita.tomonori@lab.ntt.co.jp>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/pci-gart_64.c')
-rw-r--r-- | arch/x86/kernel/pci-gart_64.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/x86/kernel/pci-gart_64.c b/arch/x86/kernel/pci-gart_64.c index e6a0d402f171..56c0e730d3fe 100644 --- a/arch/x86/kernel/pci-gart_64.c +++ b/arch/x86/kernel/pci-gart_64.c | |||
@@ -710,7 +710,8 @@ static void gart_iommu_shutdown(void) | |||
710 | struct pci_dev *dev; | 710 | struct pci_dev *dev; |
711 | int i; | 711 | int i; |
712 | 712 | ||
713 | if (no_agp) | 713 | /* don't shutdown it if there is AGP installed */ |
714 | if (!no_agp) | ||
714 | return; | 715 | return; |
715 | 716 | ||
716 | for (i = 0; i < num_k8_northbridges; i++) { | 717 | for (i = 0; i < num_k8_northbridges; i++) { |