pci.h (1062B)
1/* SPDX-License-Identifier: GPL-2.0-only */ 2/* 3 * Copyright (C) 2016 SiFive 4 */ 5 6#ifndef _ASM_RISCV_PCI_H 7#define _ASM_RISCV_PCI_H 8 9#include <linux/types.h> 10#include <linux/slab.h> 11#include <linux/dma-mapping.h> 12 13#include <asm/io.h> 14 15#define PCIBIOS_MIN_IO 0 16#define PCIBIOS_MIN_MEM 0 17 18/* RISC-V shim does not initialize PCI bus */ 19#define pcibios_assign_all_busses() 1 20 21#define ARCH_GENERIC_PCI_MMAP_RESOURCE 1 22 23extern int isa_dma_bridge_buggy; 24 25#ifdef CONFIG_PCI 26static inline int pci_get_legacy_ide_irq(struct pci_dev *dev, int channel) 27{ 28 /* no legacy IRQ on risc-v */ 29 return -ENODEV; 30} 31 32static inline int pci_proc_domain(struct pci_bus *bus) 33{ 34 /* always show the domain in /proc */ 35 return 1; 36} 37 38#ifdef CONFIG_NUMA 39 40static inline int pcibus_to_node(struct pci_bus *bus) 41{ 42 return dev_to_node(&bus->dev); 43} 44#ifndef cpumask_of_pcibus 45#define cpumask_of_pcibus(bus) (pcibus_to_node(bus) == -1 ? \ 46 cpu_all_mask : \ 47 cpumask_of_node(pcibus_to_node(bus))) 48#endif 49#endif /* CONFIG_NUMA */ 50 51#endif /* CONFIG_PCI */ 52 53#endif /* _ASM_RISCV_PCI_H */