aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ehea/ehea_ethtool.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/ehea/ehea_ethtool.c')
-rw-r--r--drivers/net/ehea/ehea_ethtool.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/net/ehea/ehea_ethtool.c b/drivers/net/ehea/ehea_ethtool.c
index decec8cfe96b..29ef7a98f8be 100644
--- a/drivers/net/ehea/ehea_ethtool.c
+++ b/drivers/net/ehea/ehea_ethtool.c
@@ -183,6 +183,9 @@ static char ehea_ethtool_stats_keys[][ETH_GSTRING_LEN] = {
183 {"PR5 free_swqes"}, 183 {"PR5 free_swqes"},
184 {"PR6 free_swqes"}, 184 {"PR6 free_swqes"},
185 {"PR7 free_swqes"}, 185 {"PR7 free_swqes"},
186 {"LRO aggregated"},
187 {"LRO flushed"},
188 {"LRO no_desc"},
186}; 189};
187 190
188static void ehea_get_strings(struct net_device *dev, u32 stringset, u8 *data) 191static void ehea_get_strings(struct net_device *dev, u32 stringset, u8 *data)
@@ -239,6 +242,18 @@ static void ehea_get_ethtool_stats(struct net_device *dev,
239 for (k = 0; k < 8; k++) 242 for (k = 0; k < 8; k++)
240 data[i++] = atomic_read(&port->port_res[k].swqe_avail); 243 data[i++] = atomic_read(&port->port_res[k].swqe_avail);
241 244
245 for (k = 0, tmp = 0; k < EHEA_MAX_PORT_RES; k++)
246 tmp |= port->port_res[k].lro_mgr.stats.aggregated;
247 data[i++] = tmp;
248
249 for (k = 0, tmp = 0; k < EHEA_MAX_PORT_RES; k++)
250 tmp |= port->port_res[k].lro_mgr.stats.flushed;
251 data[i++] = tmp;
252
253 for (k = 0, tmp = 0; k < EHEA_MAX_PORT_RES; k++)
254 tmp |= port->port_res[k].lro_mgr.stats.no_desc;
255 data[i++] = tmp;
256
242} 257}
243 258
244const struct ethtool_ops ehea_ethtool_ops = { 259const struct ethtool_ops ehea_ethtool_ops = {