X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=lib%2Flibrte_eal%2Flinuxapp%2Feal%2Feal_pci.c;h=d2adc66a5e407b8a6a766a7f32c339b66ac04efe;hb=ea9d56226e727ef3dfbcaef8117e6a09b9a5713e;hp=8f44f093592529cf5c92677ce0e60db03167635d;hpb=b8320b982463c98aeeea88e8b061d45412f09da0;p=dpdk.git diff --git a/lib/librte_eal/linuxapp/eal/eal_pci.c b/lib/librte_eal/linuxapp/eal/eal_pci.c index 8f44f09359..d2adc66a5e 100644 --- a/lib/librte_eal/linuxapp/eal/eal_pci.c +++ b/lib/librte_eal/linuxapp/eal/eal_pci.c @@ -37,7 +37,6 @@ #include #include -#include #include #include #include @@ -57,8 +56,6 @@ * IGB_UIO driver (or doesn't initialize, if the device wasn't bound to it). */ -struct mapped_pci_res_list *pci_res_list = NULL; - /* unbind kernel driver for this device */ static int pci_unbind_kernel_driver(struct rte_pci_device *dev) @@ -343,19 +340,19 @@ pci_scan_one(const char *dirname, uint16_t domain, uint8_t bus, ret = pci_get_kernel_driver_by_path(filename, driver); if (!ret) { if (!strcmp(driver, "vfio-pci")) - dev->pt_driver = RTE_PT_VFIO; + dev->kdrv = RTE_KDRV_VFIO; else if (!strcmp(driver, "igb_uio")) - dev->pt_driver = RTE_PT_IGB_UIO; + dev->kdrv = RTE_KDRV_IGB_UIO; else if (!strcmp(driver, "uio_pci_generic")) - dev->pt_driver = RTE_PT_UIO_GENERIC; + dev->kdrv = RTE_KDRV_UIO_GENERIC; else - dev->pt_driver = RTE_PT_UNKNOWN; + dev->kdrv = RTE_KDRV_UNKNOWN; } else if (ret < 0) { RTE_LOG(ERR, EAL, "Fail to get kernel driver\n"); free(dev); return -1; } else - dev->pt_driver = RTE_PT_UNKNOWN; + dev->kdrv = RTE_KDRV_UNKNOWN; /* device is valid, add in list (sorted) */ if (TAILQ_EMPTY(&pci_device_list)) { @@ -373,8 +370,7 @@ pci_scan_one(const char *dirname, uint16_t domain, uint8_t bus, TAILQ_INSERT_BEFORE(dev2, dev, next); return 0; } else { /* already registered */ - /* update pt_driver */ - dev2->pt_driver = dev->pt_driver; + dev2->kdrv = dev->kdrv; dev2->max_vfs = dev->max_vfs; memmove(dev2->mem_resource, dev->mem_resource, @@ -573,20 +569,20 @@ pci_map_device(struct rte_pci_device *dev) int ret = -1; /* try mapping the NIC resources using VFIO if it exists */ - switch (dev->pt_driver) { - case RTE_PT_VFIO: + switch (dev->kdrv) { + case RTE_KDRV_VFIO: #ifdef VFIO_PRESENT if (pci_vfio_is_enabled()) ret = pci_vfio_map_resource(dev); #endif break; - case RTE_PT_IGB_UIO: - case RTE_PT_UIO_GENERIC: + case RTE_KDRV_IGB_UIO: + case RTE_KDRV_UIO_GENERIC: /* map resources for devices that use uio */ ret = pci_uio_map_resource(dev); break; default: - RTE_LOG(DEBUG, EAL, " Not managed by known pt driver," + RTE_LOG(DEBUG, EAL, " Not managed by a supported kernel driver," " skipped\n"); ret = 1; break; @@ -603,17 +599,17 @@ pci_unmap_device(struct rte_pci_device *dev) return; /* try unmapping the NIC resources using VFIO if it exists */ - switch (dev->pt_driver) { - case RTE_PT_VFIO: + switch (dev->kdrv) { + case RTE_KDRV_VFIO: RTE_LOG(ERR, EAL, "Hotplug doesn't support vfio yet\n"); break; - case RTE_PT_IGB_UIO: - case RTE_PT_UIO_GENERIC: + case RTE_KDRV_IGB_UIO: + case RTE_KDRV_UIO_GENERIC: /* unmap resources for devices that use uio */ pci_uio_unmap_resource(dev); break; default: - RTE_LOG(DEBUG, EAL, " Not managed by known pt driver," + RTE_LOG(DEBUG, EAL, " Not managed by a supported kernel driver," " skipped\n"); break; } @@ -628,9 +624,9 @@ int rte_eal_pci_probe_one_driver(struct rte_pci_driver *dr, struct rte_pci_device *dev) { int ret; - struct rte_pci_id *id_table; + const struct rte_pci_id *id_table; - for (id_table = dr->id_table ; id_table->vendor_id != 0; id_table++) { + for (id_table = dr->id_table; id_table->vendor_id != 0; id_table++) { /* check if device's identifiers match the driver's ones */ if (id_table->vendor_id != dev->id.vendor_id && @@ -700,12 +696,12 @@ int rte_eal_pci_close_one_driver(struct rte_pci_driver *dr, struct rte_pci_device *dev) { - struct rte_pci_id *id_table; + const struct rte_pci_id *id_table; if ((dr == NULL) || (dev == NULL)) return -EINVAL; - for (id_table = dr->id_table ; id_table->vendor_id != 0; id_table++) { + for (id_table = dr->id_table; id_table->vendor_id != 0; id_table++) { /* check if device's identifiers match the driver's ones */ if (id_table->vendor_id != dev->id.vendor_id && @@ -766,8 +762,6 @@ rte_eal_pci_init(void) { TAILQ_INIT(&pci_driver_list); TAILQ_INIT(&pci_device_list); - pci_res_list = RTE_TAILQ_LOOKUP_BY_IDX(RTE_TAILQ_PCI, - mapped_pci_res_list); /* for debug purposes, PCI can be disabled */ if (internal_config.no_pci)