remove unneeded tests for NULL when freeing
[dpdk.git] / drivers / net / ixgbe / ixgbe_ethdev.c
index 594dd7d..4c4c6df 100644 (file)
 #define IXGBE_INCVAL_SHIFT_82599 7
 #define IXGBE_INCPER_SHIFT_82599 24
 
-#define IXGBE_CYCLECOUNTER_MASK   0xffffffffffffffff
+#define IXGBE_CYCLECOUNTER_MASK   0xffffffffffffffffULL
 
 static int eth_ixgbe_dev_init(struct rte_eth_dev *eth_dev);
 static int eth_ixgbe_dev_uninit(struct rte_eth_dev *eth_dev);
@@ -1991,6 +1991,9 @@ ixgbe_dev_start(struct rte_eth_dev *dev)
                return -EINVAL;
        }
 
+       /* disable uio/vfio intr/eventfd mapping */
+       rte_intr_disable(intr_handle);
+
        /* stop adapter */
        hw->adapter_stopped = 0;
        ixgbe_stop_adapter(hw);
@@ -2338,7 +2341,6 @@ ixgbe_read_stats_registers(struct ixgbe_hw *hw,
 {
        uint32_t bprc, lxon, lxoff, total;
        uint32_t delta_gprc = 0;
-       uint32_t delta_gptc = 0;
        unsigned i;
        /* Workaround for RX byte count not including CRC bytes when CRC
 +       * strip is enabled. CRC bytes are removed from counters when crc_strip
@@ -2385,7 +2387,6 @@ ixgbe_read_stats_registers(struct ixgbe_hw *hw,
                uint32_t delta_qprdc = IXGBE_READ_REG(hw, IXGBE_QPRDC(i));
 
                delta_gprc += delta_qprc;
-               delta_gptc += delta_qptc;
 
                hw_stats->qprc[i] += delta_qprc;
                hw_stats->qptc[i] += delta_qptc;
@@ -2441,6 +2442,8 @@ ixgbe_read_stats_registers(struct ixgbe_hw *hw,
        if (crc_strip == 0)
                hw_stats->gorc -= delta_gprc * ETHER_CRC_LEN;
 
+       uint64_t delta_gptc = IXGBE_READ_REG(hw, IXGBE_GPTC);
+       hw_stats->gptc += delta_gptc;
        hw_stats->gotc -= delta_gptc * ETHER_CRC_LEN;
        hw_stats->tor -= (hw_stats->tpr - old_tpr) * ETHER_CRC_LEN;
 
@@ -2467,7 +2470,6 @@ ixgbe_read_stats_registers(struct ixgbe_hw *hw,
        hw_stats->lxofftxc += lxoff;
        total = lxon + lxoff;
 
-       hw_stats->gptc += IXGBE_READ_REG(hw, IXGBE_GPTC);
        hw_stats->mptc += IXGBE_READ_REG(hw, IXGBE_MPTC);
        hw_stats->ptc64 += IXGBE_READ_REG(hw, IXGBE_PTC64);
        hw_stats->gptc -= total;
@@ -2544,6 +2546,7 @@ ixgbe_dev_stats_get(struct rte_eth_dev *dev, struct rte_eth_stats *stats)
        }
 
        /* Rx Errors */
+       stats->imissed  = total_missed_rx;
        stats->ierrors  = hw_stats->crcerrs +
                          hw_stats->mspdc +
                          hw_stats->rlec +