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
pci: introduce function to map uio resource by index
[dpdk.git]
/
lib
/
librte_eal
/
linuxapp
/
eal
/
eal_pci.c
diff --git
a/lib/librte_eal/linuxapp/eal/eal_pci.c
b/lib/librte_eal/linuxapp/eal/eal_pci.c
index
8f44f09
..
d2adc66
100644
(file)
--- a/
lib/librte_eal/linuxapp/eal/eal_pci.c
+++ b/
lib/librte_eal/linuxapp/eal/eal_pci.c
@@
-37,7
+37,6
@@
#include <rte_log.h>
#include <rte_pci.h>
#include <rte_log.h>
#include <rte_pci.h>
-#include <rte_tailq.h>
#include <rte_eal_memconfig.h>
#include <rte_malloc.h>
#include <rte_devargs.h>
#include <rte_eal_memconfig.h>
#include <rte_malloc.h>
#include <rte_devargs.h>
@@
-57,8
+56,6
@@
* IGB_UIO driver (or doesn't initialize, if the device wasn't bound to it).
*/
* 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)
/* 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"))
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"))
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"))
else if (!strcmp(driver, "uio_pci_generic"))
- dev->
pt_driver = RTE_PT
_UIO_GENERIC;
+ dev->
kdrv = RTE_KDRV
_UIO_GENERIC;
else
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
} 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)) {
/* 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 */
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,
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 */
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;
#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:
/* 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;
" 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 */
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;
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:
/* 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;
}
" 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;
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 &&
/* 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)
{
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;
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 &&
/* 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);
{
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)
/* for debug purposes, PCI can be disabled */
if (internal_config.no_pci)