X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fvirtio%2Fvirtio_pci_ethdev.c;h=4083853c4887bf1711c1f421868eb37f7f1dc5fe;hb=6a11a1eac0b6dcd52580eef99cf6f09e3361cc3b;hp=7b6df8341e9255eb879539f2bff86890341892a0;hpb=c4fa9cc7c52131a0d537a11dc676259af0f1a7f3;p=dpdk.git diff --git a/drivers/net/virtio/virtio_pci_ethdev.c b/drivers/net/virtio/virtio_pci_ethdev.c index 7b6df8341e..4083853c48 100644 --- a/drivers/net/virtio/virtio_pci_ethdev.c +++ b/drivers/net/virtio/virtio_pci_ethdev.c @@ -19,6 +19,7 @@ #include #include +#include "virtio.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 { - if (rte_pci_ioport_map(pci_dev, 0, VTPCI_IO(hw)) < 0) + if (vtpci_legacy_ioport_map(hw) < 0) return -1; } @@ -75,19 +76,20 @@ 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; - VTPCI_DEV(hw) = pci_dev; - 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 { + VTPCI_DEV(hw) = pci_dev; if (dev->modern) - VTPCI_OPS(hw) = &modern_ops; + VIRTIO_OPS(hw) = &modern_ops; else - VTPCI_OPS(hw) = &legacy_ops; + VIRTIO_OPS(hw) = &legacy_ops; ret = virtio_remap_pci(RTE_ETH_DEV_TO_PCI(eth_dev), dev); if (ret < 0) { @@ -111,7 +113,7 @@ eth_virtio_pci_init(struct rte_eth_dev *eth_dev) err_unmap: rte_pci_unmap_device(RTE_ETH_DEV_TO_PCI(eth_dev)); if (!dev->modern) - rte_pci_ioport_unmap(VTPCI_IO(hw)); + vtpci_legacy_ioport_unmap(hw); return ret; }