igc: Expose LPI counters
authorSasha Neftin <sasha.neftin@intel.com>
Thu, 13 Aug 2020 15:18:15 +0000 (18:18 +0300)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Mon, 28 Sep 2020 21:42:45 +0000 (14:42 -0700)
Completion to commit 900d1e8b346b ("igc: Add LPI counters")
LPI counters exposed by statistics update method.
A EEE TX LPI counter reflect the transmitter entries EEE (IEEE 802.3az)
into the LPI state. A EEE RX LPI counter reflect the receiver link
partner entries into EEE(IEEE 802.3az) LPI state.

Signed-off-by: Sasha Neftin <sasha.neftin@intel.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/igc/igc_ethtool.c
drivers/net/ethernet/intel/igc/igc_hw.h
drivers/net/ethernet/intel/igc/igc_main.c

index 44410c2..61d331c 100644 (file)
@@ -321,6 +321,9 @@ static void igc_ethtool_get_regs(struct net_device *netdev,
 
        for (i = 0; i < 8; i++)
                regs_buff[205 + i] = rd32(IGC_ETQF(i));
+
+       regs_buff[213] = adapter->stats.tlpic;
+       regs_buff[214] = adapter->stats.rlpic;
 }
 
 static void igc_ethtool_get_wol(struct net_device *netdev,
index 6defdb8..b70253f 100644 (file)
@@ -244,6 +244,8 @@ struct igc_hw_stats {
        u64 prc511;
        u64 prc1023;
        u64 prc1522;
+       u64 tlpic;
+       u64 rlpic;
        u64 gprc;
        u64 bprc;
        u64 mprc;
index 7a46b22..7576dbf 100644 (file)
@@ -3683,6 +3683,8 @@ void igc_update_stats(struct igc_adapter *adapter)
        adapter->stats.prc511 += rd32(IGC_PRC511);
        adapter->stats.prc1023 += rd32(IGC_PRC1023);
        adapter->stats.prc1522 += rd32(IGC_PRC1522);
+       adapter->stats.tlpic += rd32(IGC_TLPIC);
+       adapter->stats.rlpic += rd32(IGC_RLPIC);
 
        mpc = rd32(IGC_MPC);
        adapter->stats.mpc += mpc;