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 13 14 #define PCIBIOS_MIN_IO 0UL 15 #define PCIBIOS_MIN_MEM 0UL 16 17 #define PCI_IRQ_NONE 0xffffffff 18 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 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 */ 31 #define PCI64_REQUIRED_MASK (~(u64)0) 32 #define PCI64_ADDR_BASE 0xfffc000000000000UL 33 34 /* Return the index of the PCI controller for device PDEV. */ 35 36 int pci_domain_nr(struct pci_bus *bus); pci_proc_domain(struct pci_bus * bus)37static 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 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); 51 pci_get_legacy_ide_irq(struct pci_dev * dev,int channel)52static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) 53 { 54 return PCI_IRQ_NONE; 55 } 56 57 #define HAVE_ARCH_PCI_RESOURCE_TO_USER 58 #endif /* __KERNEL__ */ 59 60 #endif /* __SPARC64_PCI_H */ 61