X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fixgbe%2Fixgbe_ethdev.c;h=4c4c6dfb1622ca89b7deebd062834d6fd6c5f26a;hb=c7985de0a7f0769d6e4e112b18314aceecf2642c;hp=594dd7db1e5b1a935cc33aaa71b87b17de707c8c;hpb=c03fcee9abbd4d1ff25e0e91c1f1b2481ec764c2;p=dpdk.git diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c index 594dd7db1e..4c4c6dfb16 100644 --- a/drivers/net/ixgbe/ixgbe_ethdev.c +++ b/drivers/net/ixgbe/ixgbe_ethdev.c @@ -136,7 +136,7 @@ #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 +