aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86_64/kernel/pci-gart.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86_64/kernel/pci-gart.c')
-rw-r--r--arch/x86_64/kernel/pci-gart.c20
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
574void 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
574void __init gart_iommu_init(void) 594void __init gart_iommu_init(void)
575{ 595{
576 struct agp_kern_info info; 596 struct agp_kern_info info;