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
net/i40e: fix parsing packet type for NEON
[dpdk.git]
/
drivers
/
net
/
virtio
/
virtio_pci_ethdev.c
diff --git
a/drivers/net/virtio/virtio_pci_ethdev.c
b/drivers/net/virtio/virtio_pci_ethdev.c
index
0109d87
..
4083853
100644
(file)
--- a/
drivers/net/virtio/virtio_pci_ethdev.c
+++ b/
drivers/net/virtio/virtio_pci_ethdev.c
@@
-19,6
+19,7
@@
#include <rte_dev.h>
#include <rte_kvargs.h>
#include <rte_dev.h>
#include <rte_kvargs.h>
+#include "virtio.h"
#include "virtio_ethdev.h"
#include "virtio_pci.h"
#include "virtio_logs.h"
#include "virtio_ethdev.h"
#include "virtio_pci.h"
#include "virtio_logs.h"
@@
-60,7
+61,7
@@
virtio_remap_pci(struct rte_pci_device *pci_dev, struct virtio_pci_dev *dev)
return -1;
}
} else {
return -1;
}
} else {
- if (
rte_pci_ioport_map(pci_dev, 0, VTPCI_IO(hw)
) < 0)
+ if (
vtpci_legacy_ioport_map(hw
) < 0)
return -1;
}
return -1;
}
@@
-75,15
+76,21
@@
eth_virtio_pci_init(struct rte_eth_dev *eth_dev)
struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);
int ret;
struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);
int ret;
- VTPCI_DEV(hw) = pci_dev;
-
if (rte_eal_process_type() == RTE_PROC_PRIMARY) {
if (rte_eal_process_type() == RTE_PROC_PRIMARY) {
+ hw->port_id = eth_dev->data->port_id;
+ VTPCI_DEV(hw) = pci_dev;
ret = vtpci_init(RTE_ETH_DEV_TO_PCI(eth_dev), dev);
if (ret) {
PMD_INIT_LOG(ERR, "Failed to init PCI device\n");
return -1;
}
} else {
ret = vtpci_init(RTE_ETH_DEV_TO_PCI(eth_dev), dev);
if (ret) {
PMD_INIT_LOG(ERR, "Failed to init PCI device\n");
return -1;
}
} else {
+ VTPCI_DEV(hw) = pci_dev;
+ if (dev->modern)
+ VIRTIO_OPS(hw) = &modern_ops;
+ else
+ VIRTIO_OPS(hw) = &legacy_ops;
+
ret = virtio_remap_pci(RTE_ETH_DEV_TO_PCI(eth_dev), dev);
if (ret < 0) {
PMD_INIT_LOG(ERR, "Failed to remap PCI device\n");
ret = virtio_remap_pci(RTE_ETH_DEV_TO_PCI(eth_dev), dev);
if (ret < 0) {
PMD_INIT_LOG(ERR, "Failed to remap PCI device\n");
@@
-105,8
+112,8
@@
eth_virtio_pci_init(struct rte_eth_dev *eth_dev)
err_unmap:
rte_pci_unmap_device(RTE_ETH_DEV_TO_PCI(eth_dev));
err_unmap:
rte_pci_unmap_device(RTE_ETH_DEV_TO_PCI(eth_dev));
- if (
hw->bus_type == VIRTIO_BUS_PCI_LEGACY
)
-
rte_pci_ioport_unmap(VTPCI_IO(hw)
);
+ if (
!dev->modern
)
+
vtpci_legacy_ioport_unmap(hw
);
return ret;
}
return ret;
}