Lines Matching refs:hw_stats
683 struct mtk_hw_stats *hw_stats = mac->hw_stats; in mtk_stats_update_mac() local
686 u64_stats_update_begin(&hw_stats->syncp); in mtk_stats_update_mac()
689 hw_stats->tx_packets += mtk_r32(mac->hw, MT7628_SDM_TPCNT); in mtk_stats_update_mac()
690 hw_stats->tx_bytes += mtk_r32(mac->hw, MT7628_SDM_TBCNT); in mtk_stats_update_mac()
691 hw_stats->rx_packets += mtk_r32(mac->hw, MT7628_SDM_RPCNT); in mtk_stats_update_mac()
692 hw_stats->rx_bytes += mtk_r32(mac->hw, MT7628_SDM_RBCNT); in mtk_stats_update_mac()
693 hw_stats->rx_checksum_errors += in mtk_stats_update_mac()
696 unsigned int offs = hw_stats->reg_offset; in mtk_stats_update_mac()
699 hw_stats->rx_bytes += mtk_r32(mac->hw, in mtk_stats_update_mac()
703 hw_stats->rx_bytes += (stats << 32); in mtk_stats_update_mac()
704 hw_stats->rx_packets += in mtk_stats_update_mac()
706 hw_stats->rx_overflow += in mtk_stats_update_mac()
708 hw_stats->rx_fcs_errors += in mtk_stats_update_mac()
710 hw_stats->rx_short_errors += in mtk_stats_update_mac()
712 hw_stats->rx_long_errors += in mtk_stats_update_mac()
714 hw_stats->rx_checksum_errors += in mtk_stats_update_mac()
716 hw_stats->rx_flow_control_packets += in mtk_stats_update_mac()
718 hw_stats->tx_skip += in mtk_stats_update_mac()
720 hw_stats->tx_collisions += in mtk_stats_update_mac()
722 hw_stats->tx_bytes += in mtk_stats_update_mac()
726 hw_stats->tx_bytes += (stats << 32); in mtk_stats_update_mac()
727 hw_stats->tx_packets += in mtk_stats_update_mac()
731 u64_stats_update_end(&hw_stats->syncp); in mtk_stats_update_mac()
739 if (!eth->mac[i] || !eth->mac[i]->hw_stats) in mtk_stats_update()
741 if (spin_trylock(ð->mac[i]->hw_stats->stats_lock)) { in mtk_stats_update()
743 spin_unlock(ð->mac[i]->hw_stats->stats_lock); in mtk_stats_update()
752 struct mtk_hw_stats *hw_stats = mac->hw_stats; in mtk_get_stats64() local
756 if (spin_trylock_bh(&hw_stats->stats_lock)) { in mtk_get_stats64()
758 spin_unlock_bh(&hw_stats->stats_lock); in mtk_get_stats64()
763 start = u64_stats_fetch_begin_irq(&hw_stats->syncp); in mtk_get_stats64()
764 storage->rx_packets = hw_stats->rx_packets; in mtk_get_stats64()
765 storage->tx_packets = hw_stats->tx_packets; in mtk_get_stats64()
766 storage->rx_bytes = hw_stats->rx_bytes; in mtk_get_stats64()
767 storage->tx_bytes = hw_stats->tx_bytes; in mtk_get_stats64()
768 storage->collisions = hw_stats->tx_collisions; in mtk_get_stats64()
769 storage->rx_length_errors = hw_stats->rx_short_errors + in mtk_get_stats64()
770 hw_stats->rx_long_errors; in mtk_get_stats64()
771 storage->rx_over_errors = hw_stats->rx_overflow; in mtk_get_stats64()
772 storage->rx_crc_errors = hw_stats->rx_fcs_errors; in mtk_get_stats64()
773 storage->rx_errors = hw_stats->rx_checksum_errors; in mtk_get_stats64()
774 storage->tx_aborted_errors = hw_stats->tx_skip; in mtk_get_stats64()
775 } while (u64_stats_fetch_retry_irq(&hw_stats->syncp, start)); in mtk_get_stats64()
2831 struct mtk_hw_stats *hwstats = mac->hw_stats; in mtk_get_ethtool_stats()
2986 mac->hw_stats = devm_kzalloc(eth->dev, in mtk_add_mac()
2987 sizeof(*mac->hw_stats), in mtk_add_mac()
2989 if (!mac->hw_stats) { in mtk_add_mac()
2994 spin_lock_init(&mac->hw_stats->stats_lock); in mtk_add_mac()
2995 u64_stats_init(&mac->hw_stats->syncp); in mtk_add_mac()
2996 mac->hw_stats->reg_offset = id * MTK_STAT_OFFSET; in mtk_add_mac()