Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:
x86/PCI: build failure at x86/kernel/pci-dma.c with !CONFIG_PCI

+16 -23
-1
arch/ia64/include/asm/iommu.h
··· 11 11 extern int iommu_detected; 12 12 extern void iommu_dma_init(void); 13 13 extern void machvec_init(const char *name); 14 - extern int forbid_dac; 15 14 16 15 #endif
-7
arch/ia64/kernel/pci-dma.c
··· 89 89 { 90 90 struct dma_mapping_ops *ops = get_dma_ops(dev); 91 91 92 - #ifdef CONFIG_PCI 93 - if (mask > 0xffffffff && forbid_dac > 0) { 94 - dev_info(dev, "Disallowing DAC for device\n"); 95 - return 0; 96 - } 97 - #endif 98 - 99 92 if (ops->dma_supported_op) 100 93 return ops->dma_supported_op(dev, mask); 101 94
-1
arch/x86/include/asm/iommu.h
··· 7 7 extern int force_iommu, no_iommu; 8 8 extern int iommu_detected; 9 9 extern int dmar_disabled; 10 - extern int forbid_dac; 11 10 12 11 extern unsigned long iommu_nr_pages(unsigned long addr, unsigned long len); 13 12
+16
arch/x86/kernel/pci-dma.c
··· 9 9 #include <asm/calgary.h> 10 10 #include <asm/amd_iommu.h> 11 11 12 + static int forbid_dac __read_mostly; 13 + 12 14 struct dma_mapping_ops *dma_ops; 13 15 EXPORT_SYMBOL(dma_ops); 14 16 ··· 293 291 } 294 292 /* Must execute after PCI subsystem */ 295 293 fs_initcall(pci_iommu_init); 294 + 295 + #ifdef CONFIG_PCI 296 + /* Many VIA bridges seem to corrupt data for DAC. Disable it here */ 297 + 298 + static __devinit void via_no_dac(struct pci_dev *dev) 299 + { 300 + if ((dev->class >> 8) == PCI_CLASS_BRIDGE_PCI && forbid_dac == 0) { 301 + printk(KERN_INFO "PCI: VIA PCI bridge detected." 302 + "Disabling DAC.\n"); 303 + forbid_dac = 1; 304 + } 305 + } 306 + DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_ANY_ID, via_no_dac); 307 + #endif
-14
drivers/pci/quirks.c
··· 43 43 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_MELLANOX,PCI_DEVICE_ID_MELLANOX_TAVOR,quirk_mellanox_tavor); 44 44 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_MELLANOX,PCI_DEVICE_ID_MELLANOX_TAVOR_BRIDGE,quirk_mellanox_tavor); 45 45 46 - /* Many VIA bridges seem to corrupt data for DAC. Disable it here */ 47 - int forbid_dac __read_mostly; 48 - EXPORT_SYMBOL(forbid_dac); 49 - 50 - static __devinit void via_no_dac(struct pci_dev *dev) 51 - { 52 - if ((dev->class >> 8) == PCI_CLASS_BRIDGE_PCI && forbid_dac == 0) { 53 - dev_info(&dev->dev, 54 - "VIA PCI bridge detected. Disabling DAC.\n"); 55 - forbid_dac = 1; 56 - } 57 - } 58 - DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_VIA, PCI_ANY_ID, via_no_dac); 59 - 60 46 /* Deal with broken BIOS'es that neglect to enable passive release, 61 47 which can cause problems in combination with the 82441FX/PPro MTRRs */ 62 48 static void quirk_passive_release(struct pci_dev *dev)