blob: da42be07b6907bbfcf6eecabeaa65a2546cb40a1 [file] [log] [blame]
Vegard Nossum77ef50a2008-06-18 17:08:48 +02001#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);
Vegard Nossum77ef50a2008-06-18 17:08:48 +020021#endif /* ASM_X86__PCI_DIRECT_H */