Changeset View
Changeset View
Standalone View
Standalone View
sys/compat/linuxkpi/common/include/linux/pci.h
| Show First 20 Lines • Show All 1,116 Lines • ▼ Show 20 Lines | |||||
| pci_num_vf(struct pci_dev *dev) | pci_num_vf(struct pci_dev *dev) | ||||
| { | { | ||||
| return (0); | return (0); | ||||
| } | } | ||||
| static inline enum pci_bus_speed | static inline enum pci_bus_speed | ||||
| pcie_get_speed_cap(struct pci_dev *dev) | pcie_get_speed_cap(struct pci_dev *dev) | ||||
| { | { | ||||
| struct pci_dev *pbus; | |||||
| device_t root; | device_t root; | ||||
| uint32_t lnkcap, lnkcap2; | uint32_t lnkcap, lnkcap2; | ||||
| int error, pos; | int error, pos; | ||||
| root = device_get_parent(dev->dev.bsddev); | /* | ||||
| if (root == NULL) | * We should always be called on a PCI device. | ||||
| * The only current consumer I could find was amdgpu which either | |||||
| * calls us directly on a pdev(drmn?) or with the result of | |||||
| * pci_upstream_bridge(). | |||||
| * | |||||
| * Treat "drmn" as special again as it is not a PCI device. | |||||
| */ | |||||
| if (dev->pdrv != NULL && dev->pdrv->isdrm) { | |||||
| pbus = pci_upstream_bridge(dev); | |||||
| if (pbus == NULL) | |||||
| return (PCI_SPEED_UNKNOWN); | return (PCI_SPEED_UNKNOWN); | ||||
| root = device_get_parent(root); | } else | ||||
| if (root == NULL) | pbus = dev; | ||||
| return (PCI_SPEED_UNKNOWN); | |||||
| root = device_get_parent(root); | /* Root is a very misleading name as it is not the Host-PCI bridge. */ | ||||
| if (root == NULL) | root = pbus->dev.bsddev; | ||||
| return (PCI_SPEED_UNKNOWN); | |||||
| if (pci_get_vendor(root) == PCI_VENDOR_ID_VIA || | if (pci_get_vendor(root) == PCI_VENDOR_ID_VIA || | ||||
| pci_get_vendor(root) == PCI_VENDOR_ID_SERVERWORKS) | pci_get_vendor(root) == PCI_VENDOR_ID_SERVERWORKS) | ||||
| return (PCI_SPEED_UNKNOWN); | return (PCI_SPEED_UNKNOWN); | ||||
| if ((error = pci_find_cap(root, PCIY_EXPRESS, &pos)) != 0) | if ((error = pci_find_cap(root, PCIY_EXPRESS, &pos)) != 0) | ||||
| return (PCI_SPEED_UNKNOWN); | return (PCI_SPEED_UNKNOWN); | ||||
| ▲ Show 20 Lines • Show All 430 Lines • Show Last 20 Lines | |||||