Linux Audio
Check our new training course
Embedded Linux Audio
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237
/* bnx2x_stats.h: Broadcom Everest network driver. * * Copyright (c) 2007-2010 Broadcom Corporation * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation. * * Maintained by: Eilon Greenstein <eilong@broadcom.com> * Written by: Eliezer Tamir * Based on code from Michael Chan's bnx2 driver * UDP CSUM errata workaround by Arik Gendelman * Slowpath and fastpath rework by Vladislav Zolotarov * Statistics and Link management by Yitchak Gertner * */ #ifndef BNX2X_STATS_H #define BNX2X_STATS_H #include <linux/types.h> struct bnx2x_eth_q_stats { u32 total_bytes_received_hi; u32 total_bytes_received_lo; u32 total_bytes_transmitted_hi; u32 total_bytes_transmitted_lo; u32 total_unicast_packets_received_hi; u32 total_unicast_packets_received_lo; u32 total_multicast_packets_received_hi; u32 total_multicast_packets_received_lo; u32 total_broadcast_packets_received_hi; u32 total_broadcast_packets_received_lo; u32 total_unicast_packets_transmitted_hi; u32 total_unicast_packets_transmitted_lo; u32 total_multicast_packets_transmitted_hi; u32 total_multicast_packets_transmitted_lo; u32 total_broadcast_packets_transmitted_hi; u32 total_broadcast_packets_transmitted_lo; u32 valid_bytes_received_hi; u32 valid_bytes_received_lo; u32 error_bytes_received_hi; u32 error_bytes_received_lo; u32 etherstatsoverrsizepkts_hi; u32 etherstatsoverrsizepkts_lo; u32 no_buff_discard_hi; u32 no_buff_discard_lo; u32 driver_xoff; u32 rx_err_discard_pkt; u32 rx_skb_alloc_failed; u32 hw_csum_err; }; #define Q_STATS_OFFSET32(stat_name) \ (offsetof(struct bnx2x_eth_q_stats, stat_name) / 4) struct nig_stats { u32 brb_discard; u32 brb_packet; u32 brb_truncate; u32 flow_ctrl_discard; u32 flow_ctrl_octets; u32 flow_ctrl_packet; u32 mng_discard; u32 mng_octet_inp; u32 mng_octet_out; u32 mng_packet_inp; u32 mng_packet_out; u32 pbf_octets; u32 pbf_packet; u32 safc_inp; u32 egress_mac_pkt0_lo; u32 egress_mac_pkt0_hi; u32 egress_mac_pkt1_lo; u32 egress_mac_pkt1_hi; }; enum bnx2x_stats_event { STATS_EVENT_PMF = 0, STATS_EVENT_LINK_UP, STATS_EVENT_UPDATE, STATS_EVENT_STOP, STATS_EVENT_MAX }; enum bnx2x_stats_state { STATS_STATE_DISABLED = 0, STATS_STATE_ENABLED, STATS_STATE_MAX }; struct bnx2x_eth_stats { u32 total_bytes_received_hi; u32 total_bytes_received_lo; u32 total_bytes_transmitted_hi; u32 total_bytes_transmitted_lo; u32 total_unicast_packets_received_hi; u32 total_unicast_packets_received_lo; u32 total_multicast_packets_received_hi; u32 total_multicast_packets_received_lo; u32 total_broadcast_packets_received_hi; u32 total_broadcast_packets_received_lo; u32 total_unicast_packets_transmitted_hi; u32 total_unicast_packets_transmitted_lo; u32 total_multicast_packets_transmitted_hi; u32 total_multicast_packets_transmitted_lo; u32 total_broadcast_packets_transmitted_hi; u32 total_broadcast_packets_transmitted_lo; u32 valid_bytes_received_hi; u32 valid_bytes_received_lo; u32 error_bytes_received_hi; u32 error_bytes_received_lo; u32 etherstatsoverrsizepkts_hi; u32 etherstatsoverrsizepkts_lo; u32 no_buff_discard_hi; u32 no_buff_discard_lo; u32 rx_stat_ifhcinbadoctets_hi; u32 rx_stat_ifhcinbadoctets_lo; u32 tx_stat_ifhcoutbadoctets_hi; u32 tx_stat_ifhcoutbadoctets_lo; u32 rx_stat_dot3statsfcserrors_hi; u32 rx_stat_dot3statsfcserrors_lo; u32 rx_stat_dot3statsalignmenterrors_hi; u32 rx_stat_dot3statsalignmenterrors_lo; u32 rx_stat_dot3statscarriersenseerrors_hi; u32 rx_stat_dot3statscarriersenseerrors_lo; u32 rx_stat_falsecarriererrors_hi; u32 rx_stat_falsecarriererrors_lo; u32 rx_stat_etherstatsundersizepkts_hi; u32 rx_stat_etherstatsundersizepkts_lo; u32 rx_stat_dot3statsframestoolong_hi; u32 rx_stat_dot3statsframestoolong_lo; u32 rx_stat_etherstatsfragments_hi; u32 rx_stat_etherstatsfragments_lo; u32 rx_stat_etherstatsjabbers_hi; u32 rx_stat_etherstatsjabbers_lo; u32 rx_stat_maccontrolframesreceived_hi; u32 rx_stat_maccontrolframesreceived_lo; u32 rx_stat_bmac_xpf_hi; u32 rx_stat_bmac_xpf_lo; u32 rx_stat_bmac_xcf_hi; u32 rx_stat_bmac_xcf_lo; u32 rx_stat_xoffstateentered_hi; u32 rx_stat_xoffstateentered_lo; u32 rx_stat_xonpauseframesreceived_hi; u32 rx_stat_xonpauseframesreceived_lo; u32 rx_stat_xoffpauseframesreceived_hi; u32 rx_stat_xoffpauseframesreceived_lo; u32 tx_stat_outxonsent_hi; u32 tx_stat_outxonsent_lo; u32 tx_stat_outxoffsent_hi; u32 tx_stat_outxoffsent_lo; u32 tx_stat_flowcontroldone_hi; u32 tx_stat_flowcontroldone_lo; u32 tx_stat_etherstatscollisions_hi; u32 tx_stat_etherstatscollisions_lo; u32 tx_stat_dot3statssinglecollisionframes_hi; u32 tx_stat_dot3statssinglecollisionframes_lo; u32 tx_stat_dot3statsmultiplecollisionframes_hi; u32 tx_stat_dot3statsmultiplecollisionframes_lo; u32 tx_stat_dot3statsdeferredtransmissions_hi; u32 tx_stat_dot3statsdeferredtransmissions_lo; u32 tx_stat_dot3statsexcessivecollisions_hi; u32 tx_stat_dot3statsexcessivecollisions_lo; u32 tx_stat_dot3statslatecollisions_hi; u32 tx_stat_dot3statslatecollisions_lo; u32 tx_stat_etherstatspkts64octets_hi; u32 tx_stat_etherstatspkts64octets_lo; u32 tx_stat_etherstatspkts65octetsto127octets_hi; u32 tx_stat_etherstatspkts65octetsto127octets_lo; u32 tx_stat_etherstatspkts128octetsto255octets_hi; u32 tx_stat_etherstatspkts128octetsto255octets_lo; u32 tx_stat_etherstatspkts256octetsto511octets_hi; u32 tx_stat_etherstatspkts256octetsto511octets_lo; u32 tx_stat_etherstatspkts512octetsto1023octets_hi; u32 tx_stat_etherstatspkts512octetsto1023octets_lo; u32 tx_stat_etherstatspkts1024octetsto1522octets_hi; u32 tx_stat_etherstatspkts1024octetsto1522octets_lo; u32 tx_stat_etherstatspktsover1522octets_hi; u32 tx_stat_etherstatspktsover1522octets_lo; u32 tx_stat_bmac_2047_hi; u32 tx_stat_bmac_2047_lo; u32 tx_stat_bmac_4095_hi; u32 tx_stat_bmac_4095_lo; u32 tx_stat_bmac_9216_hi; u32 tx_stat_bmac_9216_lo; u32 tx_stat_bmac_16383_hi; u32 tx_stat_bmac_16383_lo; u32 tx_stat_dot3statsinternalmactransmiterrors_hi; u32 tx_stat_dot3statsinternalmactransmiterrors_lo; u32 tx_stat_bmac_ufl_hi; u32 tx_stat_bmac_ufl_lo; u32 pause_frames_received_hi; u32 pause_frames_received_lo; u32 pause_frames_sent_hi; u32 pause_frames_sent_lo; u32 etherstatspkts1024octetsto1522octets_hi; u32 etherstatspkts1024octetsto1522octets_lo; u32 etherstatspktsover1522octets_hi; u32 etherstatspktsover1522octets_lo; u32 brb_drop_hi; u32 brb_drop_lo; u32 brb_truncate_hi; u32 brb_truncate_lo; u32 mac_filter_discard; u32 xxoverflow_discard; u32 brb_truncate_discard; u32 mac_discard; u32 driver_xoff; u32 rx_err_discard_pkt; u32 rx_skb_alloc_failed; u32 hw_csum_err; u32 nig_timer_max; }; #define STATS_OFFSET32(stat_name) \ (offsetof(struct bnx2x_eth_stats, stat_name) / 4) /* Forward declaration */ struct bnx2x; void bnx2x_stats_init(struct bnx2x *bp); extern const u32 dmae_reg_go_c[]; #endif /* BNX2X_STATS_H */