blob: b1e7a45d868a52bfd0c729897879ab49b5ea9bac [file] [log] [blame]
H. Peter Anvin1965aae2008-10-22 22:26:29 -07001#ifndef _ASM_X86_PCI_DIRECT_H
2#define _ASM_X86_PCI_DIRECT_H
Linus Torvalds1da177e2005-04-16 15:20:36 -07003
4#include <linux/types.h>
Linus Torvalds1da177e2005-04-16 15:20:36 -07005
6/* Direct PCI access. This is used for PCI accesses in early boot before
Joe Perches565c6402008-03-23 01:03:03 -07007 the PCI subsystem works. */
Linus Torvalds1da177e2005-04-16 15:20:36 -07008
Andi Kleen8f607742006-09-26 10:52:41 +02009extern u32 read_pci_config(u8 bus, u8 slot, u8 func, u8 offset);
10extern u8 read_pci_config_byte(u8 bus, u8 slot, u8 func, u8 offset);
11extern u16 read_pci_config_16(u8 bus, u8 slot, u8 func, u8 offset);
12extern void write_pci_config(u8 bus, u8 slot, u8 func, u8 offset, u32 val);
Siddha, Suresh B274e1bb2006-12-07 02:14:10 +010013extern void write_pci_config_byte(u8 bus, u8 slot, u8 func, u8 offset, u8 val);
Yinghai Lue7891c72008-05-22 14:35:21 -070014extern void write_pci_config_16(u8 bus, u8 slot, u8 func, u8 offset, u16 val);
Linus Torvalds1da177e2005-04-16 15:20:36 -070015
Andi Kleen0637a702006-09-26 10:52:41 +020016extern int early_pci_allowed(void);
17
Yinghai Lue3f2bae2008-05-22 14:35:11 -070018extern unsigned int pci_early_dump_regs;
19extern void early_dump_pci_device(u8 bus, u8 slot, u8 func);
20extern void early_dump_pci_devices(void);
H. Peter Anvin1965aae2008-10-22 22:26:29 -070021#endif /* _ASM_X86_PCI_DIRECT_H */