]>
Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | #ifndef ASMARM_PCI_H |
2 | #define ASMARM_PCI_H | |
3 | ||
4 | #ifdef __KERNEL__ | |
1da177e4 LT |
5 | #include <asm-generic/pci-dma-compat.h> |
6 | ||
7 | #include <asm/hardware.h> /* for PCIBIOS_MIN_* */ | |
8 | ||
9 | #define pcibios_scan_all_fns(a, b) 0 | |
10 | ||
11 | static inline void pcibios_set_master(struct pci_dev *dev) | |
12 | { | |
13 | /* No special bus mastering setup handling */ | |
14 | } | |
15 | ||
c9c3e457 | 16 | static inline void pcibios_penalize_isa_irq(int irq, int active) |
1da177e4 LT |
17 | { |
18 | /* We don't do dynamic PCI IRQ allocation */ | |
19 | } | |
20 | ||
21 | /* | |
22 | * The PCI address space does equal the physical memory address space. | |
23 | * The networking and block device layers use this boolean for bounce | |
24 | * buffer decisions. | |
25 | */ | |
26 | #define PCI_DMA_BUS_IS_PHYS (0) | |
27 | ||
28 | /* | |
29 | * We don't support DAC DMA cycles. | |
30 | */ | |
31 | #define pci_dac_dma_supported(pci_dev, mask) (0) | |
32 | ||
33 | /* | |
34 | * Whether pci_unmap_{single,page} is a nop depends upon the | |
35 | * configuration. | |
36 | */ | |
37 | #define DECLARE_PCI_UNMAP_ADDR(ADDR_NAME) dma_addr_t ADDR_NAME; | |
38 | #define DECLARE_PCI_UNMAP_LEN(LEN_NAME) __u32 LEN_NAME; | |
39 | #define pci_unmap_addr(PTR, ADDR_NAME) ((PTR)->ADDR_NAME) | |
40 | #define pci_unmap_addr_set(PTR, ADDR_NAME, VAL) (((PTR)->ADDR_NAME) = (VAL)) | |
41 | #define pci_unmap_len(PTR, LEN_NAME) ((PTR)->LEN_NAME) | |
42 | #define pci_unmap_len_set(PTR, LEN_NAME, VAL) (((PTR)->LEN_NAME) = (VAL)) | |
43 | ||
bb4a61b6 | 44 | #ifdef CONFIG_PCI |
e24c2d96 DM |
45 | static inline void pci_dma_burst_advice(struct pci_dev *pdev, |
46 | enum pci_dma_burst_strategy *strat, | |
47 | unsigned long *strategy_parameter) | |
48 | { | |
49 | *strat = PCI_DMA_BURST_INFINITY; | |
50 | *strategy_parameter = ~0UL; | |
51 | } | |
bb4a61b6 | 52 | #endif |
e24c2d96 | 53 | |
1da177e4 LT |
54 | #define HAVE_PCI_MMAP |
55 | extern int pci_mmap_page_range(struct pci_dev *dev, struct vm_area_struct *vma, | |
56 | enum pci_mmap_state mmap_state, int write_combine); | |
57 | ||
58 | extern void | |
59 | pcibios_resource_to_bus(struct pci_dev *dev, struct pci_bus_region *region, | |
60 | struct resource *res); | |
61 | ||
43c34735 DB |
62 | extern void |
63 | pcibios_bus_to_resource(struct pci_dev *dev, struct resource *res, | |
64 | struct pci_bus_region *region); | |
65 | ||
085ae41f DM |
66 | static inline struct resource * |
67 | pcibios_select_root(struct pci_dev *pdev, struct resource *res) | |
68 | { | |
69 | struct resource *root = NULL; | |
70 | ||
71 | if (res->flags & IORESOURCE_IO) | |
72 | root = &ioport_resource; | |
73 | if (res->flags & IORESOURCE_MEM) | |
74 | root = &iomem_resource; | |
75 | ||
76 | return root; | |
77 | } | |
78 | ||
1da177e4 LT |
79 | static inline void pcibios_add_platform_entries(struct pci_dev *dev) |
80 | { | |
81 | } | |
82 | ||
83 | #endif /* __KERNEL__ */ | |
84 | ||
85 | #endif |