1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef _ASM_X86_PCI_64_H
3#define _ASM_X86_PCI_64_H
4
5#ifdef __KERNEL__
6
7#ifdef CONFIG_CALGARY_IOMMU
8static inline void *pci_iommu(struct pci_bus *bus)
9{
10 struct pci_sysdata *sd = bus->sysdata;
11 return sd->iommu;
12}
13
14static inline void set_pci_iommu(struct pci_bus *bus, void *val)
15{
16 struct pci_sysdata *sd = bus->sysdata;
17 sd->iommu = val;
18}
19#endif /* CONFIG_CALGARY_IOMMU */
20
21extern int (*pci_config_read)(int seg, int bus, int dev, int fn,
22 int reg, int len, u32 *value);
23extern int (*pci_config_write)(int seg, int bus, int dev, int fn,
24 int reg, int len, u32 value);
25
26#endif /* __KERNEL__ */
27
28#endif /* _ASM_X86_PCI_64_H */
29