net/ena: remove redundant MTU verification
[dpdk.git] / drivers / net / cxgbe / cxgbevf_ethdev.c
index cc0938b..a62c56c 100644 (file)
@@ -3,8 +3,8 @@
  * All rights reserved.
  */
 
-#include <rte_ethdev_driver.h>
-#include <rte_ethdev_pci.h>
+#include <ethdev_driver.h>
+#include <ethdev_pci.h>
 
 #include "cxgbe.h"
 #include "cxgbe_pfvf.h"
@@ -54,22 +54,12 @@ static int cxgbevf_dev_stats_get(struct rte_eth_dev *eth_dev,
        eth_stats->oerrors  = ps.tx_drop;
 
        for (i = 0; i < pi->n_rx_qsets; i++) {
-               struct sge_eth_rxq *rxq =
-                       &s->ethrxq[pi->first_qset + i];
+               struct sge_eth_rxq *rxq = &s->ethrxq[pi->first_rxqset + i];
 
-               eth_stats->q_ipackets[i] = rxq->stats.pkts;
-               eth_stats->q_ibytes[i] = rxq->stats.rx_bytes;
-               eth_stats->ipackets += eth_stats->q_ipackets[i];
-               eth_stats->ibytes += eth_stats->q_ibytes[i];
+               eth_stats->ipackets += rxq->stats.pkts;
+               eth_stats->ibytes += rxq->stats.rx_bytes;
        }
 
-       for (i = 0; i < pi->n_tx_qsets; i++) {
-               struct sge_eth_txq *txq =
-                       &s->ethtxq[pi->first_qset + i];
-
-               eth_stats->q_opackets[i] = txq->stats.pkts;
-               eth_stats->q_obytes[i] = txq->stats.tx_bytes;
-       }
        return 0;
 }
 
@@ -97,7 +87,12 @@ static const struct eth_dev_ops cxgbevf_eth_dev_ops = {
        .rx_queue_stop          = cxgbe_dev_rx_queue_stop,
        .rx_queue_release       = cxgbe_dev_rx_queue_release,
        .stats_get              = cxgbevf_dev_stats_get,
+       .xstats_get             = cxgbe_dev_xstats_get,
+       .xstats_get_by_id       = cxgbe_dev_xstats_get_by_id,
+       .xstats_get_names       = cxgbe_dev_xstats_get_names,
+       .xstats_get_names_by_id = cxgbe_dev_xstats_get_names_by_id,
        .mac_addr_set           = cxgbe_mac_addr_set,
+       .fw_version_get         = cxgbe_fw_version_get,
 };
 
 /*
@@ -181,12 +176,15 @@ out_free_adapter:
 
 static int eth_cxgbevf_dev_uninit(struct rte_eth_dev *eth_dev)
 {
-       struct port_info *pi = eth_dev->data->dev_private;
-       struct adapter *adap = pi->adapter;
+       struct rte_pci_device *pci_dev = RTE_ETH_DEV_TO_PCI(eth_dev);
+       uint16_t port_id;
+       int err = 0;
 
        /* Free up other ports and all resources */
-       cxgbe_close(adap);
-       return 0;
+       RTE_ETH_FOREACH_DEV_OF(port_id, &pci_dev->device)
+               err |= rte_eth_dev_close(port_id);
+
+       return err == 0 ? 0 : -EIO;
 }
 
 static int eth_cxgbevf_pci_probe(struct rte_pci_driver *pci_drv __rte_unused,
@@ -213,4 +211,5 @@ RTE_PMD_REGISTER_PCI_TABLE(net_cxgbevf, cxgb4vf_pci_tbl);
 RTE_PMD_REGISTER_KMOD_DEP(net_cxgbevf, "* igb_uio | vfio-pci");
 RTE_PMD_REGISTER_PARAM_STRING(net_cxgbevf,
                              CXGBE_DEVARG_CMN_KEEP_OVLAN "=<0|1> "
+                             CXGBE_DEVARG_CMN_TX_MODE_LATENCY "=<0|1> "
                              CXGBE_DEVARG_VF_FORCE_LINK_UP "=<0|1> ");