Lines Matching refs:hw_stats

966 	struct mtk_hw_stats *hw_stats = mac->hw_stats;  in mtk_stats_update_mac()  local
969 u64_stats_update_begin(&hw_stats->syncp); in mtk_stats_update_mac()
972 hw_stats->tx_packets += mtk_r32(mac->hw, MT7628_SDM_TPCNT); in mtk_stats_update_mac()
973 hw_stats->tx_bytes += mtk_r32(mac->hw, MT7628_SDM_TBCNT); in mtk_stats_update_mac()
974 hw_stats->rx_packets += mtk_r32(mac->hw, MT7628_SDM_RPCNT); in mtk_stats_update_mac()
975 hw_stats->rx_bytes += mtk_r32(mac->hw, MT7628_SDM_RBCNT); in mtk_stats_update_mac()
976 hw_stats->rx_checksum_errors += in mtk_stats_update_mac()
980 unsigned int offs = hw_stats->reg_offset; in mtk_stats_update_mac()
983 hw_stats->rx_bytes += mtk_r32(mac->hw, reg_map->gdm1_cnt + offs); in mtk_stats_update_mac()
986 hw_stats->rx_bytes += (stats << 32); in mtk_stats_update_mac()
987 hw_stats->rx_packets += in mtk_stats_update_mac()
989 hw_stats->rx_overflow += in mtk_stats_update_mac()
991 hw_stats->rx_fcs_errors += in mtk_stats_update_mac()
993 hw_stats->rx_short_errors += in mtk_stats_update_mac()
995 hw_stats->rx_long_errors += in mtk_stats_update_mac()
997 hw_stats->rx_checksum_errors += in mtk_stats_update_mac()
999 hw_stats->rx_flow_control_packets += in mtk_stats_update_mac()
1003 hw_stats->tx_skip += in mtk_stats_update_mac()
1005 hw_stats->tx_collisions += in mtk_stats_update_mac()
1007 hw_stats->tx_bytes += in mtk_stats_update_mac()
1011 hw_stats->tx_bytes += (stats << 32); in mtk_stats_update_mac()
1012 hw_stats->tx_packets += in mtk_stats_update_mac()
1015 hw_stats->tx_skip += in mtk_stats_update_mac()
1017 hw_stats->tx_collisions += in mtk_stats_update_mac()
1019 hw_stats->tx_bytes += in mtk_stats_update_mac()
1023 hw_stats->tx_bytes += (stats << 32); in mtk_stats_update_mac()
1024 hw_stats->tx_packets += in mtk_stats_update_mac()
1029 u64_stats_update_end(&hw_stats->syncp); in mtk_stats_update_mac()
1037 if (!eth->mac[i] || !eth->mac[i]->hw_stats) in mtk_stats_update()
1039 if (spin_trylock(&eth->mac[i]->hw_stats->stats_lock)) { in mtk_stats_update()
1041 spin_unlock(&eth->mac[i]->hw_stats->stats_lock); in mtk_stats_update()
1050 struct mtk_hw_stats *hw_stats = mac->hw_stats; in mtk_get_stats64() local
1054 if (spin_trylock_bh(&hw_stats->stats_lock)) { in mtk_get_stats64()
1056 spin_unlock_bh(&hw_stats->stats_lock); in mtk_get_stats64()
1061 start = u64_stats_fetch_begin(&hw_stats->syncp); in mtk_get_stats64()
1062 storage->rx_packets = hw_stats->rx_packets; in mtk_get_stats64()
1063 storage->tx_packets = hw_stats->tx_packets; in mtk_get_stats64()
1064 storage->rx_bytes = hw_stats->rx_bytes; in mtk_get_stats64()
1065 storage->tx_bytes = hw_stats->tx_bytes; in mtk_get_stats64()
1066 storage->collisions = hw_stats->tx_collisions; in mtk_get_stats64()
1067 storage->rx_length_errors = hw_stats->rx_short_errors + in mtk_get_stats64()
1068 hw_stats->rx_long_errors; in mtk_get_stats64()
1069 storage->rx_over_errors = hw_stats->rx_overflow; in mtk_get_stats64()
1070 storage->rx_crc_errors = hw_stats->rx_fcs_errors; in mtk_get_stats64()
1071 storage->rx_errors = hw_stats->rx_checksum_errors; in mtk_get_stats64()
1072 storage->tx_aborted_errors = hw_stats->tx_skip; in mtk_get_stats64()
1073 } while (u64_stats_fetch_retry(&hw_stats->syncp, start)); in mtk_get_stats64()
1921 struct mtk_hw_stats *hw_stats = mac->hw_stats; in mtk_xdp_xmit() local
1934 u64_stats_update_begin(&hw_stats->syncp); in mtk_xdp_xmit()
1935 hw_stats->xdp_stats.tx_xdp_xmit += nxmit; in mtk_xdp_xmit()
1936 hw_stats->xdp_stats.tx_xdp_xmit_errors += num_frame - nxmit; in mtk_xdp_xmit()
1937 u64_stats_update_end(&hw_stats->syncp); in mtk_xdp_xmit()
1946 struct mtk_hw_stats *hw_stats = mac->hw_stats; in mtk_xdp_run() local
1947 u64 *count = &hw_stats->xdp_stats.rx_xdp_drop; in mtk_xdp_run()
1960 count = &hw_stats->xdp_stats.rx_xdp_pass; in mtk_xdp_run()
1968 count = &hw_stats->xdp_stats.rx_xdp_redirect; in mtk_xdp_run()
1974 count = &hw_stats->xdp_stats.rx_xdp_tx_errors; in mtk_xdp_run()
1979 count = &hw_stats->xdp_stats.rx_xdp_tx; in mtk_xdp_run()
1996 u64_stats_update_begin(&hw_stats->syncp); in mtk_xdp_run()
1998 u64_stats_update_end(&hw_stats->syncp); in mtk_xdp_run()
4358 struct mtk_hw_stats *hwstats = mac->hw_stats; in mtk_get_ethtool_stats()
4550 mac->hw_stats = devm_kzalloc(eth->dev, in mtk_add_mac()
4551 sizeof(*mac->hw_stats), in mtk_add_mac()
4553 if (!mac->hw_stats) { in mtk_add_mac()
4558 spin_lock_init(&mac->hw_stats->stats_lock); in mtk_add_mac()
4559 u64_stats_init(&mac->hw_stats->syncp); in mtk_add_mac()
4562 mac->hw_stats->reg_offset = id * 0x80; in mtk_add_mac()
4564 mac->hw_stats->reg_offset = id * 0x40; in mtk_add_mac()