Merge branch 'core-iommu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[pandora-kernel.git] / arch / sparc / include / asm / pci_32.h
1 #ifndef __SPARC_PCI_H
2 #define __SPARC_PCI_H
3
4 #ifdef __KERNEL__
5
6 #include <linux/dma-mapping.h>
7
8 /* Can be used to override the logic in pci_scan_bus for skipping
9  * already-configured bus numbers - to be used for buggy BIOSes
10  * or architectures with incomplete PCI setup by the loader.
11  */
12 #define pcibios_assign_all_busses()     0
13 #define pcibios_scan_all_fns(a, b)      0
14
15 #define PCIBIOS_MIN_IO          0UL
16 #define PCIBIOS_MIN_MEM         0UL
17
18 #define PCI_IRQ_NONE            0xffffffff
19
20 static inline void pcibios_set_master(struct pci_dev *dev)
21 {
22         /* No special bus mastering setup handling */
23 }
24
25 static inline void pcibios_penalize_isa_irq(int irq, int active)
26 {
27         /* We don't do dynamic PCI IRQ allocation */
28 }
29
30 /* Dynamic DMA mapping stuff.
31  */
32 #define PCI_DMA_BUS_IS_PHYS     (0)
33
34 struct pci_dev;
35
36 /* pci_unmap_{single,page} is not a nop, thus... */
37 #define DECLARE_PCI_UNMAP_ADDR(ADDR_NAME)       \
38         dma_addr_t ADDR_NAME;
39 #define DECLARE_PCI_UNMAP_LEN(LEN_NAME)         \
40         __u32 LEN_NAME;
41 #define pci_unmap_addr(PTR, ADDR_NAME)                  \
42         ((PTR)->ADDR_NAME)
43 #define pci_unmap_addr_set(PTR, ADDR_NAME, VAL)         \
44         (((PTR)->ADDR_NAME) = (VAL))
45 #define pci_unmap_len(PTR, LEN_NAME)                    \
46         ((PTR)->LEN_NAME)
47 #define pci_unmap_len_set(PTR, LEN_NAME, VAL)           \
48         (((PTR)->LEN_NAME) = (VAL))
49
50 #ifdef CONFIG_PCI
51 static inline void pci_dma_burst_advice(struct pci_dev *pdev,
52                                         enum pci_dma_burst_strategy *strat,
53                                         unsigned long *strategy_parameter)
54 {
55         *strat = PCI_DMA_BURST_INFINITY;
56         *strategy_parameter = ~0UL;
57 }
58 #endif
59
60 struct device_node;
61 extern struct device_node *pci_device_to_OF_node(struct pci_dev *pdev);
62
63 #endif /* __KERNEL__ */
64
65 /* generic pci stuff */
66 #include <asm-generic/pci.h>
67
68 #endif /* __SPARC_PCI_H */