.. | .. |
---|
1 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
---|
2 | 2 | #ifndef ___ASM_SPARC_PCI_H |
---|
3 | 3 | #define ___ASM_SPARC_PCI_H |
---|
4 | | -#if defined(__sparc__) && defined(__arch64__) |
---|
5 | | -#include <asm/pci_64.h> |
---|
| 4 | + |
---|
| 5 | + |
---|
| 6 | +/* Can be used to override the logic in pci_scan_bus for skipping |
---|
| 7 | + * already-configured bus numbers - to be used for buggy BIOSes |
---|
| 8 | + * or architectures with incomplete PCI setup by the loader. |
---|
| 9 | + */ |
---|
| 10 | +#define pcibios_assign_all_busses() 0 |
---|
| 11 | + |
---|
| 12 | +#define PCIBIOS_MIN_IO 0UL |
---|
| 13 | +#define PCIBIOS_MIN_MEM 0UL |
---|
| 14 | + |
---|
| 15 | +#define PCI_IRQ_NONE 0xffffffff |
---|
| 16 | + |
---|
| 17 | + |
---|
| 18 | +#ifdef CONFIG_SPARC64 |
---|
| 19 | + |
---|
| 20 | +/* PCI IOMMU mapping bypass support. */ |
---|
| 21 | + |
---|
| 22 | +/* PCI 64-bit addressing works for all slots on all controller |
---|
| 23 | + * types on sparc64. However, it requires that the device |
---|
| 24 | + * can drive enough of the 64 bits. |
---|
| 25 | + */ |
---|
| 26 | +#define PCI64_REQUIRED_MASK (~(u64)0) |
---|
| 27 | +#define PCI64_ADDR_BASE 0xfffc000000000000UL |
---|
| 28 | + |
---|
| 29 | +/* Return the index of the PCI controller for device PDEV. */ |
---|
| 30 | +int pci_domain_nr(struct pci_bus *bus); |
---|
| 31 | +static inline int pci_proc_domain(struct pci_bus *bus) |
---|
| 32 | +{ |
---|
| 33 | + return 1; |
---|
| 34 | +} |
---|
| 35 | + |
---|
| 36 | +/* Platform support for /proc/bus/pci/X/Y mmap()s. */ |
---|
| 37 | +#define HAVE_PCI_MMAP |
---|
| 38 | +#define arch_can_pci_mmap_io() 1 |
---|
| 39 | +#define HAVE_ARCH_PCI_GET_UNMAPPED_AREA |
---|
| 40 | +#define get_pci_unmapped_area get_fb_unmapped_area |
---|
| 41 | +#endif /* CONFIG_SPARC64 */ |
---|
| 42 | + |
---|
| 43 | +#if defined(CONFIG_SPARC64) || defined(CONFIG_LEON_PCI) |
---|
| 44 | +static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) |
---|
| 45 | +{ |
---|
| 46 | + return PCI_IRQ_NONE; |
---|
| 47 | +} |
---|
6 | 48 | #else |
---|
7 | | -#include <asm/pci_32.h> |
---|
| 49 | +#include <asm-generic/pci.h> |
---|
8 | 50 | #endif |
---|
9 | | -#endif |
---|
| 51 | + |
---|
| 52 | +#endif /* ___ASM_SPARC_PCI_H */ |
---|