hc
2024-12-19 9370bb92b2d16684ee45cf24e879c93c509162da
kernel/arch/sparc/include/asm/pci.h
....@@ -1,9 +1,52 @@
11 /* SPDX-License-Identifier: GPL-2.0 */
22 #ifndef ___ASM_SPARC_PCI_H
33 #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
+}
648 #else
7
-#include <asm/pci_32.h>
49
+#include <asm-generic/pci.h>
850 #endif
9
-#endif
51
+
52
+#endif /* ___ASM_SPARC_PCI_H */