Lines Matching refs:hw_stats
691 struct mtk_hw_stats *hw_stats = mac->hw_stats; in mtk_stats_update_mac() local
694 u64_stats_update_begin(&hw_stats->syncp); in mtk_stats_update_mac()
697 hw_stats->tx_packets += mtk_r32(mac->hw, MT7628_SDM_TPCNT); in mtk_stats_update_mac()
698 hw_stats->tx_bytes += mtk_r32(mac->hw, MT7628_SDM_TBCNT); in mtk_stats_update_mac()
699 hw_stats->rx_packets += mtk_r32(mac->hw, MT7628_SDM_RPCNT); in mtk_stats_update_mac()
700 hw_stats->rx_bytes += mtk_r32(mac->hw, MT7628_SDM_RBCNT); in mtk_stats_update_mac()
701 hw_stats->rx_checksum_errors += in mtk_stats_update_mac()
704 unsigned int offs = hw_stats->reg_offset; in mtk_stats_update_mac()
707 hw_stats->rx_bytes += mtk_r32(mac->hw, in mtk_stats_update_mac()
711 hw_stats->rx_bytes += (stats << 32); in mtk_stats_update_mac()
712 hw_stats->rx_packets += in mtk_stats_update_mac()
714 hw_stats->rx_overflow += in mtk_stats_update_mac()
716 hw_stats->rx_fcs_errors += in mtk_stats_update_mac()
718 hw_stats->rx_short_errors += in mtk_stats_update_mac()
720 hw_stats->rx_long_errors += in mtk_stats_update_mac()
722 hw_stats->rx_checksum_errors += in mtk_stats_update_mac()
724 hw_stats->rx_flow_control_packets += in mtk_stats_update_mac()
726 hw_stats->tx_skip += in mtk_stats_update_mac()
728 hw_stats->tx_collisions += in mtk_stats_update_mac()
730 hw_stats->tx_bytes += in mtk_stats_update_mac()
734 hw_stats->tx_bytes += (stats << 32); in mtk_stats_update_mac()
735 hw_stats->tx_packets += in mtk_stats_update_mac()
739 u64_stats_update_end(&hw_stats->syncp); in mtk_stats_update_mac()
747 if (!eth->mac[i] || !eth->mac[i]->hw_stats) in mtk_stats_update()
749 if (spin_trylock(ð->mac[i]->hw_stats->stats_lock)) { in mtk_stats_update()
751 spin_unlock(ð->mac[i]->hw_stats->stats_lock); in mtk_stats_update()
760 struct mtk_hw_stats *hw_stats = mac->hw_stats; in mtk_get_stats64() local
764 if (spin_trylock_bh(&hw_stats->stats_lock)) { in mtk_get_stats64()
766 spin_unlock_bh(&hw_stats->stats_lock); in mtk_get_stats64()
771 start = u64_stats_fetch_begin_irq(&hw_stats->syncp); in mtk_get_stats64()
772 storage->rx_packets = hw_stats->rx_packets; in mtk_get_stats64()
773 storage->tx_packets = hw_stats->tx_packets; in mtk_get_stats64()
774 storage->rx_bytes = hw_stats->rx_bytes; in mtk_get_stats64()
775 storage->tx_bytes = hw_stats->tx_bytes; in mtk_get_stats64()
776 storage->collisions = hw_stats->tx_collisions; in mtk_get_stats64()
777 storage->rx_length_errors = hw_stats->rx_short_errors + in mtk_get_stats64()
778 hw_stats->rx_long_errors; in mtk_get_stats64()
779 storage->rx_over_errors = hw_stats->rx_overflow; in mtk_get_stats64()
780 storage->rx_crc_errors = hw_stats->rx_fcs_errors; in mtk_get_stats64()
781 storage->rx_errors = hw_stats->rx_checksum_errors; in mtk_get_stats64()
782 storage->tx_aborted_errors = hw_stats->tx_skip; in mtk_get_stats64()
783 } while (u64_stats_fetch_retry_irq(&hw_stats->syncp, start)); in mtk_get_stats64()
2847 struct mtk_hw_stats *hwstats = mac->hw_stats; in mtk_get_ethtool_stats()
3012 mac->hw_stats = devm_kzalloc(eth->dev, in mtk_add_mac()
3013 sizeof(*mac->hw_stats), in mtk_add_mac()
3015 if (!mac->hw_stats) { in mtk_add_mac()
3020 spin_lock_init(&mac->hw_stats->stats_lock); in mtk_add_mac()
3021 u64_stats_init(&mac->hw_stats->syncp); in mtk_add_mac()
3022 mac->hw_stats->reg_offset = id * MTK_STAT_OFFSET; in mtk_add_mac()