1*d14abf15SRobert Mustacchi 2*d14abf15SRobert Mustacchi #ifndef MAC_STATS_H 3*d14abf15SRobert Mustacchi #define MAC_STATS_H 4*d14abf15SRobert Mustacchi 5*d14abf15SRobert Mustacchi 6*d14abf15SRobert Mustacchi struct emac_stats { 7*d14abf15SRobert Mustacchi u32 rx_stat_ifhcinoctets; 8*d14abf15SRobert Mustacchi u32 rx_stat_ifhcinbadoctets; 9*d14abf15SRobert Mustacchi u32 rx_stat_etherstatsfragments; 10*d14abf15SRobert Mustacchi u32 rx_stat_ifhcinucastpkts; 11*d14abf15SRobert Mustacchi u32 rx_stat_ifhcinmulticastpkts; 12*d14abf15SRobert Mustacchi u32 rx_stat_ifhcinbroadcastpkts; 13*d14abf15SRobert Mustacchi u32 rx_stat_dot3statsfcserrors; 14*d14abf15SRobert Mustacchi u32 rx_stat_dot3statsalignmenterrors; 15*d14abf15SRobert Mustacchi u32 rx_stat_dot3statscarriersenseerrors; 16*d14abf15SRobert Mustacchi u32 rx_stat_xonpauseframesreceived; 17*d14abf15SRobert Mustacchi u32 rx_stat_xoffpauseframesreceived; 18*d14abf15SRobert Mustacchi u32 rx_stat_maccontrolframesreceived; 19*d14abf15SRobert Mustacchi u32 rx_stat_xoffstateentered; 20*d14abf15SRobert Mustacchi u32 rx_stat_dot3statsframestoolong; 21*d14abf15SRobert Mustacchi u32 rx_stat_etherstatsjabbers; 22*d14abf15SRobert Mustacchi u32 rx_stat_etherstatsundersizepkts; 23*d14abf15SRobert Mustacchi u32 rx_stat_etherstatspkts64octets; 24*d14abf15SRobert Mustacchi u32 rx_stat_etherstatspkts65octetsto127octets; 25*d14abf15SRobert Mustacchi u32 rx_stat_etherstatspkts128octetsto255octets; 26*d14abf15SRobert Mustacchi u32 rx_stat_etherstatspkts256octetsto511octets; 27*d14abf15SRobert Mustacchi u32 rx_stat_etherstatspkts512octetsto1023octets; 28*d14abf15SRobert Mustacchi u32 rx_stat_etherstatspkts1024octetsto1522octets; 29*d14abf15SRobert Mustacchi u32 rx_stat_etherstatspktsover1522octets; 30*d14abf15SRobert Mustacchi 31*d14abf15SRobert Mustacchi u32 rx_stat_falsecarriererrors; 32*d14abf15SRobert Mustacchi 33*d14abf15SRobert Mustacchi u32 tx_stat_ifhcoutoctets; 34*d14abf15SRobert Mustacchi u32 tx_stat_ifhcoutbadoctets; 35*d14abf15SRobert Mustacchi u32 tx_stat_etherstatscollisions; 36*d14abf15SRobert Mustacchi u32 tx_stat_outxonsent; 37*d14abf15SRobert Mustacchi u32 tx_stat_outxoffsent; 38*d14abf15SRobert Mustacchi u32 tx_stat_flowcontroldone; 39*d14abf15SRobert Mustacchi u32 tx_stat_dot3statssinglecollisionframes; 40*d14abf15SRobert Mustacchi u32 tx_stat_dot3statsmultiplecollisionframes; 41*d14abf15SRobert Mustacchi u32 tx_stat_dot3statsdeferredtransmissions; 42*d14abf15SRobert Mustacchi u32 tx_stat_dot3statsexcessivecollisions; 43*d14abf15SRobert Mustacchi u32 tx_stat_dot3statslatecollisions; 44*d14abf15SRobert Mustacchi u32 tx_stat_ifhcoutucastpkts; 45*d14abf15SRobert Mustacchi u32 tx_stat_ifhcoutmulticastpkts; 46*d14abf15SRobert Mustacchi u32 tx_stat_ifhcoutbroadcastpkts; 47*d14abf15SRobert Mustacchi u32 tx_stat_etherstatspkts64octets; 48*d14abf15SRobert Mustacchi u32 tx_stat_etherstatspkts65octetsto127octets; 49*d14abf15SRobert Mustacchi u32 tx_stat_etherstatspkts128octetsto255octets; 50*d14abf15SRobert Mustacchi u32 tx_stat_etherstatspkts256octetsto511octets; 51*d14abf15SRobert Mustacchi u32 tx_stat_etherstatspkts512octetsto1023octets; 52*d14abf15SRobert Mustacchi u32 tx_stat_etherstatspkts1024octetsto1522octets; 53*d14abf15SRobert Mustacchi u32 tx_stat_etherstatspktsover1522octets; 54*d14abf15SRobert Mustacchi u32 tx_stat_dot3statsinternalmactransmiterrors; 55*d14abf15SRobert Mustacchi }; 56*d14abf15SRobert Mustacchi 57*d14abf15SRobert Mustacchi 58*d14abf15SRobert Mustacchi struct bmac1_stats { 59*d14abf15SRobert Mustacchi u32 tx_stat_gtpkt_lo; 60*d14abf15SRobert Mustacchi u32 tx_stat_gtpkt_hi; 61*d14abf15SRobert Mustacchi u32 tx_stat_gtxpf_lo; 62*d14abf15SRobert Mustacchi u32 tx_stat_gtxpf_hi; 63*d14abf15SRobert Mustacchi u32 tx_stat_gtfcs_lo; 64*d14abf15SRobert Mustacchi u32 tx_stat_gtfcs_hi; 65*d14abf15SRobert Mustacchi u32 tx_stat_gtmca_lo; 66*d14abf15SRobert Mustacchi u32 tx_stat_gtmca_hi; 67*d14abf15SRobert Mustacchi u32 tx_stat_gtbca_lo; 68*d14abf15SRobert Mustacchi u32 tx_stat_gtbca_hi; 69*d14abf15SRobert Mustacchi u32 tx_stat_gtfrg_lo; 70*d14abf15SRobert Mustacchi u32 tx_stat_gtfrg_hi; 71*d14abf15SRobert Mustacchi u32 tx_stat_gtovr_lo; 72*d14abf15SRobert Mustacchi u32 tx_stat_gtovr_hi; 73*d14abf15SRobert Mustacchi u32 tx_stat_gt64_lo; 74*d14abf15SRobert Mustacchi u32 tx_stat_gt64_hi; 75*d14abf15SRobert Mustacchi u32 tx_stat_gt127_lo; 76*d14abf15SRobert Mustacchi u32 tx_stat_gt127_hi; 77*d14abf15SRobert Mustacchi u32 tx_stat_gt255_lo; 78*d14abf15SRobert Mustacchi u32 tx_stat_gt255_hi; 79*d14abf15SRobert Mustacchi u32 tx_stat_gt511_lo; 80*d14abf15SRobert Mustacchi u32 tx_stat_gt511_hi; 81*d14abf15SRobert Mustacchi u32 tx_stat_gt1023_lo; 82*d14abf15SRobert Mustacchi u32 tx_stat_gt1023_hi; 83*d14abf15SRobert Mustacchi u32 tx_stat_gt1518_lo; 84*d14abf15SRobert Mustacchi u32 tx_stat_gt1518_hi; 85*d14abf15SRobert Mustacchi u32 tx_stat_gt2047_lo; 86*d14abf15SRobert Mustacchi u32 tx_stat_gt2047_hi; 87*d14abf15SRobert Mustacchi u32 tx_stat_gt4095_lo; 88*d14abf15SRobert Mustacchi u32 tx_stat_gt4095_hi; 89*d14abf15SRobert Mustacchi u32 tx_stat_gt9216_lo; 90*d14abf15SRobert Mustacchi u32 tx_stat_gt9216_hi; 91*d14abf15SRobert Mustacchi u32 tx_stat_gt16383_lo; 92*d14abf15SRobert Mustacchi u32 tx_stat_gt16383_hi; 93*d14abf15SRobert Mustacchi u32 tx_stat_gtmax_lo; 94*d14abf15SRobert Mustacchi u32 tx_stat_gtmax_hi; 95*d14abf15SRobert Mustacchi u32 tx_stat_gtufl_lo; 96*d14abf15SRobert Mustacchi u32 tx_stat_gtufl_hi; 97*d14abf15SRobert Mustacchi u32 tx_stat_gterr_lo; 98*d14abf15SRobert Mustacchi u32 tx_stat_gterr_hi; 99*d14abf15SRobert Mustacchi u32 tx_stat_gtbyt_lo; 100*d14abf15SRobert Mustacchi u32 tx_stat_gtbyt_hi; 101*d14abf15SRobert Mustacchi 102*d14abf15SRobert Mustacchi u32 rx_stat_gr64_lo; 103*d14abf15SRobert Mustacchi u32 rx_stat_gr64_hi; 104*d14abf15SRobert Mustacchi u32 rx_stat_gr127_lo; 105*d14abf15SRobert Mustacchi u32 rx_stat_gr127_hi; 106*d14abf15SRobert Mustacchi u32 rx_stat_gr255_lo; 107*d14abf15SRobert Mustacchi u32 rx_stat_gr255_hi; 108*d14abf15SRobert Mustacchi u32 rx_stat_gr511_lo; 109*d14abf15SRobert Mustacchi u32 rx_stat_gr511_hi; 110*d14abf15SRobert Mustacchi u32 rx_stat_gr1023_lo; 111*d14abf15SRobert Mustacchi u32 rx_stat_gr1023_hi; 112*d14abf15SRobert Mustacchi u32 rx_stat_gr1518_lo; 113*d14abf15SRobert Mustacchi u32 rx_stat_gr1518_hi; 114*d14abf15SRobert Mustacchi u32 rx_stat_gr2047_lo; 115*d14abf15SRobert Mustacchi u32 rx_stat_gr2047_hi; 116*d14abf15SRobert Mustacchi u32 rx_stat_gr4095_lo; 117*d14abf15SRobert Mustacchi u32 rx_stat_gr4095_hi; 118*d14abf15SRobert Mustacchi u32 rx_stat_gr9216_lo; 119*d14abf15SRobert Mustacchi u32 rx_stat_gr9216_hi; 120*d14abf15SRobert Mustacchi u32 rx_stat_gr16383_lo; 121*d14abf15SRobert Mustacchi u32 rx_stat_gr16383_hi; 122*d14abf15SRobert Mustacchi u32 rx_stat_grmax_lo; 123*d14abf15SRobert Mustacchi u32 rx_stat_grmax_hi; 124*d14abf15SRobert Mustacchi u32 rx_stat_grpkt_lo; 125*d14abf15SRobert Mustacchi u32 rx_stat_grpkt_hi; 126*d14abf15SRobert Mustacchi u32 rx_stat_grfcs_lo; 127*d14abf15SRobert Mustacchi u32 rx_stat_grfcs_hi; 128*d14abf15SRobert Mustacchi u32 rx_stat_grmca_lo; 129*d14abf15SRobert Mustacchi u32 rx_stat_grmca_hi; 130*d14abf15SRobert Mustacchi u32 rx_stat_grbca_lo; 131*d14abf15SRobert Mustacchi u32 rx_stat_grbca_hi; 132*d14abf15SRobert Mustacchi u32 rx_stat_grxcf_lo; 133*d14abf15SRobert Mustacchi u32 rx_stat_grxcf_hi; 134*d14abf15SRobert Mustacchi u32 rx_stat_grxpf_lo; 135*d14abf15SRobert Mustacchi u32 rx_stat_grxpf_hi; 136*d14abf15SRobert Mustacchi u32 rx_stat_grxuo_lo; 137*d14abf15SRobert Mustacchi u32 rx_stat_grxuo_hi; 138*d14abf15SRobert Mustacchi u32 rx_stat_grjbr_lo; 139*d14abf15SRobert Mustacchi u32 rx_stat_grjbr_hi; 140*d14abf15SRobert Mustacchi u32 rx_stat_grovr_lo; 141*d14abf15SRobert Mustacchi u32 rx_stat_grovr_hi; 142*d14abf15SRobert Mustacchi u32 rx_stat_grflr_lo; 143*d14abf15SRobert Mustacchi u32 rx_stat_grflr_hi; 144*d14abf15SRobert Mustacchi u32 rx_stat_grmeg_lo; 145*d14abf15SRobert Mustacchi u32 rx_stat_grmeg_hi; 146*d14abf15SRobert Mustacchi u32 rx_stat_grmeb_lo; 147*d14abf15SRobert Mustacchi u32 rx_stat_grmeb_hi; 148*d14abf15SRobert Mustacchi u32 rx_stat_grbyt_lo; 149*d14abf15SRobert Mustacchi u32 rx_stat_grbyt_hi; 150*d14abf15SRobert Mustacchi u32 rx_stat_grund_lo; 151*d14abf15SRobert Mustacchi u32 rx_stat_grund_hi; 152*d14abf15SRobert Mustacchi u32 rx_stat_grfrg_lo; 153*d14abf15SRobert Mustacchi u32 rx_stat_grfrg_hi; 154*d14abf15SRobert Mustacchi u32 rx_stat_grerb_lo; 155*d14abf15SRobert Mustacchi u32 rx_stat_grerb_hi; 156*d14abf15SRobert Mustacchi u32 rx_stat_grfre_lo; 157*d14abf15SRobert Mustacchi u32 rx_stat_grfre_hi; 158*d14abf15SRobert Mustacchi u32 rx_stat_gripj_lo; 159*d14abf15SRobert Mustacchi u32 rx_stat_gripj_hi; 160*d14abf15SRobert Mustacchi }; 161*d14abf15SRobert Mustacchi 162*d14abf15SRobert Mustacchi struct bmac2_stats { 163*d14abf15SRobert Mustacchi u32 tx_stat_gtpk_lo; /* gtpok */ 164*d14abf15SRobert Mustacchi u32 tx_stat_gtpk_hi; /* gtpok */ 165*d14abf15SRobert Mustacchi u32 tx_stat_gtxpf_lo; /* gtpf */ 166*d14abf15SRobert Mustacchi u32 tx_stat_gtxpf_hi; /* gtpf */ 167*d14abf15SRobert Mustacchi u32 tx_stat_gtpp_lo; /* NEW BMAC2 */ 168*d14abf15SRobert Mustacchi u32 tx_stat_gtpp_hi; /* NEW BMAC2 */ 169*d14abf15SRobert Mustacchi u32 tx_stat_gtfcs_lo; 170*d14abf15SRobert Mustacchi u32 tx_stat_gtfcs_hi; 171*d14abf15SRobert Mustacchi u32 tx_stat_gtuca_lo; /* NEW BMAC2 */ 172*d14abf15SRobert Mustacchi u32 tx_stat_gtuca_hi; /* NEW BMAC2 */ 173*d14abf15SRobert Mustacchi u32 tx_stat_gtmca_lo; 174*d14abf15SRobert Mustacchi u32 tx_stat_gtmca_hi; 175*d14abf15SRobert Mustacchi u32 tx_stat_gtbca_lo; 176*d14abf15SRobert Mustacchi u32 tx_stat_gtbca_hi; 177*d14abf15SRobert Mustacchi u32 tx_stat_gtovr_lo; 178*d14abf15SRobert Mustacchi u32 tx_stat_gtovr_hi; 179*d14abf15SRobert Mustacchi u32 tx_stat_gtfrg_lo; 180*d14abf15SRobert Mustacchi u32 tx_stat_gtfrg_hi; 181*d14abf15SRobert Mustacchi u32 tx_stat_gtpkt1_lo; /* gtpkt */ 182*d14abf15SRobert Mustacchi u32 tx_stat_gtpkt1_hi; /* gtpkt */ 183*d14abf15SRobert Mustacchi u32 tx_stat_gt64_lo; 184*d14abf15SRobert Mustacchi u32 tx_stat_gt64_hi; 185*d14abf15SRobert Mustacchi u32 tx_stat_gt127_lo; 186*d14abf15SRobert Mustacchi u32 tx_stat_gt127_hi; 187*d14abf15SRobert Mustacchi u32 tx_stat_gt255_lo; 188*d14abf15SRobert Mustacchi u32 tx_stat_gt255_hi; 189*d14abf15SRobert Mustacchi u32 tx_stat_gt511_lo; 190*d14abf15SRobert Mustacchi u32 tx_stat_gt511_hi; 191*d14abf15SRobert Mustacchi u32 tx_stat_gt1023_lo; 192*d14abf15SRobert Mustacchi u32 tx_stat_gt1023_hi; 193*d14abf15SRobert Mustacchi u32 tx_stat_gt1518_lo; 194*d14abf15SRobert Mustacchi u32 tx_stat_gt1518_hi; 195*d14abf15SRobert Mustacchi u32 tx_stat_gt2047_lo; 196*d14abf15SRobert Mustacchi u32 tx_stat_gt2047_hi; 197*d14abf15SRobert Mustacchi u32 tx_stat_gt4095_lo; 198*d14abf15SRobert Mustacchi u32 tx_stat_gt4095_hi; 199*d14abf15SRobert Mustacchi u32 tx_stat_gt9216_lo; 200*d14abf15SRobert Mustacchi u32 tx_stat_gt9216_hi; 201*d14abf15SRobert Mustacchi u32 tx_stat_gt16383_lo; 202*d14abf15SRobert Mustacchi u32 tx_stat_gt16383_hi; 203*d14abf15SRobert Mustacchi u32 tx_stat_gtmax_lo; 204*d14abf15SRobert Mustacchi u32 tx_stat_gtmax_hi; 205*d14abf15SRobert Mustacchi u32 tx_stat_gtufl_lo; 206*d14abf15SRobert Mustacchi u32 tx_stat_gtufl_hi; 207*d14abf15SRobert Mustacchi u32 tx_stat_gterr_lo; 208*d14abf15SRobert Mustacchi u32 tx_stat_gterr_hi; 209*d14abf15SRobert Mustacchi u32 tx_stat_gtbyt_lo; 210*d14abf15SRobert Mustacchi u32 tx_stat_gtbyt_hi; 211*d14abf15SRobert Mustacchi 212*d14abf15SRobert Mustacchi u32 rx_stat_gr64_lo; 213*d14abf15SRobert Mustacchi u32 rx_stat_gr64_hi; 214*d14abf15SRobert Mustacchi u32 rx_stat_gr127_lo; 215*d14abf15SRobert Mustacchi u32 rx_stat_gr127_hi; 216*d14abf15SRobert Mustacchi u32 rx_stat_gr255_lo; 217*d14abf15SRobert Mustacchi u32 rx_stat_gr255_hi; 218*d14abf15SRobert Mustacchi u32 rx_stat_gr511_lo; 219*d14abf15SRobert Mustacchi u32 rx_stat_gr511_hi; 220*d14abf15SRobert Mustacchi u32 rx_stat_gr1023_lo; 221*d14abf15SRobert Mustacchi u32 rx_stat_gr1023_hi; 222*d14abf15SRobert Mustacchi u32 rx_stat_gr1518_lo; 223*d14abf15SRobert Mustacchi u32 rx_stat_gr1518_hi; 224*d14abf15SRobert Mustacchi u32 rx_stat_gr2047_lo; 225*d14abf15SRobert Mustacchi u32 rx_stat_gr2047_hi; 226*d14abf15SRobert Mustacchi u32 rx_stat_gr4095_lo; 227*d14abf15SRobert Mustacchi u32 rx_stat_gr4095_hi; 228*d14abf15SRobert Mustacchi u32 rx_stat_gr9216_lo; 229*d14abf15SRobert Mustacchi u32 rx_stat_gr9216_hi; 230*d14abf15SRobert Mustacchi u32 rx_stat_gr16383_lo; 231*d14abf15SRobert Mustacchi u32 rx_stat_gr16383_hi; 232*d14abf15SRobert Mustacchi u32 rx_stat_grmax_lo; 233*d14abf15SRobert Mustacchi u32 rx_stat_grmax_hi; 234*d14abf15SRobert Mustacchi u32 rx_stat_grpkt_lo; 235*d14abf15SRobert Mustacchi u32 rx_stat_grpkt_hi; 236*d14abf15SRobert Mustacchi u32 rx_stat_grfcs_lo; 237*d14abf15SRobert Mustacchi u32 rx_stat_grfcs_hi; 238*d14abf15SRobert Mustacchi u32 rx_stat_gruca_lo; 239*d14abf15SRobert Mustacchi u32 rx_stat_gruca_hi; 240*d14abf15SRobert Mustacchi u32 rx_stat_grmca_lo; 241*d14abf15SRobert Mustacchi u32 rx_stat_grmca_hi; 242*d14abf15SRobert Mustacchi u32 rx_stat_grbca_lo; 243*d14abf15SRobert Mustacchi u32 rx_stat_grbca_hi; 244*d14abf15SRobert Mustacchi u32 rx_stat_grxpf_lo; /* grpf */ 245*d14abf15SRobert Mustacchi u32 rx_stat_grxpf_hi; /* grpf */ 246*d14abf15SRobert Mustacchi u32 rx_stat_grpp_lo; 247*d14abf15SRobert Mustacchi u32 rx_stat_grpp_hi; 248*d14abf15SRobert Mustacchi u32 rx_stat_grxuo_lo; /* gruo */ 249*d14abf15SRobert Mustacchi u32 rx_stat_grxuo_hi; /* gruo */ 250*d14abf15SRobert Mustacchi u32 rx_stat_grjbr_lo; 251*d14abf15SRobert Mustacchi u32 rx_stat_grjbr_hi; 252*d14abf15SRobert Mustacchi u32 rx_stat_grovr_lo; 253*d14abf15SRobert Mustacchi u32 rx_stat_grovr_hi; 254*d14abf15SRobert Mustacchi u32 rx_stat_grxcf_lo; /* grcf */ 255*d14abf15SRobert Mustacchi u32 rx_stat_grxcf_hi; /* grcf */ 256*d14abf15SRobert Mustacchi u32 rx_stat_grflr_lo; 257*d14abf15SRobert Mustacchi u32 rx_stat_grflr_hi; 258*d14abf15SRobert Mustacchi u32 rx_stat_grpok_lo; 259*d14abf15SRobert Mustacchi u32 rx_stat_grpok_hi; 260*d14abf15SRobert Mustacchi u32 rx_stat_grmeg_lo; 261*d14abf15SRobert Mustacchi u32 rx_stat_grmeg_hi; 262*d14abf15SRobert Mustacchi u32 rx_stat_grmeb_lo; 263*d14abf15SRobert Mustacchi u32 rx_stat_grmeb_hi; 264*d14abf15SRobert Mustacchi u32 rx_stat_grbyt_lo; 265*d14abf15SRobert Mustacchi u32 rx_stat_grbyt_hi; 266*d14abf15SRobert Mustacchi u32 rx_stat_grund_lo; 267*d14abf15SRobert Mustacchi u32 rx_stat_grund_hi; 268*d14abf15SRobert Mustacchi u32 rx_stat_grfrg_lo; 269*d14abf15SRobert Mustacchi u32 rx_stat_grfrg_hi; 270*d14abf15SRobert Mustacchi u32 rx_stat_grerb_lo; /* grerrbyt */ 271*d14abf15SRobert Mustacchi u32 rx_stat_grerb_hi; /* grerrbyt */ 272*d14abf15SRobert Mustacchi u32 rx_stat_grfre_lo; /* grfrerr */ 273*d14abf15SRobert Mustacchi u32 rx_stat_grfre_hi; /* grfrerr */ 274*d14abf15SRobert Mustacchi u32 rx_stat_gripj_lo; 275*d14abf15SRobert Mustacchi u32 rx_stat_gripj_hi; 276*d14abf15SRobert Mustacchi }; 277*d14abf15SRobert Mustacchi 278*d14abf15SRobert Mustacchi struct mstat_stats { 279*d14abf15SRobert Mustacchi struct { 280*d14abf15SRobert Mustacchi /* OTE MSTAT on E3 has a bug where this register's contents are 281*d14abf15SRobert Mustacchi * actually tx_gtxpok + tx_gtxpf + (possibly)tx_gtxpp 282*d14abf15SRobert Mustacchi */ 283*d14abf15SRobert Mustacchi u32 tx_gtxpok_lo; 284*d14abf15SRobert Mustacchi u32 tx_gtxpok_hi; 285*d14abf15SRobert Mustacchi u32 tx_gtxpf_lo; 286*d14abf15SRobert Mustacchi u32 tx_gtxpf_hi; 287*d14abf15SRobert Mustacchi u32 tx_gtxpp_lo; 288*d14abf15SRobert Mustacchi u32 tx_gtxpp_hi; 289*d14abf15SRobert Mustacchi u32 tx_gtfcs_lo; 290*d14abf15SRobert Mustacchi u32 tx_gtfcs_hi; 291*d14abf15SRobert Mustacchi u32 tx_gtuca_lo; 292*d14abf15SRobert Mustacchi u32 tx_gtuca_hi; 293*d14abf15SRobert Mustacchi u32 tx_gtmca_lo; 294*d14abf15SRobert Mustacchi u32 tx_gtmca_hi; 295*d14abf15SRobert Mustacchi u32 tx_gtgca_lo; 296*d14abf15SRobert Mustacchi u32 tx_gtgca_hi; 297*d14abf15SRobert Mustacchi u32 tx_gtpkt_lo; 298*d14abf15SRobert Mustacchi u32 tx_gtpkt_hi; 299*d14abf15SRobert Mustacchi u32 tx_gt64_lo; 300*d14abf15SRobert Mustacchi u32 tx_gt64_hi; 301*d14abf15SRobert Mustacchi u32 tx_gt127_lo; 302*d14abf15SRobert Mustacchi u32 tx_gt127_hi; 303*d14abf15SRobert Mustacchi u32 tx_gt255_lo; 304*d14abf15SRobert Mustacchi u32 tx_gt255_hi; 305*d14abf15SRobert Mustacchi u32 tx_gt511_lo; 306*d14abf15SRobert Mustacchi u32 tx_gt511_hi; 307*d14abf15SRobert Mustacchi u32 tx_gt1023_lo; 308*d14abf15SRobert Mustacchi u32 tx_gt1023_hi; 309*d14abf15SRobert Mustacchi u32 tx_gt1518_lo; 310*d14abf15SRobert Mustacchi u32 tx_gt1518_hi; 311*d14abf15SRobert Mustacchi u32 tx_gt2047_lo; 312*d14abf15SRobert Mustacchi u32 tx_gt2047_hi; 313*d14abf15SRobert Mustacchi u32 tx_gt4095_lo; 314*d14abf15SRobert Mustacchi u32 tx_gt4095_hi; 315*d14abf15SRobert Mustacchi u32 tx_gt9216_lo; 316*d14abf15SRobert Mustacchi u32 tx_gt9216_hi; 317*d14abf15SRobert Mustacchi u32 tx_gt16383_lo; 318*d14abf15SRobert Mustacchi u32 tx_gt16383_hi; 319*d14abf15SRobert Mustacchi u32 tx_gtufl_lo; 320*d14abf15SRobert Mustacchi u32 tx_gtufl_hi; 321*d14abf15SRobert Mustacchi u32 tx_gterr_lo; 322*d14abf15SRobert Mustacchi u32 tx_gterr_hi; 323*d14abf15SRobert Mustacchi u32 tx_gtbyt_lo; 324*d14abf15SRobert Mustacchi u32 tx_gtbyt_hi; 325*d14abf15SRobert Mustacchi u32 tx_collisions_lo; 326*d14abf15SRobert Mustacchi u32 tx_collisions_hi; 327*d14abf15SRobert Mustacchi u32 tx_singlecollision_lo; 328*d14abf15SRobert Mustacchi u32 tx_singlecollision_hi; 329*d14abf15SRobert Mustacchi u32 tx_multiplecollisions_lo; 330*d14abf15SRobert Mustacchi u32 tx_multiplecollisions_hi; 331*d14abf15SRobert Mustacchi u32 tx_deferred_lo; 332*d14abf15SRobert Mustacchi u32 tx_deferred_hi; 333*d14abf15SRobert Mustacchi u32 tx_excessivecollisions_lo; 334*d14abf15SRobert Mustacchi u32 tx_excessivecollisions_hi; 335*d14abf15SRobert Mustacchi u32 tx_latecollisions_lo; 336*d14abf15SRobert Mustacchi u32 tx_latecollisions_hi; 337*d14abf15SRobert Mustacchi } stats_tx; 338*d14abf15SRobert Mustacchi 339*d14abf15SRobert Mustacchi struct { 340*d14abf15SRobert Mustacchi u32 rx_gr64_lo; 341*d14abf15SRobert Mustacchi u32 rx_gr64_hi; 342*d14abf15SRobert Mustacchi u32 rx_gr127_lo; 343*d14abf15SRobert Mustacchi u32 rx_gr127_hi; 344*d14abf15SRobert Mustacchi u32 rx_gr255_lo; 345*d14abf15SRobert Mustacchi u32 rx_gr255_hi; 346*d14abf15SRobert Mustacchi u32 rx_gr511_lo; 347*d14abf15SRobert Mustacchi u32 rx_gr511_hi; 348*d14abf15SRobert Mustacchi u32 rx_gr1023_lo; 349*d14abf15SRobert Mustacchi u32 rx_gr1023_hi; 350*d14abf15SRobert Mustacchi u32 rx_gr1518_lo; 351*d14abf15SRobert Mustacchi u32 rx_gr1518_hi; 352*d14abf15SRobert Mustacchi u32 rx_gr2047_lo; 353*d14abf15SRobert Mustacchi u32 rx_gr2047_hi; 354*d14abf15SRobert Mustacchi u32 rx_gr4095_lo; 355*d14abf15SRobert Mustacchi u32 rx_gr4095_hi; 356*d14abf15SRobert Mustacchi u32 rx_gr9216_lo; 357*d14abf15SRobert Mustacchi u32 rx_gr9216_hi; 358*d14abf15SRobert Mustacchi u32 rx_gr16383_lo; 359*d14abf15SRobert Mustacchi u32 rx_gr16383_hi; 360*d14abf15SRobert Mustacchi u32 rx_grpkt_lo; 361*d14abf15SRobert Mustacchi u32 rx_grpkt_hi; 362*d14abf15SRobert Mustacchi u32 rx_grfcs_lo; 363*d14abf15SRobert Mustacchi u32 rx_grfcs_hi; 364*d14abf15SRobert Mustacchi u32 rx_gruca_lo; 365*d14abf15SRobert Mustacchi u32 rx_gruca_hi; 366*d14abf15SRobert Mustacchi u32 rx_grmca_lo; 367*d14abf15SRobert Mustacchi u32 rx_grmca_hi; 368*d14abf15SRobert Mustacchi u32 rx_grbca_lo; 369*d14abf15SRobert Mustacchi u32 rx_grbca_hi; 370*d14abf15SRobert Mustacchi u32 rx_grxpf_lo; 371*d14abf15SRobert Mustacchi u32 rx_grxpf_hi; 372*d14abf15SRobert Mustacchi u32 rx_grxpp_lo; 373*d14abf15SRobert Mustacchi u32 rx_grxpp_hi; 374*d14abf15SRobert Mustacchi u32 rx_grxuo_lo; 375*d14abf15SRobert Mustacchi u32 rx_grxuo_hi; 376*d14abf15SRobert Mustacchi u32 rx_grovr_lo; 377*d14abf15SRobert Mustacchi u32 rx_grovr_hi; 378*d14abf15SRobert Mustacchi u32 rx_grxcf_lo; 379*d14abf15SRobert Mustacchi u32 rx_grxcf_hi; 380*d14abf15SRobert Mustacchi u32 rx_grflr_lo; 381*d14abf15SRobert Mustacchi u32 rx_grflr_hi; 382*d14abf15SRobert Mustacchi u32 rx_grpok_lo; 383*d14abf15SRobert Mustacchi u32 rx_grpok_hi; 384*d14abf15SRobert Mustacchi u32 rx_grbyt_lo; 385*d14abf15SRobert Mustacchi u32 rx_grbyt_hi; 386*d14abf15SRobert Mustacchi u32 rx_grund_lo; 387*d14abf15SRobert Mustacchi u32 rx_grund_hi; 388*d14abf15SRobert Mustacchi u32 rx_grfrg_lo; 389*d14abf15SRobert Mustacchi u32 rx_grfrg_hi; 390*d14abf15SRobert Mustacchi u32 rx_grerb_lo; 391*d14abf15SRobert Mustacchi u32 rx_grerb_hi; 392*d14abf15SRobert Mustacchi u32 rx_grfre_lo; 393*d14abf15SRobert Mustacchi u32 rx_grfre_hi; 394*d14abf15SRobert Mustacchi 395*d14abf15SRobert Mustacchi u32 rx_alignmenterrors_lo; 396*d14abf15SRobert Mustacchi u32 rx_alignmenterrors_hi; 397*d14abf15SRobert Mustacchi u32 rx_falsecarrier_lo; 398*d14abf15SRobert Mustacchi u32 rx_falsecarrier_hi; 399*d14abf15SRobert Mustacchi u32 rx_llfcmsgcnt_lo; 400*d14abf15SRobert Mustacchi u32 rx_llfcmsgcnt_hi; 401*d14abf15SRobert Mustacchi } stats_rx; 402*d14abf15SRobert Mustacchi }; 403*d14abf15SRobert Mustacchi 404*d14abf15SRobert Mustacchi union mac_stats { 405*d14abf15SRobert Mustacchi struct emac_stats emac_stats; 406*d14abf15SRobert Mustacchi struct bmac1_stats bmac1_stats; 407*d14abf15SRobert Mustacchi struct bmac2_stats bmac2_stats; 408*d14abf15SRobert Mustacchi struct mstat_stats mstat_stats; 409*d14abf15SRobert Mustacchi }; 410*d14abf15SRobert Mustacchi 411*d14abf15SRobert Mustacchi 412*d14abf15SRobert Mustacchi struct mac_stx { 413*d14abf15SRobert Mustacchi /* in_bad_octets */ 414*d14abf15SRobert Mustacchi u32 rx_stat_ifhcinbadoctets_hi; 415*d14abf15SRobert Mustacchi u32 rx_stat_ifhcinbadoctets_lo; 416*d14abf15SRobert Mustacchi 417*d14abf15SRobert Mustacchi /* out_bad_octets */ 418*d14abf15SRobert Mustacchi u32 tx_stat_ifhcoutbadoctets_hi; 419*d14abf15SRobert Mustacchi u32 tx_stat_ifhcoutbadoctets_lo; 420*d14abf15SRobert Mustacchi 421*d14abf15SRobert Mustacchi /* crc_receive_errors */ 422*d14abf15SRobert Mustacchi u32 rx_stat_dot3statsfcserrors_hi; 423*d14abf15SRobert Mustacchi u32 rx_stat_dot3statsfcserrors_lo; 424*d14abf15SRobert Mustacchi /* alignment_errors */ 425*d14abf15SRobert Mustacchi u32 rx_stat_dot3statsalignmenterrors_hi; 426*d14abf15SRobert Mustacchi u32 rx_stat_dot3statsalignmenterrors_lo; 427*d14abf15SRobert Mustacchi /* carrier_sense_errors */ 428*d14abf15SRobert Mustacchi u32 rx_stat_dot3statscarriersenseerrors_hi; 429*d14abf15SRobert Mustacchi u32 rx_stat_dot3statscarriersenseerrors_lo; 430*d14abf15SRobert Mustacchi /* false_carrier_detections */ 431*d14abf15SRobert Mustacchi u32 rx_stat_falsecarriererrors_hi; 432*d14abf15SRobert Mustacchi u32 rx_stat_falsecarriererrors_lo; 433*d14abf15SRobert Mustacchi 434*d14abf15SRobert Mustacchi /* runt_packets_received */ 435*d14abf15SRobert Mustacchi u32 rx_stat_etherstatsundersizepkts_hi; 436*d14abf15SRobert Mustacchi u32 rx_stat_etherstatsundersizepkts_lo; 437*d14abf15SRobert Mustacchi /* jabber_packets_received */ 438*d14abf15SRobert Mustacchi u32 rx_stat_dot3statsframestoolong_hi; 439*d14abf15SRobert Mustacchi u32 rx_stat_dot3statsframestoolong_lo; 440*d14abf15SRobert Mustacchi 441*d14abf15SRobert Mustacchi /* error_runt_packets_received */ 442*d14abf15SRobert Mustacchi u32 rx_stat_etherstatsfragments_hi; 443*d14abf15SRobert Mustacchi u32 rx_stat_etherstatsfragments_lo; 444*d14abf15SRobert Mustacchi /* error_jabber_packets_received */ 445*d14abf15SRobert Mustacchi u32 rx_stat_etherstatsjabbers_hi; 446*d14abf15SRobert Mustacchi u32 rx_stat_etherstatsjabbers_lo; 447*d14abf15SRobert Mustacchi 448*d14abf15SRobert Mustacchi /* control_frames_received */ 449*d14abf15SRobert Mustacchi u32 rx_stat_maccontrolframesreceived_hi; 450*d14abf15SRobert Mustacchi u32 rx_stat_maccontrolframesreceived_lo; 451*d14abf15SRobert Mustacchi u32 rx_stat_mac_xpf_hi; 452*d14abf15SRobert Mustacchi u32 rx_stat_mac_xpf_lo; 453*d14abf15SRobert Mustacchi u32 rx_stat_mac_xcf_hi; 454*d14abf15SRobert Mustacchi u32 rx_stat_mac_xcf_lo; 455*d14abf15SRobert Mustacchi 456*d14abf15SRobert Mustacchi /* xoff_state_entered */ 457*d14abf15SRobert Mustacchi u32 rx_stat_xoffstateentered_hi; 458*d14abf15SRobert Mustacchi u32 rx_stat_xoffstateentered_lo; 459*d14abf15SRobert Mustacchi /* pause_xon_frames_received */ 460*d14abf15SRobert Mustacchi u32 rx_stat_xonpauseframesreceived_hi; 461*d14abf15SRobert Mustacchi u32 rx_stat_xonpauseframesreceived_lo; 462*d14abf15SRobert Mustacchi /* pause_xoff_frames_received */ 463*d14abf15SRobert Mustacchi u32 rx_stat_xoffpauseframesreceived_hi; 464*d14abf15SRobert Mustacchi u32 rx_stat_xoffpauseframesreceived_lo; 465*d14abf15SRobert Mustacchi /* pause_xon_frames_transmitted */ 466*d14abf15SRobert Mustacchi u32 tx_stat_outxonsent_hi; 467*d14abf15SRobert Mustacchi u32 tx_stat_outxonsent_lo; 468*d14abf15SRobert Mustacchi /* pause_xoff_frames_transmitted */ 469*d14abf15SRobert Mustacchi u32 tx_stat_outxoffsent_hi; 470*d14abf15SRobert Mustacchi u32 tx_stat_outxoffsent_lo; 471*d14abf15SRobert Mustacchi /* flow_control_done */ 472*d14abf15SRobert Mustacchi u32 tx_stat_flowcontroldone_hi; 473*d14abf15SRobert Mustacchi u32 tx_stat_flowcontroldone_lo; 474*d14abf15SRobert Mustacchi 475*d14abf15SRobert Mustacchi /* ether_stats_collisions */ 476*d14abf15SRobert Mustacchi u32 tx_stat_etherstatscollisions_hi; 477*d14abf15SRobert Mustacchi u32 tx_stat_etherstatscollisions_lo; 478*d14abf15SRobert Mustacchi /* single_collision_transmit_frames */ 479*d14abf15SRobert Mustacchi u32 tx_stat_dot3statssinglecollisionframes_hi; 480*d14abf15SRobert Mustacchi u32 tx_stat_dot3statssinglecollisionframes_lo; 481*d14abf15SRobert Mustacchi /* multiple_collision_transmit_frames */ 482*d14abf15SRobert Mustacchi u32 tx_stat_dot3statsmultiplecollisionframes_hi; 483*d14abf15SRobert Mustacchi u32 tx_stat_dot3statsmultiplecollisionframes_lo; 484*d14abf15SRobert Mustacchi /* deferred_transmissions */ 485*d14abf15SRobert Mustacchi u32 tx_stat_dot3statsdeferredtransmissions_hi; 486*d14abf15SRobert Mustacchi u32 tx_stat_dot3statsdeferredtransmissions_lo; 487*d14abf15SRobert Mustacchi /* excessive_collision_frames */ 488*d14abf15SRobert Mustacchi u32 tx_stat_dot3statsexcessivecollisions_hi; 489*d14abf15SRobert Mustacchi u32 tx_stat_dot3statsexcessivecollisions_lo; 490*d14abf15SRobert Mustacchi /* late_collision_frames */ 491*d14abf15SRobert Mustacchi u32 tx_stat_dot3statslatecollisions_hi; 492*d14abf15SRobert Mustacchi u32 tx_stat_dot3statslatecollisions_lo; 493*d14abf15SRobert Mustacchi 494*d14abf15SRobert Mustacchi /* frames_transmitted_64_bytes */ 495*d14abf15SRobert Mustacchi u32 tx_stat_etherstatspkts64octets_hi; 496*d14abf15SRobert Mustacchi u32 tx_stat_etherstatspkts64octets_lo; 497*d14abf15SRobert Mustacchi /* frames_transmitted_65_127_bytes */ 498*d14abf15SRobert Mustacchi u32 tx_stat_etherstatspkts65octetsto127octets_hi; 499*d14abf15SRobert Mustacchi u32 tx_stat_etherstatspkts65octetsto127octets_lo; 500*d14abf15SRobert Mustacchi /* frames_transmitted_128_255_bytes */ 501*d14abf15SRobert Mustacchi u32 tx_stat_etherstatspkts128octetsto255octets_hi; 502*d14abf15SRobert Mustacchi u32 tx_stat_etherstatspkts128octetsto255octets_lo; 503*d14abf15SRobert Mustacchi /* frames_transmitted_256_511_bytes */ 504*d14abf15SRobert Mustacchi u32 tx_stat_etherstatspkts256octetsto511octets_hi; 505*d14abf15SRobert Mustacchi u32 tx_stat_etherstatspkts256octetsto511octets_lo; 506*d14abf15SRobert Mustacchi /* frames_transmitted_512_1023_bytes */ 507*d14abf15SRobert Mustacchi u32 tx_stat_etherstatspkts512octetsto1023octets_hi; 508*d14abf15SRobert Mustacchi u32 tx_stat_etherstatspkts512octetsto1023octets_lo; 509*d14abf15SRobert Mustacchi /* frames_transmitted_1024_1522_bytes */ 510*d14abf15SRobert Mustacchi u32 tx_stat_etherstatspkts1024octetsto1522octets_hi; 511*d14abf15SRobert Mustacchi u32 tx_stat_etherstatspkts1024octetsto1522octets_lo; 512*d14abf15SRobert Mustacchi /* frames_transmitted_1523_9022_bytes */ 513*d14abf15SRobert Mustacchi u32 tx_stat_etherstatspktsover1522octets_hi; 514*d14abf15SRobert Mustacchi u32 tx_stat_etherstatspktsover1522octets_lo; 515*d14abf15SRobert Mustacchi u32 tx_stat_mac_2047_hi; 516*d14abf15SRobert Mustacchi u32 tx_stat_mac_2047_lo; 517*d14abf15SRobert Mustacchi u32 tx_stat_mac_4095_hi; 518*d14abf15SRobert Mustacchi u32 tx_stat_mac_4095_lo; 519*d14abf15SRobert Mustacchi u32 tx_stat_mac_9216_hi; 520*d14abf15SRobert Mustacchi u32 tx_stat_mac_9216_lo; 521*d14abf15SRobert Mustacchi u32 tx_stat_mac_16383_hi; 522*d14abf15SRobert Mustacchi u32 tx_stat_mac_16383_lo; 523*d14abf15SRobert Mustacchi 524*d14abf15SRobert Mustacchi /* internal_mac_transmit_errors */ 525*d14abf15SRobert Mustacchi u32 tx_stat_dot3statsinternalmactransmiterrors_hi; 526*d14abf15SRobert Mustacchi u32 tx_stat_dot3statsinternalmactransmiterrors_lo; 527*d14abf15SRobert Mustacchi 528*d14abf15SRobert Mustacchi /* if_out_discards */ 529*d14abf15SRobert Mustacchi u32 tx_stat_mac_ufl_hi; 530*d14abf15SRobert Mustacchi u32 tx_stat_mac_ufl_lo; 531*d14abf15SRobert Mustacchi }; 532*d14abf15SRobert Mustacchi 533*d14abf15SRobert Mustacchi 534*d14abf15SRobert Mustacchi #define MAC_STX_IDX_MAX 2 535*d14abf15SRobert Mustacchi 536*d14abf15SRobert Mustacchi struct host_port_stats { 537*d14abf15SRobert Mustacchi u32 host_port_stats_counter; 538*d14abf15SRobert Mustacchi 539*d14abf15SRobert Mustacchi struct mac_stx mac_stx[MAC_STX_IDX_MAX]; 540*d14abf15SRobert Mustacchi 541*d14abf15SRobert Mustacchi u32 brb_drop_hi; 542*d14abf15SRobert Mustacchi u32 brb_drop_lo; 543*d14abf15SRobert Mustacchi 544*d14abf15SRobert Mustacchi u32 not_used; /* obsolete as of MFW 7.2.1 */ 545*d14abf15SRobert Mustacchi 546*d14abf15SRobert Mustacchi u32 pfc_frames_tx_hi; 547*d14abf15SRobert Mustacchi u32 pfc_frames_tx_lo; 548*d14abf15SRobert Mustacchi u32 pfc_frames_rx_hi; 549*d14abf15SRobert Mustacchi u32 pfc_frames_rx_lo; 550*d14abf15SRobert Mustacchi 551*d14abf15SRobert Mustacchi u32 eee_lpi_count_hi; 552*d14abf15SRobert Mustacchi u32 eee_lpi_count_lo; 553*d14abf15SRobert Mustacchi }; 554*d14abf15SRobert Mustacchi 555*d14abf15SRobert Mustacchi 556*d14abf15SRobert Mustacchi struct host_func_stats { 557*d14abf15SRobert Mustacchi u32 host_func_stats_start; 558*d14abf15SRobert Mustacchi 559*d14abf15SRobert Mustacchi u32 total_bytes_received_hi; 560*d14abf15SRobert Mustacchi u32 total_bytes_received_lo; 561*d14abf15SRobert Mustacchi 562*d14abf15SRobert Mustacchi u32 total_bytes_transmitted_hi; 563*d14abf15SRobert Mustacchi u32 total_bytes_transmitted_lo; 564*d14abf15SRobert Mustacchi 565*d14abf15SRobert Mustacchi u32 total_unicast_packets_received_hi; 566*d14abf15SRobert Mustacchi u32 total_unicast_packets_received_lo; 567*d14abf15SRobert Mustacchi 568*d14abf15SRobert Mustacchi u32 total_multicast_packets_received_hi; 569*d14abf15SRobert Mustacchi u32 total_multicast_packets_received_lo; 570*d14abf15SRobert Mustacchi 571*d14abf15SRobert Mustacchi u32 total_broadcast_packets_received_hi; 572*d14abf15SRobert Mustacchi u32 total_broadcast_packets_received_lo; 573*d14abf15SRobert Mustacchi 574*d14abf15SRobert Mustacchi u32 total_unicast_packets_transmitted_hi; 575*d14abf15SRobert Mustacchi u32 total_unicast_packets_transmitted_lo; 576*d14abf15SRobert Mustacchi 577*d14abf15SRobert Mustacchi u32 total_multicast_packets_transmitted_hi; 578*d14abf15SRobert Mustacchi u32 total_multicast_packets_transmitted_lo; 579*d14abf15SRobert Mustacchi 580*d14abf15SRobert Mustacchi u32 total_broadcast_packets_transmitted_hi; 581*d14abf15SRobert Mustacchi u32 total_broadcast_packets_transmitted_lo; 582*d14abf15SRobert Mustacchi 583*d14abf15SRobert Mustacchi u32 valid_bytes_received_hi; 584*d14abf15SRobert Mustacchi u32 valid_bytes_received_lo; 585*d14abf15SRobert Mustacchi 586*d14abf15SRobert Mustacchi u32 host_func_stats_end; 587*d14abf15SRobert Mustacchi }; 588*d14abf15SRobert Mustacchi 589*d14abf15SRobert Mustacchi /* VIC definitions */ 590*d14abf15SRobert Mustacchi #define VICSTATST_UIF_INDEX 2 591*d14abf15SRobert Mustacchi 592*d14abf15SRobert Mustacchi /* 593*d14abf15SRobert Mustacchi * stats collected for afex. 594*d14abf15SRobert Mustacchi * NOTE: structure is exactly as expected to be received by the switch. 595*d14abf15SRobert Mustacchi * order must remain exactly as is unless protocol changes ! 596*d14abf15SRobert Mustacchi */ 597*d14abf15SRobert Mustacchi struct afex_stats { 598*d14abf15SRobert Mustacchi u32 tx_unicast_frames_hi; 599*d14abf15SRobert Mustacchi u32 tx_unicast_frames_lo; 600*d14abf15SRobert Mustacchi u32 tx_unicast_bytes_hi; 601*d14abf15SRobert Mustacchi u32 tx_unicast_bytes_lo; 602*d14abf15SRobert Mustacchi u32 tx_multicast_frames_hi; 603*d14abf15SRobert Mustacchi u32 tx_multicast_frames_lo; 604*d14abf15SRobert Mustacchi u32 tx_multicast_bytes_hi; 605*d14abf15SRobert Mustacchi u32 tx_multicast_bytes_lo; 606*d14abf15SRobert Mustacchi u32 tx_broadcast_frames_hi; 607*d14abf15SRobert Mustacchi u32 tx_broadcast_frames_lo; 608*d14abf15SRobert Mustacchi u32 tx_broadcast_bytes_hi; 609*d14abf15SRobert Mustacchi u32 tx_broadcast_bytes_lo; 610*d14abf15SRobert Mustacchi u32 tx_frames_discarded_hi; 611*d14abf15SRobert Mustacchi u32 tx_frames_discarded_lo; 612*d14abf15SRobert Mustacchi u32 tx_frames_dropped_hi; 613*d14abf15SRobert Mustacchi u32 tx_frames_dropped_lo; 614*d14abf15SRobert Mustacchi 615*d14abf15SRobert Mustacchi u32 rx_unicast_frames_hi; 616*d14abf15SRobert Mustacchi u32 rx_unicast_frames_lo; 617*d14abf15SRobert Mustacchi u32 rx_unicast_bytes_hi; 618*d14abf15SRobert Mustacchi u32 rx_unicast_bytes_lo; 619*d14abf15SRobert Mustacchi u32 rx_multicast_frames_hi; 620*d14abf15SRobert Mustacchi u32 rx_multicast_frames_lo; 621*d14abf15SRobert Mustacchi u32 rx_multicast_bytes_hi; 622*d14abf15SRobert Mustacchi u32 rx_multicast_bytes_lo; 623*d14abf15SRobert Mustacchi u32 rx_broadcast_frames_hi; 624*d14abf15SRobert Mustacchi u32 rx_broadcast_frames_lo; 625*d14abf15SRobert Mustacchi u32 rx_broadcast_bytes_hi; 626*d14abf15SRobert Mustacchi u32 rx_broadcast_bytes_lo; 627*d14abf15SRobert Mustacchi u32 rx_frames_discarded_hi; 628*d14abf15SRobert Mustacchi u32 rx_frames_discarded_lo; 629*d14abf15SRobert Mustacchi u32 rx_frames_dropped_hi; 630*d14abf15SRobert Mustacchi u32 rx_frames_dropped_lo; 631*d14abf15SRobert Mustacchi }; 632*d14abf15SRobert Mustacchi 633*d14abf15SRobert Mustacchi /* To maintain backward compatibility between FW and drivers, new elements */ 634*d14abf15SRobert Mustacchi /* should be added to the end of the structure. */ 635*d14abf15SRobert Mustacchi 636*d14abf15SRobert Mustacchi /* Per Port Statistics */ 637*d14abf15SRobert Mustacchi struct port_info { 638*d14abf15SRobert Mustacchi u32 size; /* size of this structure (i.e. sizeof(port_info)) */ 639*d14abf15SRobert Mustacchi u32 enabled; /* 0 =Disabled, 1= Enabled */ 640*d14abf15SRobert Mustacchi u32 link_speed; /* multiplier of 100Mb */ 641*d14abf15SRobert Mustacchi u32 wol_support; /* WoL Support (i.e. Non-Zero if WOL supported ) */ 642*d14abf15SRobert Mustacchi u32 flow_control; /* 802.3X Flow Ctrl. 0=off 1=RX 2=TX 3=RX&TX.*/ 643*d14abf15SRobert Mustacchi u32 flex10; /* Flex10 mode enabled. non zero = yes */ 644*d14abf15SRobert Mustacchi u32 rx_drops; /* RX Discards. Counters roll over, never reset */ 645*d14abf15SRobert Mustacchi u32 rx_errors; /* RX Errors. Physical Port Stats L95, All PFs and NC-SI. 646*d14abf15SRobert Mustacchi This is flagged by Consumer as an error. */ 647*d14abf15SRobert Mustacchi u32 rx_uncast_lo; /* RX Unicast Packets. Free running counters: */ 648*d14abf15SRobert Mustacchi u32 rx_uncast_hi; /* RX Unicast Packets. Free running counters: */ 649*d14abf15SRobert Mustacchi u32 rx_mcast_lo; /* RX Multicast Packets */ 650*d14abf15SRobert Mustacchi u32 rx_mcast_hi; /* RX Multicast Packets */ 651*d14abf15SRobert Mustacchi u32 rx_bcast_lo; /* RX Broadcast Packets */ 652*d14abf15SRobert Mustacchi u32 rx_bcast_hi; /* RX Broadcast Packets */ 653*d14abf15SRobert Mustacchi u32 tx_uncast_lo; /* TX Unicast Packets */ 654*d14abf15SRobert Mustacchi u32 tx_uncast_hi; /* TX Unicast Packets */ 655*d14abf15SRobert Mustacchi u32 tx_mcast_lo; /* TX Multicast Packets */ 656*d14abf15SRobert Mustacchi u32 tx_mcast_hi; /* TX Multicast Packets */ 657*d14abf15SRobert Mustacchi u32 tx_bcast_lo; /* TX Broadcast Packets */ 658*d14abf15SRobert Mustacchi u32 tx_bcast_hi; /* TX Broadcast Packets */ 659*d14abf15SRobert Mustacchi u32 tx_errors; /* TX Errors */ 660*d14abf15SRobert Mustacchi u32 tx_discards; /* TX Discards */ 661*d14abf15SRobert Mustacchi u32 rx_frames_lo; /* RX Frames received */ 662*d14abf15SRobert Mustacchi u32 rx_frames_hi; /* RX Frames received */ 663*d14abf15SRobert Mustacchi u32 rx_bytes_lo; /* RX Bytes received */ 664*d14abf15SRobert Mustacchi u32 rx_bytes_hi; /* RX Bytes received */ 665*d14abf15SRobert Mustacchi u32 tx_frames_lo; /* TX Frames sent */ 666*d14abf15SRobert Mustacchi u32 tx_frames_hi; /* TX Frames sent */ 667*d14abf15SRobert Mustacchi u32 tx_bytes_lo; /* TX Bytes sent */ 668*d14abf15SRobert Mustacchi u32 tx_bytes_hi; /* TX Bytes sent */ 669*d14abf15SRobert Mustacchi u32 link_status; /* Port P Link Status. 1:0 bit for port enabled. 670*d14abf15SRobert Mustacchi 1:1 bit for link good, 671*d14abf15SRobert Mustacchi 2:1 Set if link changed between last poll. */ 672*d14abf15SRobert Mustacchi u32 tx_pfc_frames_lo; /* PFC Frames sent. */ 673*d14abf15SRobert Mustacchi u32 tx_pfc_frames_hi; /* PFC Frames sent. */ 674*d14abf15SRobert Mustacchi u32 rx_pfc_frames_lo; /* PFC Frames Received. */ 675*d14abf15SRobert Mustacchi u32 rx_pfc_frames_hi; /* PFC Frames Received. */ 676*d14abf15SRobert Mustacchi }; 677*d14abf15SRobert Mustacchi 678*d14abf15SRobert Mustacchi #endif /* MAC_STATS_H */ 679*d14abf15SRobert Mustacchi 680