18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 28c2ecf20Sopenharmony_ci#ifndef _ASM_X86_PCI_DIRECT_H 38c2ecf20Sopenharmony_ci#define _ASM_X86_PCI_DIRECT_H 48c2ecf20Sopenharmony_ci 58c2ecf20Sopenharmony_ci#include <linux/types.h> 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_ci/* Direct PCI access. This is used for PCI accesses in early boot before 88c2ecf20Sopenharmony_ci the PCI subsystem works. */ 98c2ecf20Sopenharmony_ci 108c2ecf20Sopenharmony_ciextern u32 read_pci_config(u8 bus, u8 slot, u8 func, u8 offset); 118c2ecf20Sopenharmony_ciextern u8 read_pci_config_byte(u8 bus, u8 slot, u8 func, u8 offset); 128c2ecf20Sopenharmony_ciextern u16 read_pci_config_16(u8 bus, u8 slot, u8 func, u8 offset); 138c2ecf20Sopenharmony_ciextern void write_pci_config(u8 bus, u8 slot, u8 func, u8 offset, u32 val); 148c2ecf20Sopenharmony_ciextern void write_pci_config_byte(u8 bus, u8 slot, u8 func, u8 offset, u8 val); 158c2ecf20Sopenharmony_ciextern void write_pci_config_16(u8 bus, u8 slot, u8 func, u8 offset, u16 val); 168c2ecf20Sopenharmony_ci 178c2ecf20Sopenharmony_ciextern int early_pci_allowed(void); 188c2ecf20Sopenharmony_ci#endif /* _ASM_X86_PCI_DIRECT_H */ 19