git.droids-corp.org
/
dpdk.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
xen: fix build
[dpdk.git]
/
lib
/
librte_eal
/
common
/
eal_common_pci.c
diff --git
a/lib/librte_eal/common/eal_common_pci.c
b/lib/librte_eal/common/eal_common_pci.c
index
96d5113
..
7248c38
100644
(file)
--- a/
lib/librte_eal/common/eal_common_pci.c
+++ b/
lib/librte_eal/common/eal_common_pci.c
@@
-85,6
+85,19
@@
struct pci_driver_list pci_driver_list;
struct pci_device_list pci_device_list;
struct pci_driver_list pci_driver_list;
struct pci_device_list pci_device_list;
+#define SYSFS_PCI_DEVICES "/sys/bus/pci/devices"
+
+const char *pci_get_sysfs_path(void)
+{
+ const char *path = NULL;
+
+ path = getenv("SYSFS_PCI_DEVICES");
+ if (path == NULL)
+ return SYSFS_PCI_DEVICES;
+
+ return path;
+}
+
static struct rte_devargs *pci_devargs_lookup(struct rte_pci_device *dev)
{
struct rte_devargs *devargs;
static struct rte_devargs *pci_devargs_lookup(struct rte_pci_device *dev)
{
struct rte_devargs *devargs;
@@
-162,31
+175,27
@@
rte_eal_pci_probe_one_driver(struct rte_pci_driver *dr, struct rte_pci_device *d
if (id_table->subsystem_device_id != dev->id.subsystem_device_id &&
id_table->subsystem_device_id != PCI_ANY_ID)
continue;
if (id_table->subsystem_device_id != dev->id.subsystem_device_id &&
id_table->subsystem_device_id != PCI_ANY_ID)
continue;
+ if (id_table->class_id != dev->id.class_id &&
+ id_table->class_id != RTE_CLASS_ANY_ID)
+ continue;
struct rte_pci_addr *loc = &dev->addr;
struct rte_pci_addr *loc = &dev->addr;
- RTE_LOG(
DEBUG
, EAL, "PCI device "PCI_PRI_FMT" on NUMA socket %i\n",
+ RTE_LOG(
INFO
, EAL, "PCI device "PCI_PRI_FMT" on NUMA socket %i\n",
loc->domain, loc->bus, loc->devid, loc->function,
dev->numa_node);
loc->domain, loc->bus, loc->devid, loc->function,
dev->numa_node);
- RTE_LOG(DEBUG, EAL, " probe driver: %x:%x %s\n", dev->id.vendor_id,
- dev->id.device_id, dr->name);
-
/* no initialization when blacklisted, return without error */
if (dev->devargs != NULL &&
dev->devargs->type == RTE_DEVTYPE_BLACKLISTED_PCI) {
/* no initialization when blacklisted, return without error */
if (dev->devargs != NULL &&
dev->devargs->type == RTE_DEVTYPE_BLACKLISTED_PCI) {
- RTE_LOG(
DEBUG
, EAL, " Device is blacklisted, not initializing\n");
+ RTE_LOG(
INFO
, EAL, " Device is blacklisted, not initializing\n");
return 1;
}
return 1;
}
+ RTE_LOG(INFO, EAL, " probe driver: %x:%x %s\n", dev->id.vendor_id,
+ dev->id.device_id, dr->name);
+
if (dr->drv_flags & RTE_PCI_DRV_NEED_MAPPING) {
if (dr->drv_flags & RTE_PCI_DRV_NEED_MAPPING) {
-#ifdef RTE_PCI_CONFIG
- /*
- * Set PCIe config space for high performance.
- * Return value can be ignored.
- */
- pci_config_space_set(dev);
-#endif
/* map resources for devices that use igb_uio */
ret = rte_eal_pci_map_device(dev);
if (ret != 0)
/* map resources for devices that use igb_uio */
ret = rte_eal_pci_map_device(dev);
if (ret != 0)
@@
-204,7
+213,7
@@
rte_eal_pci_probe_one_driver(struct rte_pci_driver *dr, struct rte_pci_device *d
/* call the driver devinit() function */
return dr->devinit(dr, dev);
}
/* call the driver devinit() function */
return dr->devinit(dr, dev);
}
- /* return positive value if driver
is not found
*/
+ /* return positive value if driver
doesn't support this device
*/
return 1;
}
return 1;
}
@@
-259,7
+268,7
@@
rte_eal_pci_detach_dev(struct rte_pci_driver *dr,
return 0;
}
return 0;
}
- /* return positive value if driver
is not found
*/
+ /* return positive value if driver
doesn't support this device
*/
return 1;
}
return 1;
}
@@
-283,7
+292,7
@@
pci_probe_all_drivers(struct rte_pci_device *dev)
/* negative value is an error */
return -1;
if (rc > 0)
/* negative value is an error */
return -1;
if (rc > 0)
- /* positive value means driver
not found
*/
+ /* positive value means driver
doesn't support it
*/
continue;
return 0;
}
continue;
return 0;
}
@@
-310,7
+319,7
@@
pci_detach_all_drivers(struct rte_pci_device *dev)
/* negative value is an error */
return -1;
if (rc > 0)
/* negative value is an error */
return -1;
if (rc > 0)
- /* positive value means driver
not found
*/
+ /* positive value means driver
doesn't support it
*/
continue;
return 0;
}
continue;
return 0;
}