Commit | Line | Data |
---|---|---|
f5e706ad SR |
1 | #ifndef __SPARC64_PCI_H |
2 | #define __SPARC64_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 | |
f5e706ad SR |
13 | |
14 | #define PCIBIOS_MIN_IO 0UL | |
15 | #define PCIBIOS_MIN_MEM 0UL | |
16 | ||
17 | #define PCI_IRQ_NONE 0xffffffff | |
18 | ||
f5e706ad SR |
19 | /* The PCI address space does not equal the physical memory |
20 | * address space. The networking and block device layers use | |
21 | * this boolean for bounce buffer decisions. | |
22 | */ | |
23 | #define PCI_DMA_BUS_IS_PHYS (0) | |
24 | ||
f5e706ad SR |
25 | /* PCI IOMMU mapping bypass support. */ |
26 | ||
27 | /* PCI 64-bit addressing works for all slots on all controller | |
28 | * types on sparc64. However, it requires that the device | |
29 | * can drive enough of the 64 bits. | |
30 | */ | |
4ad9b208 | 31 | #define PCI64_REQUIRED_MASK (~(u64)0) |
f5e706ad SR |
32 | #define PCI64_ADDR_BASE 0xfffc000000000000UL |
33 | ||
f5e706ad SR |
34 | /* Return the index of the PCI controller for device PDEV. */ |
35 | ||
f05a6865 | 36 | int pci_domain_nr(struct pci_bus *bus); |
f5e706ad SR |
37 | static inline int pci_proc_domain(struct pci_bus *bus) |
38 | { | |
39 | return 1; | |
40 | } | |
41 | ||
42 | /* Platform support for /proc/bus/pci/X/Y mmap()s. */ | |
43 | ||
44 | #define HAVE_PCI_MMAP | |
45 | #define HAVE_ARCH_PCI_GET_UNMAPPED_AREA | |
46 | #define get_pci_unmapped_area get_fb_unmapped_area | |
47 | ||
f05a6865 SR |
48 | int pci_mmap_page_range(struct pci_dev *dev, struct vm_area_struct *vma, |
49 | enum pci_mmap_state mmap_state, | |
50 | int write_combine); | |
f5e706ad | 51 | |
f5e706ad SR |
52 | static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) |
53 | { | |
54 | return PCI_IRQ_NONE; | |
55 | } | |
56 | ||
f5e706ad | 57 | #define HAVE_ARCH_PCI_RESOURCE_TO_USER |
f05a6865 SR |
58 | void pci_resource_to_user(const struct pci_dev *dev, int bar, |
59 | const struct resource *rsrc, | |
60 | resource_size_t *start, resource_size_t *end); | |
f5e706ad SR |
61 | #endif /* __KERNEL__ */ |
62 | ||
63 | #endif /* __SPARC64_PCI_H */ |