Changeset 21937


Ignore:
Timestamp:
2010-06-26T21:53:59+02:00 (7 years ago)
Author:
juhosg
Message:

backfire: generic: rtl8366s: get some MIB counters from another offset (backport of r21918)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/backfire/target/linux/generic-2.6/files/drivers/net/phy/rtl8366s.c

    r21936 r21937  
    7070#define RTL8366S_MIB_COUNTER_PORT_OFFSET    0x0040 
    7171#define RTL8366S_MIB_COUNTER_BASE           0x1000 
     72#define RTL8366S_MIB_COUNTER_PORT_OFFSET2   0x0008 
     73#define RTL8366S_MIB_COUNTER_BASE2          0x1180 
    7274#define RTL8366S_MIB_CTRL_REG               0x11F0 
    7375#define RTL8366S_MIB_CTRL_USER_MASK         0x01FF 
     
    182184 
    183185struct mib_counter { 
     186        unsigned        base; 
    184187        unsigned        offset; 
    185188        unsigned        length; 
     
    188191 
    189192static struct mib_counter rtl8366s_mib_counters[RTL8366S_MIB_COUNT] = { 
    190         {  0, 4, "IfInOctets"                           }, 
    191         {  4, 4, "EtherStatsOctets"                     }, 
    192         {  8, 2, "EtherStatsUnderSizePkts"              }, 
    193         { 10, 2, "EtherFragments"                       }, 
    194         { 12, 2, "EtherStatsPkts64Octets"               }, 
    195         { 14, 2, "EtherStatsPkts65to127Octets"          }, 
    196         { 16, 2, "EtherStatsPkts128to255Octets"         }, 
    197         { 18, 2, "EtherStatsPkts256to511Octets"         }, 
    198         { 20, 2, "EtherStatsPkts512to1023Octets"        }, 
    199         { 22, 2, "EtherStatsPkts1024to1518Octets"       }, 
    200         { 24, 2, "EtherOversizeStats"                   }, 
    201         { 26, 2, "EtherStatsJabbers"                    }, 
    202         { 28, 2, "IfInUcastPkts"                        }, 
    203         { 30, 2, "EtherStatsMulticastPkts"              }, 
    204         { 32, 2, "EtherStatsBroadcastPkts"              }, 
    205         { 34, 2, "EtherStatsDropEvents"                 }, 
    206         { 36, 2, "Dot3StatsFCSErrors"                   }, 
    207         { 38, 2, "Dot3StatsSymbolErrors"                }, 
    208         { 40, 2, "Dot3InPauseFrames"                    }, 
    209         { 42, 2, "Dot3ControlInUnknownOpcodes"          }, 
    210         { 44, 4, "IfOutOctets"                          }, 
    211         { 48, 2, "Dot3StatsSingleCollisionFrames"       }, 
    212         { 50, 2, "Dot3StatMultipleCollisionFrames"      }, 
    213         { 52, 2, "Dot3sDeferredTransmissions"           }, 
    214         { 54, 2, "Dot3StatsLateCollisions"              }, 
    215         { 56, 2, "EtherStatsCollisions"                 }, 
    216         { 58, 2, "Dot3StatsExcessiveCollisions"         }, 
    217         { 60, 2, "Dot3OutPauseFrames"                   }, 
    218         { 62, 2, "Dot1dBasePortDelayExceededDiscards"   }, 
    219         { 64, 2, "Dot1dTpPortInDiscards"                }, 
    220         { 66, 2, "IfOutUcastPkts"                       }, 
    221         { 68, 2, "IfOutMulticastPkts"                   }, 
    222         { 70, 2, "IfOutBroadcastPkts"                   }, 
     193        { 0,  0, 4, "IfInOctets"                                }, 
     194        { 0,  4, 4, "EtherStatsOctets"                          }, 
     195        { 0,  8, 2, "EtherStatsUnderSizePkts"                   }, 
     196        { 0, 10, 2, "EtherFragments"                            }, 
     197        { 0, 12, 2, "EtherStatsPkts64Octets"                    }, 
     198        { 0, 14, 2, "EtherStatsPkts65to127Octets"               }, 
     199        { 0, 16, 2, "EtherStatsPkts128to255Octets"              }, 
     200        { 0, 18, 2, "EtherStatsPkts256to511Octets"              }, 
     201        { 0, 20, 2, "EtherStatsPkts512to1023Octets"             }, 
     202        { 0, 22, 2, "EtherStatsPkts1024to1518Octets"            }, 
     203        { 0, 24, 2, "EtherOversizeStats"                        }, 
     204        { 0, 26, 2, "EtherStatsJabbers"                         }, 
     205        { 0, 28, 2, "IfInUcastPkts"                             }, 
     206        { 0, 30, 2, "EtherStatsMulticastPkts"                   }, 
     207        { 0, 32, 2, "EtherStatsBroadcastPkts"                   }, 
     208        { 0, 34, 2, "EtherStatsDropEvents"                      }, 
     209        { 0, 36, 2, "Dot3StatsFCSErrors"                        }, 
     210        { 0, 38, 2, "Dot3StatsSymbolErrors"                     }, 
     211        { 0, 40, 2, "Dot3InPauseFrames"                         }, 
     212        { 0, 42, 2, "Dot3ControlInUnknownOpcodes"               }, 
     213        { 0, 44, 4, "IfOutOctets"                               }, 
     214        { 0, 48, 2, "Dot3StatsSingleCollisionFrames"            }, 
     215        { 0, 50, 2, "Dot3StatMultipleCollisionFrames"           }, 
     216        { 0, 52, 2, "Dot3sDeferredTransmissions"                }, 
     217        { 0, 54, 2, "Dot3StatsLateCollisions"                   }, 
     218        { 0, 56, 2, "EtherStatsCollisions"                      }, 
     219        { 0, 58, 2, "Dot3StatsExcessiveCollisions"              }, 
     220        { 0, 60, 2, "Dot3OutPauseFrames"                        }, 
     221        { 0, 62, 2, "Dot1dBasePortDelayExceededDiscards"        }, 
     222 
     223        /* 
     224         * The following counters are accessible at a different 
     225         * base address. 
     226         */ 
     227        { 1,  0, 2, "Dot1dTpPortInDiscards"                     }, 
     228        { 1,  2, 2, "IfOutUcastPkts"                            }, 
     229        { 1,  4, 2, "IfOutMulticastPkts"                        }, 
     230        { 1,  6, 2, "IfOutBroadcastPkts"                        }, 
    223231}; 
    224232 
     
    340348                return -EINVAL; 
    341349 
    342         addr = RTL8366S_MIB_COUNTER_BASE + 
    343                RTL8366S_MIB_COUNTER_PORT_OFFSET * (port) + 
    344                rtl8366s_mib_counters[counter].offset; 
     350        switch (rtl8366s_mib_counters[counter].base) { 
     351        case 0: 
     352                addr = RTL8366S_MIB_COUNTER_BASE + 
     353                       RTL8366S_MIB_COUNTER_PORT_OFFSET * port; 
     354                break; 
     355 
     356        case 1: 
     357                addr = RTL8366S_MIB_COUNTER_BASE2 + 
     358                        RTL8366S_MIB_COUNTER_PORT_OFFSET2 * port; 
     359                break; 
     360 
     361        default: 
     362                return -EINVAL; 
     363        } 
     364 
     365        addr += rtl8366s_mib_counters[counter].offset; 
    345366 
    346367        /* 
Note: See TracChangeset for help on using the changeset viewer.