X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Kernel%2Finclude%2Fdrv_pci.h;h=9697df0a122789ef39ff698e1be5c87c2077fac5;hb=dd2491a82880ed9b01b5d66b1814d271921797a4;hp=d3eb8a27f8865ab749e632cf304d9449a3609331;hpb=775bf8013abe9fe4ef3d4883ea2e43bba2a84da1;p=tpg%2Facess2.git diff --git a/Kernel/include/drv_pci.h b/Kernel/include/drv_pci.h index d3eb8a27..9697df0a 100644 --- a/Kernel/include/drv_pci.h +++ b/Kernel/include/drv_pci.h @@ -33,21 +33,26 @@ enum ePCIOverClasses PCI_OC_SCSI = 0x0100 }; +typedef int tPCIDev; + /** * \brief Count PCI Devices * * Counts the number of devices with specified Vendor and Device IDs */ -extern int PCI_CountDevices(Uint16 vendor, Uint16 device, Uint16 fcn); - -extern int PCI_GetDevice(Uint16 vendor, Uint16 device, Uint16 fcn, int idx); -extern int PCI_GetDeviceByClass(Uint16 class, Uint16 mask, int prev); -extern Uint8 PCI_GetIRQ(int id); -extern Uint32 PCI_GetBAR0(int id); -extern Uint32 PCI_GetBAR1(int id); -extern Uint32 PCI_GetBAR3(int id); -extern Uint32 PCI_GetBAR4(int id); -extern Uint32 PCI_GetBAR5(int id); -extern Uint16 PCI_AssignPort(int id, int bar, int count); +extern int PCI_CountDevices(Uint16 VendorID, Uint16 DeviceID); +extern tPCIDev PCI_GetDevice(Uint16 VendorID, Uint16 DeviceID, int index); +extern tPCIDev PCI_GetDeviceByClass(Uint16 ClassCode, Uint16 Mask, tPCIDev prev); + +extern int PCI_GetDeviceInfo(tPCIDev id, Uint16 *Vendor, Uint16 *Device, Uint16 *Class); +extern int PCI_GetDeviceVersion(tPCIDev id, Uint8 *Revision, Uint8 *ProgIF); +extern int PCI_GetDeviceSubsys(tPCIDev id, Uint16 *SubsystemVendor, Uint16 *SubsystemID); + +extern Uint32 PCI_ConfigRead(tPCIDev id, int Offset, int Size); +extern void PCI_ConfigWrite(tPCIDev id, int Offset, int Size, Uint32 Value); + +extern Uint8 PCI_GetIRQ(tPCIDev id); +extern Uint32 PCI_GetBAR(tPCIDev id, int BAR); +//extern Uint16 PCI_AssignPort(tPCIDev id, int bar, int count); #endif