Changeset 34359


Ignore:
Timestamp:
2012-11-25T17:22:46+01:00 (5 years ago)
Author:
juhosg
Message:

AA: generic: ar8216: add MIB counter support for the AR8216 switch as well

Backport of r34245.

Thanks to Jonas Gorski for the reference URL.

Signed-off-by: Gabor Juhos <juhosg@…>

Location:
branches/attitude_adjustment/target/linux/generic/files/drivers/net/phy
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/attitude_adjustment/target/linux/generic/files/drivers/net/phy/ar8216.c

    r34358 r34359  
    115115                .name = (_n),   \ 
    116116        } 
     117 
     118static const struct ar8xxx_mib_desc ar8216_mibs[] = { 
     119        MIB_DESC(1, AR8216_STATS_RXBROAD, "RxBroad"), 
     120        MIB_DESC(1, AR8216_STATS_RXPAUSE, "RxPause"), 
     121        MIB_DESC(1, AR8216_STATS_RXMULTI, "RxMulti"), 
     122        MIB_DESC(1, AR8216_STATS_RXFCSERR, "RxFcsErr"), 
     123        MIB_DESC(1, AR8216_STATS_RXALIGNERR, "RxAlignErr"), 
     124        MIB_DESC(1, AR8216_STATS_RXRUNT, "RxRunt"), 
     125        MIB_DESC(1, AR8216_STATS_RXFRAGMENT, "RxFragment"), 
     126        MIB_DESC(1, AR8216_STATS_RX64BYTE, "Rx64Byte"), 
     127        MIB_DESC(1, AR8216_STATS_RX128BYTE, "Rx128Byte"), 
     128        MIB_DESC(1, AR8216_STATS_RX256BYTE, "Rx256Byte"), 
     129        MIB_DESC(1, AR8216_STATS_RX512BYTE, "Rx512Byte"), 
     130        MIB_DESC(1, AR8216_STATS_RX1024BYTE, "Rx1024Byte"), 
     131        MIB_DESC(1, AR8216_STATS_RXMAXBYTE, "RxMaxByte"), 
     132        MIB_DESC(1, AR8216_STATS_RXTOOLONG, "RxTooLong"), 
     133        MIB_DESC(2, AR8216_STATS_RXGOODBYTE, "RxGoodByte"), 
     134        MIB_DESC(2, AR8216_STATS_RXBADBYTE, "RxBadByte"), 
     135        MIB_DESC(1, AR8216_STATS_RXOVERFLOW, "RxOverFlow"), 
     136        MIB_DESC(1, AR8216_STATS_FILTERED, "Filtered"), 
     137        MIB_DESC(1, AR8216_STATS_TXBROAD, "TxBroad"), 
     138        MIB_DESC(1, AR8216_STATS_TXPAUSE, "TxPause"), 
     139        MIB_DESC(1, AR8216_STATS_TXMULTI, "TxMulti"), 
     140        MIB_DESC(1, AR8216_STATS_TXUNDERRUN, "TxUnderRun"), 
     141        MIB_DESC(1, AR8216_STATS_TX64BYTE, "Tx64Byte"), 
     142        MIB_DESC(1, AR8216_STATS_TX128BYTE, "Tx128Byte"), 
     143        MIB_DESC(1, AR8216_STATS_TX256BYTE, "Tx256Byte"), 
     144        MIB_DESC(1, AR8216_STATS_TX512BYTE, "Tx512Byte"), 
     145        MIB_DESC(1, AR8216_STATS_TX1024BYTE, "Tx1024Byte"), 
     146        MIB_DESC(1, AR8216_STATS_TXMAXBYTE, "TxMaxByte"), 
     147        MIB_DESC(1, AR8216_STATS_TXOVERSIZE, "TxOverSize"), 
     148        MIB_DESC(2, AR8216_STATS_TXBYTE, "TxByte"), 
     149        MIB_DESC(1, AR8216_STATS_TXCOLLISION, "TxCollision"), 
     150        MIB_DESC(1, AR8216_STATS_TXABORTCOL, "TxAbortCol"), 
     151        MIB_DESC(1, AR8216_STATS_TXMULTICOL, "TxMultiCol"), 
     152        MIB_DESC(1, AR8216_STATS_TXSINGLECOL, "TxSingleCol"), 
     153        MIB_DESC(1, AR8216_STATS_TXEXCDEFER, "TxExcDefer"), 
     154        MIB_DESC(1, AR8216_STATS_TXDEFER, "TxDefer"), 
     155        MIB_DESC(1, AR8216_STATS_TXLATECOL, "TxLateCol"), 
     156}; 
    117157 
    118158static const struct ar8xxx_mib_desc ar8236_mibs[] = { 
     
    388428        if (chip_is_ar8327(priv)) 
    389429                base = AR8327_REG_PORT_STATS_BASE(port); 
     430        else if (chip_is_ar8236(priv) || 
     431                 chip_is_ar8316(priv)) 
     432                base = AR8236_REG_PORT_STATS_BASE(port); 
    390433        else 
    391                 base = AR8236_REG_PORT_STATS_BASE(port); 
     434                base = AR8216_REG_PORT_STATS_BASE(port); 
    392435 
    393436        mib_stats = &priv->mib_stats[port * priv->chip->num_mibs]; 
     
    660703 
    661704static const struct ar8xxx_chip ar8216_chip = { 
     705        .caps = AR8XXX_CAP_MIB_COUNTERS, 
     706 
    662707        .hw_init = ar8216_hw_init, 
    663708        .init_globals = ar8216_init_globals, 
     
    668713        .vtu_flush = ar8216_vtu_flush, 
    669714        .vtu_load_vlan = ar8216_vtu_load_vlan, 
     715 
     716        .num_mibs = ARRAY_SIZE(ar8216_mibs), 
     717        .mib_decs = ar8216_mibs, 
    670718}; 
    671719 
  • branches/attitude_adjustment/target/linux/generic/files/drivers/net/phy/ar8216.h

    r34358 r34359  
    160160#define AR8216_REG_PORT_RATE(_i)        (AR8216_PORT_OFFSET(_i) + 0x000c) 
    161161#define AR8216_REG_PORT_PRIO(_i)        (AR8216_PORT_OFFSET(_i) + 0x0010) 
     162 
     163#define AR8216_REG_PORT_STATS_BASE(_i)  (0x19000 + (_i) * 0xa0) 
     164 
     165#define AR8216_STATS_RXBROAD            0x00 
     166#define AR8216_STATS_RXPAUSE            0x04 
     167#define AR8216_STATS_RXMULTI            0x08 
     168#define AR8216_STATS_RXFCSERR           0x0c 
     169#define AR8216_STATS_RXALIGNERR         0x10 
     170#define AR8216_STATS_RXRUNT             0x14 
     171#define AR8216_STATS_RXFRAGMENT         0x18 
     172#define AR8216_STATS_RX64BYTE           0x1c 
     173#define AR8216_STATS_RX128BYTE          0x20 
     174#define AR8216_STATS_RX256BYTE          0x24 
     175#define AR8216_STATS_RX512BYTE          0x28 
     176#define AR8216_STATS_RX1024BYTE         0x2c 
     177#define AR8216_STATS_RXMAXBYTE          0x30 
     178#define AR8216_STATS_RXTOOLONG          0x34 
     179#define AR8216_STATS_RXGOODBYTE         0x38 
     180#define AR8216_STATS_RXBADBYTE          0x40 
     181#define AR8216_STATS_RXOVERFLOW         0x48 
     182#define AR8216_STATS_FILTERED           0x4c 
     183#define AR8216_STATS_TXBROAD            0x50 
     184#define AR8216_STATS_TXPAUSE            0x54 
     185#define AR8216_STATS_TXMULTI            0x58 
     186#define AR8216_STATS_TXUNDERRUN         0x5c 
     187#define AR8216_STATS_TX64BYTE           0x60 
     188#define AR8216_STATS_TX128BYTE          0x64 
     189#define AR8216_STATS_TX256BYTE          0x68 
     190#define AR8216_STATS_TX512BYTE          0x6c 
     191#define AR8216_STATS_TX1024BYTE         0x70 
     192#define AR8216_STATS_TXMAXBYTE          0x74 
     193#define AR8216_STATS_TXOVERSIZE         0x78 
     194#define AR8216_STATS_TXBYTE             0x7c 
     195#define AR8216_STATS_TXCOLLISION        0x84 
     196#define AR8216_STATS_TXABORTCOL         0x88 
     197#define AR8216_STATS_TXMULTICOL         0x8c 
     198#define AR8216_STATS_TXSINGLECOL        0x90 
     199#define AR8216_STATS_TXEXCDEFER         0x94 
     200#define AR8216_STATS_TXDEFER            0x98 
     201#define AR8216_STATS_TXLATECOL          0x9c 
    162202 
    163203#define AR8236_REG_PORT_VLAN(_i)        (AR8216_PORT_OFFSET((_i)) + 0x0008) 
Note: See TracChangeset for help on using the changeset viewer.