aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/include/asm/pci.h
diff options
context:
space:
mode:
authorGlenn Elliott <gelliott@cs.unc.edu>2012-03-04 19:47:13 -0500
committerGlenn Elliott <gelliott@cs.unc.edu>2012-03-04 19:47:13 -0500
commitc71c03bda1e86c9d5198c5d83f712e695c4f2a1e (patch)
treeecb166cb3e2b7e2adb3b5e292245fefd23381ac8 /arch/x86/include/asm/pci.h
parentea53c912f8a86a8567697115b6a0d8152beee5c8 (diff)
parent6a00f206debf8a5c8899055726ad127dbeeed098 (diff)
Merge branch 'mpi-master' into wip-k-fmlpwip-k-fmlp
Conflicts: litmus/sched_cedf.c
Diffstat (limited to 'arch/x86/include/asm/pci.h')
-rw-r--r--arch/x86/include/asm/pci.h36
1 files changed, 32 insertions, 4 deletions
diff --git a/arch/x86/include/asm/pci.h b/arch/x86/include/asm/pci.h
index d395540ff894..d498943b906c 100644
--- a/arch/x86/include/asm/pci.h
+++ b/arch/x86/include/asm/pci.h
@@ -7,6 +7,7 @@
7#include <linux/string.h> 7#include <linux/string.h>
8#include <asm/scatterlist.h> 8#include <asm/scatterlist.h>
9#include <asm/io.h> 9#include <asm/io.h>
10#include <asm/x86_init.h>
10 11
11#ifdef __KERNEL__ 12#ifdef __KERNEL__
12 13
@@ -64,6 +65,7 @@ extern unsigned long pci_mem_start;
64 65
65#define PCIBIOS_MIN_CARDBUS_IO 0x4000 66#define PCIBIOS_MIN_CARDBUS_IO 0x4000
66 67
68extern int pcibios_enabled;
67void pcibios_config_init(void); 69void pcibios_config_init(void);
68struct pci_bus *pcibios_scan_root(int bus); 70struct pci_bus *pcibios_scan_root(int bus);
69 71
@@ -94,8 +96,36 @@ static inline void early_quirks(void) { }
94 96
95extern void pci_iommu_alloc(void); 97extern void pci_iommu_alloc(void);
96 98
97/* MSI arch hook */ 99#ifdef CONFIG_PCI_MSI
98#define arch_setup_msi_irqs arch_setup_msi_irqs 100/* MSI arch specific hooks */
101static inline int x86_setup_msi_irqs(struct pci_dev *dev, int nvec, int type)
102{
103 return x86_msi.setup_msi_irqs(dev, nvec, type);
104}
105
106static inline void x86_teardown_msi_irqs(struct pci_dev *dev)
107{
108 x86_msi.teardown_msi_irqs(dev);
109}
110
111static inline void x86_teardown_msi_irq(unsigned int irq)
112{
113 x86_msi.teardown_msi_irq(irq);
114}
115#define arch_setup_msi_irqs x86_setup_msi_irqs
116#define arch_teardown_msi_irqs x86_teardown_msi_irqs
117#define arch_teardown_msi_irq x86_teardown_msi_irq
118/* implemented in arch/x86/kernel/apic/io_apic. */
119int native_setup_msi_irqs(struct pci_dev *dev, int nvec, int type);
120void native_teardown_msi_irq(unsigned int irq);
121/* default to the implementation in drivers/lib/msi.c */
122#define HAVE_DEFAULT_MSI_TEARDOWN_IRQS
123void default_teardown_msi_irqs(struct pci_dev *dev);
124#else
125#define native_setup_msi_irqs NULL
126#define native_teardown_msi_irq NULL
127#define default_teardown_msi_irqs NULL
128#endif
99 129
100#define PCI_DMA_BUS_IS_PHYS (dma_ops->is_phys) 130#define PCI_DMA_BUS_IS_PHYS (dma_ops->is_phys)
101 131
@@ -105,8 +135,6 @@ extern void pci_iommu_alloc(void);
105#include "pci_64.h" 135#include "pci_64.h"
106#endif 136#endif
107 137
108void dma32_reserve_bootmem(void);
109
110/* implement the pci_ DMA API in terms of the generic device dma_ one */ 138/* implement the pci_ DMA API in terms of the generic device dma_ one */
111#include <asm-generic/pci-dma-compat.h> 139#include <asm-generic/pci-dma-compat.h>
112 140