Skip to content

Commit

Permalink
x86: move initialization functions to pci-dma.c
Browse files Browse the repository at this point in the history
initcalls that triggers the various possibiities for
dma subsys are moved to pci-dma.c.

Signed-off-by: Glauber Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
  • Loading branch information
Glauber Costa authored and Ingo Molnar committed Apr 19, 2008
1 parent f9c258d commit cb5867a
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 23 deletions.
25 changes: 25 additions & 0 deletions arch/x86/kernel/pci-dma.c
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
#include <linux/dma-mapping.h>
#include <linux/dmar.h>

#include <asm/gart.h>
#include <asm/calgary.h>

const struct dma_mapping_ops *dma_ops;
EXPORT_SYMBOL(dma_ops);
Expand All @@ -22,4 +26,25 @@ int dma_set_mask(struct device *dev, u64 mask)
}
EXPORT_SYMBOL(dma_set_mask);

static int __init pci_iommu_init(void)
{
#ifdef CONFIG_CALGARY_IOMMU
calgary_iommu_init();
#endif

intel_iommu_init();

#ifdef CONFIG_GART_IOMMU
gart_iommu_init();
#endif

no_iommu_init();
return 0;
}

void pci_iommu_shutdown(void)
{
gart_iommu_shutdown();
}
/* Must execute after PCI subsystem */
fs_initcall(pci_iommu_init);
23 changes: 0 additions & 23 deletions arch/x86/kernel/pci-dma_64.c
Original file line number Diff line number Diff line change
Expand Up @@ -339,27 +339,6 @@ void __init pci_iommu_alloc(void)
#endif
}

static int __init pci_iommu_init(void)
{
#ifdef CONFIG_CALGARY_IOMMU
calgary_iommu_init();
#endif

intel_iommu_init();

#ifdef CONFIG_GART_IOMMU
gart_iommu_init();
#endif

no_iommu_init();
return 0;
}

void pci_iommu_shutdown(void)
{
gart_iommu_shutdown();
}

#ifdef CONFIG_PCI
/* Many VIA bridges seem to corrupt data for DAC. Disable it here */

Expand All @@ -372,5 +351,3 @@ static __devinit void via_no_dac(struct pci_dev *dev)
}
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_ANY_ID, via_no_dac);
#endif
/* Must execute after PCI subsystem */
fs_initcall(pci_iommu_init);

0 comments on commit cb5867a

Please sign in to comment.