/* SPDX-License-Identifier: GPL-2.0 */ #ifndef _ASM_IA64_PCI_H #define _ASM_IA64_PCI_H #include <linux/mm.h> #include <linux/slab.h> #include <linux/spinlock.h> #include <linux/string.h> #include <linux/types.h> #include <linux/scatterlist.h> #include <asm/io.h> #include <asm/hw_irq.h> struct pci_vector_struct { __u16 segment; /* PCI Segment number */ __u16 bus; /* PCI Bus number */ __u32 pci_id; /* ACPI split 16 bits device, 16 bits function (see section 6.1.1) */ __u8 pin; /* PCI PIN (0 = A, 1 = B, 2 = C, 3 = D) */ __u32 irq; /* IRQ assigned */ }; /* * Can be used to override the logic in pci_scan_bus for skipping already-configured bus * numbers - to be used for buggy BIOSes or architectures with incomplete PCI setup by the * loader. */ #define pcibios_assign_all_busses() 0 #define PCIBIOS_MIN_IO 0x1000 #define PCIBIOS_MIN_MEM 0x10000000 /* * PCI_DMA_BUS_IS_PHYS should be set to 1 if there is _necessarily_ a direct * correspondence between device bus addresses and CPU physical addresses. * Platforms with a hardware I/O MMU _must_ turn this off to suppress the * bounce buffer handling code in the block and network device layers. * Platforms with separate bus address spaces _must_ turn this off and provide * a device DMA mapping implementation that takes care of the necessary * address translation. * * For now, the ia64 platforms which may have separate/multiple bus address * spaces all have I/O MMUs which support the merging of physically * discontiguous buffers, so we can use that as the sole factor to determine * the setting of PCI_DMA_BUS_IS_PHYS. */ extern unsigned long ia64_max_iommu_merge_mask; #define PCI_DMA_BUS_IS_PHYS (ia64_max_iommu_merge_mask == ~0UL) #define HAVE_PCI_MMAP #define ARCH_GENERIC_PCI_MMAP_RESOURCE #define arch_can_pci_mmap_wc() 1 #define HAVE_PCI_LEGACY extern int pci_mmap_legacy_page_range(struct pci_bus *bus, struct vm_area_struct *vma, enum pci_mmap_state mmap_state); #define pci_get_legacy_mem platform_pci_get_legacy_mem #define pci_legacy_read platform_pci_legacy_read #define pci_legacy_write platform_pci_legacy_write struct pci_controller { struct acpi_device *companion; void *iommu; int segment; int node; /* nearest node with memory or NUMA_NO_NODE for global allocation */ void *platform_data; }; #define PCI_CONTROLLER(busdev) ((struct pci_controller *) busdev->sysdata) #define pci_domain_nr(busdev) (PCI_CONTROLLER(busdev)->segment) extern struct pci_ops pci_root_ops; static inline int pci_proc_domain(struct pci_bus *bus) { return (pci_domain_nr(bus) != 0); } #define HAVE_ARCH_PCI_GET_LEGACY_IDE_IRQ static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) { return channel ? isa_irq_to_vector(15) : isa_irq_to_vector(14); } #ifdef CONFIG_INTEL_IOMMU extern void pci_iommu_alloc(void); #endif #endif /* _ASM_IA64_PCI_H */
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
native | Folder | 0755 |
|
|
sn | Folder | 0755 |
|
|
uv | Folder | 0755 |
|
|
Kbuild | File | 224 B | 0644 |
|
acenv.h | File | 1.27 KB | 0644 |
|
acpi-ext.h | File | 590 B | 0644 |
|
acpi.h | File | 4.1 KB | 0644 |
|
agp.h | File | 857 B | 0644 |
|
asm-offsets.h | File | 35 B | 0644 |
|
asm-prototypes.h | File | 890 B | 0644 |
|
asmmacro.h | File | 3.29 KB | 0644 |
|
atomic.h | File | 9.47 KB | 0644 |
|
barrier.h | File | 2.36 KB | 0644 |
|
bitops.h | File | 10.84 KB | 0644 |
|
bug.h | File | 404 B | 0644 |
|
bugs.h | File | 436 B | 0644 |
|
cache.h | File | 771 B | 0644 |
|
cacheflush.h | File | 1.71 KB | 0644 |
|
checksum.h | File | 2.1 KB | 0644 |
|
clocksource.h | File | 276 B | 0644 |
|
cpu.h | File | 456 B | 0644 |
|
cputime.h | File | 855 B | 0644 |
|
current.h | File | 418 B | 0644 |
|
cyclone.h | File | 442 B | 0644 |
|
delay.h | File | 1.7 KB | 0644 |
|
device.h | File | 323 B | 0644 |
|
div64.h | File | 31 B | 0644 |
|
dma-mapping.h | File | 1.17 KB | 0644 |
|
dma.h | File | 466 B | 0644 |
|
dmi.h | File | 343 B | 0644 |
|
early_ioremap.h | File | 428 B | 0644 |
|
elf.h | File | 9.83 KB | 0644 |
|
emergency-restart.h | File | 149 B | 0644 |
|
esi.h | File | 887 B | 0644 |
|
exception.h | File | 1.13 KB | 0644 |
|
export.h | File | 115 B | 0644 |
|
extable.h | File | 330 B | 0644 |
|
fb.h | File | 569 B | 0644 |
|
fpswa.h | File | 1.88 KB | 0644 |
|
ftrace.h | File | 748 B | 0644 |
|
futex.h | File | 2.56 KB | 0644 |
|
gcc_intrin.h | File | 368 B | 0644 |
|
hardirq.h | File | 564 B | 0644 |
|
hpsim.h | File | 364 B | 0644 |
|
hugetlb.h | File | 1.67 KB | 0644 |
|
hw_irq.h | File | 6.33 KB | 0644 |
|
idle.h | File | 200 B | 0644 |
|
intrinsics.h | File | 306 B | 0644 |
|
io.h | File | 11.77 KB | 0644 |
|
iommu.h | File | 555 B | 0644 |
|
iommu_table.h | File | 175 B | 0644 |
|
iosapic.h | File | 3.16 KB | 0644 |
|
irq.h | File | 1.02 KB | 0644 |
|
irq_regs.h | File | 34 B | 0644 |
|
irq_remapping.h | File | 142 B | 0644 |
|
irqflags.h | File | 2.11 KB | 0644 |
|
kdebug.h | File | 1.64 KB | 0644 |
|
kexec.h | File | 1.57 KB | 0644 |
|
kmap_types.h | File | 260 B | 0644 |
|
kprobes.h | File | 3.82 KB | 0644 |
|
kregs.h | File | 6.73 KB | 0644 |
|
libata-portmap.h | File | 225 B | 0644 |
|
linkage.h | File | 398 B | 0644 |
|
local.h | File | 31 B | 0644 |
|
local64.h | File | 33 B | 0644 |
|
machvec.h | File | 12.1 KB | 0644 |
|
machvec_dig.h | File | 449 B | 0644 |
|
machvec_dig_vtd.h | File | 558 B | 0644 |
|
machvec_hpsim.h | File | 544 B | 0644 |
|
machvec_hpzx1.h | File | 544 B | 0644 |
|
machvec_hpzx1_swiotlb.h | File | 632 B | 0644 |
|
machvec_init.h | File | 1.33 KB | 0644 |
|
machvec_sn2.h | File | 4.71 KB | 0644 |
|
machvec_uv.h | File | 684 B | 0644 |
|
mca.h | File | 5.91 KB | 0644 |
|
mca_asm.h | File | 7.18 KB | 0644 |
|
meminit.h | File | 2.24 KB | 0644 |
|
mman.h | File | 432 B | 0644 |
|
mmu.h | File | 374 B | 0644 |
|
mmu_context.h | File | 5.29 KB | 0644 |
|
mmzone.h | File | 1.1 KB | 0644 |
|
module.h | File | 1.1 KB | 0644 |
|
msidef.h | File | 1.4 KB | 0644 |
|
nodedata.h | File | 1.85 KB | 0644 |
|
numa.h | File | 2.18 KB | 0644 |
|
page.h | File | 6.49 KB | 0644 |
|
pal.h | File | 53.39 KB | 0644 |
|
param.h | File | 439 B | 0644 |
|
parport.h | File | 534 B | 0644 |
|
patch.h | File | 1.19 KB | 0644 |
|
pci.h | File | 2.83 KB | 0644 |
|
percpu.h | File | 1.32 KB | 0644 |
|
perfmon.h | File | 4.33 KB | 0644 |
|
pgalloc.h | File | 2.84 KB | 0644 |
|
pgtable.h | File | 20.92 KB | 0644 |
|
processor.h | File | 17.98 KB | 0644 |
|
ptrace.h | File | 5.2 KB | 0644 |
|
rwsem.h | File | 3.82 KB | 0644 |
|
sal.h | File | 26.51 KB | 0644 |
|
sections.h | File | 1.35 KB | 0644 |
|
segment.h | File | 162 B | 0644 |
|
serial.h | File | 446 B | 0644 |
|
shmparam.h | File | 445 B | 0644 |
|
signal.h | File | 749 B | 0644 |
|
smp.h | File | 3.21 KB | 0644 |
|
sparsemem.h | File | 621 B | 0644 |
|
spinlock.h | File | 6.92 KB | 0644 |
|
spinlock_types.h | File | 475 B | 0644 |
|
string.h | File | 659 B | 0644 |
|
swiotlb.h | File | 344 B | 0644 |
|
switch_to.h | File | 2.89 KB | 0644 |
|
syscall.h | File | 2.06 KB | 0644 |
|
termios.h | File | 1.88 KB | 0644 |
|
thread_info.h | File | 4.66 KB | 0644 |
|
timex.h | File | 1.47 KB | 0644 |
|
tlb.h | File | 8.42 KB | 0644 |
|
tlbflush.h | File | 2.33 KB | 0644 |
|
topology.h | File | 1.58 KB | 0644 |
|
types.h | File | 828 B | 0644 |
|
uaccess.h | File | 9.86 KB | 0644 |
|
unaligned.h | File | 337 B | 0644 |
|
uncached.h | File | 463 B | 0644 |
|
unistd.h | File | 1.45 KB | 0644 |
|
unwind.h | File | 5.74 KB | 0644 |
|
user.h | File | 2.25 KB | 0644 |
|
ustack.h | File | 403 B | 0644 |
|
vga.h | File | 657 B | 0644 |
|
xor.h | File | 1.12 KB | 0644 |
|