1/* 2 * Copyright 2009, Colin G��nther, coling@gmx.de. 3 * Copyright 2007, Hugo Santos. All Rights Reserved. 4 * Distributed under the terms of the MIT License. 5 */ 6#ifndef _FBSD_COMPAT_DEV_PCI_PCIVAR_H_ 7#define _FBSD_COMPAT_DEV_PCI_PCIVAR_H_ 8 9 10#include <sys/bus.h> 11 12 13#define PCI_RF_DENSE 0x10000 14 // ignored on x86 15 16#define PCI_POWERSTATE_D0 0 17#define PCI_POWERSTATE_D1 1 18#define PCI_POWERSTATE_D2 2 19#define PCI_POWERSTATE_D3 3 20#define PCI_POWERSTATE_UNKNOWN -1 21 22 23int pci_enable_busmaster(device_t dev); 24int pci_enable_io(device_t dev, int reg); 25 26uint32_t pci_get_devid(device_t dev); 27void pci_set_intpin(device_t dev, uint8_t pin); 28uint8_t pci_get_intpin(device_t dev); 29 30uint16_t pci_get_vendor(device_t dev); 31uint16_t pci_get_device(device_t dev); 32uint16_t pci_get_subvendor(device_t dev); 33uint16_t pci_get_subdevice(device_t dev); 34uint8_t pci_get_revid(device_t dev); 35uint8_t pci_get_cachelnsz(device_t dev); 36uint8_t *pci_get_ether(device_t dev); 37 38uint32_t pci_read_config(device_t dev, int reg, int width); 39void pci_write_config(device_t dev, int reg, uint32_t val, int width); 40 41uint32_t pci_get_domain(device_t dev); 42uint8_t pci_get_bus(device_t dev); 43uint8_t pci_get_slot(device_t dev); 44uint8_t pci_get_function(device_t dev); 45device_t pci_find_dbsf(uint32_t domain, uint8_t bus, uint8_t slot, 46 uint8_t func); 47 48int pci_find_cap(device_t dev, int capability, int *capreg); 49int pci_find_extcap(device_t dev, int capability, int *capreg); 50 51int pci_msi_count(device_t dev); 52int pci_alloc_msi(device_t dev, int *count); 53int pci_release_msi(device_t dev); 54 55int pci_msix_table_bar(device_t dev); 56int pci_msix_count(device_t dev); 57int pci_alloc_msix(device_t dev, int *count); 58 59int pci_get_max_read_req(device_t dev); 60int pci_set_max_read_req(device_t dev, int size); 61 62int pci_get_powerstate(device_t dev); 63int pci_set_powerstate(device_t dev, int newPowerState); 64 65static inline int 66pci_get_vpd_ident(device_t dev, const char **identptr) 67{ 68 return -1; 69} 70 71#endif /* _FBSD_COMPAT_DEV_PCI_PCIVAR_H_ */ 72