Lines Matching refs:lif

182 #define MAX_Q(lif)   ((lif)->netdev->real_num_tx_queues)  argument
184 static void ionic_add_lif_txq_stats(struct ionic_lif *lif, int q_num, in ionic_add_lif_txq_stats() argument
187 struct ionic_tx_stats *txstats = &lif->txqstats[q_num]; in ionic_add_lif_txq_stats()
199 static void ionic_add_lif_rxq_stats(struct ionic_lif *lif, int q_num, in ionic_add_lif_rxq_stats() argument
202 struct ionic_rx_stats *rxstats = &lif->rxqstats[q_num]; in ionic_add_lif_rxq_stats()
213 static void ionic_get_lif_stats(struct ionic_lif *lif, in ionic_get_lif_stats() argument
221 for (q_num = 0; q_num < MAX_Q(lif); q_num++) { in ionic_get_lif_stats()
222 ionic_add_lif_txq_stats(lif, q_num, stats); in ionic_get_lif_stats()
223 ionic_add_lif_rxq_stats(lif, q_num, stats); in ionic_get_lif_stats()
226 if (lif->hwstamp_txq) in ionic_get_lif_stats()
227 ionic_add_lif_txq_stats(lif, lif->hwstamp_txq->q.index, stats); in ionic_get_lif_stats()
229 if (lif->hwstamp_rxq) in ionic_get_lif_stats()
230 ionic_add_lif_rxq_stats(lif, lif->hwstamp_rxq->q.index, stats); in ionic_get_lif_stats()
232 ionic_get_stats64(lif->netdev, &ns); in ionic_get_lif_stats()
240 static u64 ionic_sw_stats_get_count(struct ionic_lif *lif) in ionic_sw_stats_get_count() argument
242 u64 total = 0, tx_queues = MAX_Q(lif), rx_queues = MAX_Q(lif); in ionic_sw_stats_get_count()
244 if (lif->hwstamp_txq) in ionic_sw_stats_get_count()
247 if (lif->hwstamp_rxq) in ionic_sw_stats_get_count()
256 if (test_bit(IONIC_LIF_F_UP, lif->state) && in ionic_sw_stats_get_count()
257 test_bit(IONIC_LIF_F_SW_DEBUG_STATS, lif->state)) { in ionic_sw_stats_get_count()
274 static void ionic_sw_stats_get_tx_strings(struct ionic_lif *lif, u8 **buf, in ionic_sw_stats_get_tx_strings() argument
283 if (!test_bit(IONIC_LIF_F_UP, lif->state) || in ionic_sw_stats_get_tx_strings()
284 !test_bit(IONIC_LIF_F_SW_DEBUG_STATS, lif->state)) in ionic_sw_stats_get_tx_strings()
300 static void ionic_sw_stats_get_rx_strings(struct ionic_lif *lif, u8 **buf, in ionic_sw_stats_get_rx_strings() argument
309 if (!test_bit(IONIC_LIF_F_UP, lif->state) || in ionic_sw_stats_get_rx_strings()
310 !test_bit(IONIC_LIF_F_SW_DEBUG_STATS, lif->state)) in ionic_sw_stats_get_rx_strings()
326 static void ionic_sw_stats_get_strings(struct ionic_lif *lif, u8 **buf) in ionic_sw_stats_get_strings() argument
336 for (q_num = 0; q_num < MAX_Q(lif); q_num++) in ionic_sw_stats_get_strings()
337 ionic_sw_stats_get_tx_strings(lif, buf, q_num); in ionic_sw_stats_get_strings()
339 if (lif->hwstamp_txq) in ionic_sw_stats_get_strings()
340 ionic_sw_stats_get_tx_strings(lif, buf, lif->hwstamp_txq->q.index); in ionic_sw_stats_get_strings()
342 for (q_num = 0; q_num < MAX_Q(lif); q_num++) in ionic_sw_stats_get_strings()
343 ionic_sw_stats_get_rx_strings(lif, buf, q_num); in ionic_sw_stats_get_strings()
345 if (lif->hwstamp_rxq) in ionic_sw_stats_get_strings()
346 ionic_sw_stats_get_rx_strings(lif, buf, lif->hwstamp_rxq->q.index); in ionic_sw_stats_get_strings()
349 static void ionic_sw_stats_get_txq_values(struct ionic_lif *lif, u64 **buf, in ionic_sw_stats_get_txq_values() argument
356 txstats = &lif->txqstats[q_num]; in ionic_sw_stats_get_txq_values()
363 if (!test_bit(IONIC_LIF_F_UP, lif->state) || in ionic_sw_stats_get_txq_values()
364 !test_bit(IONIC_LIF_F_SW_DEBUG_STATS, lif->state)) in ionic_sw_stats_get_txq_values()
367 txqcq = lif->txqcqs[q_num]; in ionic_sw_stats_get_txq_values()
389 static void ionic_sw_stats_get_rxq_values(struct ionic_lif *lif, u64 **buf, in ionic_sw_stats_get_rxq_values() argument
396 rxstats = &lif->rxqstats[q_num]; in ionic_sw_stats_get_rxq_values()
403 if (!test_bit(IONIC_LIF_F_UP, lif->state) || in ionic_sw_stats_get_rxq_values()
404 !test_bit(IONIC_LIF_F_SW_DEBUG_STATS, lif->state)) in ionic_sw_stats_get_rxq_values()
407 rxqcq = lif->rxqcqs[q_num]; in ionic_sw_stats_get_rxq_values()
429 static void ionic_sw_stats_get_values(struct ionic_lif *lif, u64 **buf) in ionic_sw_stats_get_values() argument
435 ionic_get_lif_stats(lif, &lif_stats); in ionic_sw_stats_get_values()
442 port_stats = &lif->ionic->idev.port_info->stats; in ionic_sw_stats_get_values()
449 for (q_num = 0; q_num < MAX_Q(lif); q_num++) in ionic_sw_stats_get_values()
450 ionic_sw_stats_get_txq_values(lif, buf, q_num); in ionic_sw_stats_get_values()
452 if (lif->hwstamp_txq) in ionic_sw_stats_get_values()
453 ionic_sw_stats_get_txq_values(lif, buf, lif->hwstamp_txq->q.index); in ionic_sw_stats_get_values()
455 for (q_num = 0; q_num < MAX_Q(lif); q_num++) in ionic_sw_stats_get_values()
456 ionic_sw_stats_get_rxq_values(lif, buf, q_num); in ionic_sw_stats_get_values()
458 if (lif->hwstamp_rxq) in ionic_sw_stats_get_values()
459 ionic_sw_stats_get_rxq_values(lif, buf, lif->hwstamp_rxq->q.index); in ionic_sw_stats_get_values()