diff options
Diffstat (limited to 'arch/x86_64/kernel/pci-gart.c')
-rw-r--r-- | arch/x86_64/kernel/pci-gart.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/arch/x86_64/kernel/pci-gart.c b/arch/x86_64/kernel/pci-gart.c index e587b65e754f..12acafdca791 100644 --- a/arch/x86_64/kernel/pci-gart.c +++ b/arch/x86_64/kernel/pci-gart.c | |||
@@ -571,6 +571,26 @@ static const struct dma_mapping_ops gart_dma_ops = { | |||
571 | .unmap_sg = gart_unmap_sg, | 571 | .unmap_sg = gart_unmap_sg, |
572 | }; | 572 | }; |
573 | 573 | ||
574 | void gart_iommu_shutdown(void) | ||
575 | { | ||
576 | struct pci_dev *dev; | ||
577 | int i; | ||
578 | |||
579 | if (no_agp && (dma_ops != &gart_dma_ops)) | ||
580 | return; | ||
581 | |||
582 | for (i = 0; i < num_k8_northbridges; i++) { | ||
583 | u32 ctl; | ||
584 | |||
585 | dev = k8_northbridges[i]; | ||
586 | pci_read_config_dword(dev, 0x90, &ctl); | ||
587 | |||
588 | ctl &= ~1; | ||
589 | |||
590 | pci_write_config_dword(dev, 0x90, ctl); | ||
591 | } | ||
592 | } | ||
593 | |||
574 | void __init gart_iommu_init(void) | 594 | void __init gart_iommu_init(void) |
575 | { | 595 | { |
576 | struct agp_kern_info info; | 596 | struct agp_kern_info info; |