net/bnxt: support get FW version
[dpdk.git] / drivers / net / cxgbe / cxgbe_ethdev.c
index c50f089..b622d25 100644 (file)
@@ -104,7 +104,8 @@ static uint16_t cxgbe_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts,
                pkts_remain = nb_pkts - total_sent;
 
                for (pkts_sent = 0; pkts_sent < pkts_remain; pkts_sent++) {
-                       ret = t4_eth_xmit(txq, tx_pkts[total_sent + pkts_sent]);
+                       ret = t4_eth_xmit(txq, tx_pkts[total_sent + pkts_sent],
+                                         nb_pkts);
                        if (ret < 0)
                                break;
                }
@@ -338,6 +339,8 @@ static int cxgbe_dev_start(struct rte_eth_dev *eth_dev)
                        goto out;
        }
 
+       cxgbe_enable_rx_queues(pi);
+
        err = setup_rss(pi);
        if (err)
                goto out;
@@ -657,8 +660,6 @@ static void cxgbe_dev_stats_get(struct rte_eth_dev *eth_dev,
        cxgbe_stats_get(pi, &ps);
 
        /* RX Stats */
-       eth_stats->ipackets = ps.rx_frames;
-       eth_stats->ibytes   = ps.rx_octets;
        eth_stats->imissed  = ps.rx_ovflow0 + ps.rx_ovflow1 +
                              ps.rx_ovflow2 + ps.rx_ovflow3 +
                              ps.rx_trunc0 + ps.rx_trunc1 +
@@ -678,6 +679,8 @@ static void cxgbe_dev_stats_get(struct rte_eth_dev *eth_dev,
 
                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];
        }
 
        for (i = 0; i < pi->n_tx_qsets; i++) {
@@ -1054,7 +1057,7 @@ static int eth_cxgbe_pci_remove(struct rte_pci_device *pci_dev)
 
 static struct rte_pci_driver rte_cxgbe_pmd = {
        .id_table = cxgb4_pci_tbl,
-       .drv_flags = RTE_PCI_DRV_NEED_MAPPING | RTE_PCI_DRV_INTR_LSC,
+       .drv_flags = RTE_PCI_DRV_NEED_MAPPING,
        .probe = eth_cxgbe_pci_probe,
        .remove = eth_cxgbe_pci_remove,
 };