提交 4b8e3655 编写于 作者: L Lennert Buytenhek

mv643xx_eth: move MIB offset defines into their only user

The only user of the ETH_MIB_VERY_LONG_NAME_HERE defines is the
eth_update_mib_counters() function.  Get rid of the defines by
open-coding the register offsets in the latter.
Signed-off-by: NLennert Buytenhek <buytenh@marvell.com>
Acked-by: NDale Farnsworth <dale@farnsworth.org>
上级 0a6cf74d
......@@ -169,42 +169,6 @@ static char mv643xx_driver_version[] = "1.0";
#define PORT_DEFAULT_TRANSMIT_QUEUE_SIZE 800
#define PORT_DEFAULT_RECEIVE_QUEUE_SIZE 400
/* Gigabit Ethernet Unit Global Registers */
/* MIB Counters register definitions */
#define ETH_MIB_GOOD_OCTETS_RECEIVED_LOW 0x0
#define ETH_MIB_GOOD_OCTETS_RECEIVED_HIGH 0x4
#define ETH_MIB_BAD_OCTETS_RECEIVED 0x8
#define ETH_MIB_INTERNAL_MAC_TRANSMIT_ERR 0xc
#define ETH_MIB_GOOD_FRAMES_RECEIVED 0x10
#define ETH_MIB_BAD_FRAMES_RECEIVED 0x14
#define ETH_MIB_BROADCAST_FRAMES_RECEIVED 0x18
#define ETH_MIB_MULTICAST_FRAMES_RECEIVED 0x1c
#define ETH_MIB_FRAMES_64_OCTETS 0x20
#define ETH_MIB_FRAMES_65_TO_127_OCTETS 0x24
#define ETH_MIB_FRAMES_128_TO_255_OCTETS 0x28
#define ETH_MIB_FRAMES_256_TO_511_OCTETS 0x2c
#define ETH_MIB_FRAMES_512_TO_1023_OCTETS 0x30
#define ETH_MIB_FRAMES_1024_TO_MAX_OCTETS 0x34
#define ETH_MIB_GOOD_OCTETS_SENT_LOW 0x38
#define ETH_MIB_GOOD_OCTETS_SENT_HIGH 0x3c
#define ETH_MIB_GOOD_FRAMES_SENT 0x40
#define ETH_MIB_EXCESSIVE_COLLISION 0x44
#define ETH_MIB_MULTICAST_FRAMES_SENT 0x48
#define ETH_MIB_BROADCAST_FRAMES_SENT 0x4c
#define ETH_MIB_UNREC_MAC_CONTROL_RECEIVED 0x50
#define ETH_MIB_FC_SENT 0x54
#define ETH_MIB_GOOD_FC_RECEIVED 0x58
#define ETH_MIB_BAD_FC_RECEIVED 0x5c
#define ETH_MIB_UNDERSIZE_RECEIVED 0x60
#define ETH_MIB_FRAGMENTS_RECEIVED 0x64
#define ETH_MIB_OVERSIZE_RECEIVED 0x68
#define ETH_MIB_JABBER_RECEIVED 0x6c
#define ETH_MIB_MAC_RECEIVE_ERROR 0x70
#define ETH_MIB_BAD_CRC_EVENT 0x74
#define ETH_MIB_COLLISION 0x78
#define ETH_MIB_LATE_COLLISION 0x7c
/* Port serial status reg (PSR) */
#define ETH_INTERFACE_PCM 0x00000001
#define ETH_LINK_IS_UP 0x00000002
......@@ -1156,8 +1120,7 @@ static void eth_clear_mib_counters(struct mv643xx_private *mp)
int i;
/* Perform dummy reads from MIB counters */
for (i = ETH_MIB_GOOD_OCTETS_RECEIVED_LOW; i < ETH_MIB_LATE_COLLISION;
i += 4)
for (i = 0; i < 0x80; i += 4)
rdl(mp, MIB_COUNTERS(port_num) + i);
}
......@@ -1169,26 +1132,39 @@ static inline u32 read_mib(struct mv643xx_private *mp, int offset)
static void eth_update_mib_counters(struct mv643xx_private *mp)
{
struct mv643xx_mib_counters *p = &mp->mib_counters;
int offset;
p->good_octets_received +=
read_mib(mp, ETH_MIB_GOOD_OCTETS_RECEIVED_LOW);
p->good_octets_received +=
(u64)read_mib(mp, ETH_MIB_GOOD_OCTETS_RECEIVED_HIGH) << 32;
for (offset = ETH_MIB_BAD_OCTETS_RECEIVED;
offset <= ETH_MIB_FRAMES_1024_TO_MAX_OCTETS;
offset += 4)
*(u32 *)((char *)p + offset) += read_mib(mp, offset);
p->good_octets_sent += read_mib(mp, ETH_MIB_GOOD_OCTETS_SENT_LOW);
p->good_octets_sent +=
(u64)read_mib(mp, ETH_MIB_GOOD_OCTETS_SENT_HIGH) << 32;
for (offset = ETH_MIB_GOOD_FRAMES_SENT;
offset <= ETH_MIB_LATE_COLLISION;
offset += 4)
*(u32 *)((char *)p + offset) += read_mib(mp, offset);
p->good_octets_received += read_mib(mp, 0x00);
p->good_octets_received += (u64)read_mib(mp, 0x04) << 32;
p->bad_octets_received += read_mib(mp, 0x08);
p->internal_mac_transmit_err += read_mib(mp, 0x0c);
p->good_frames_received += read_mib(mp, 0x10);
p->bad_frames_received += read_mib(mp, 0x14);
p->broadcast_frames_received += read_mib(mp, 0x18);
p->multicast_frames_received += read_mib(mp, 0x1c);
p->frames_64_octets += read_mib(mp, 0x20);
p->frames_65_to_127_octets += read_mib(mp, 0x24);
p->frames_128_to_255_octets += read_mib(mp, 0x28);
p->frames_256_to_511_octets += read_mib(mp, 0x2c);
p->frames_512_to_1023_octets += read_mib(mp, 0x30);
p->frames_1024_to_max_octets += read_mib(mp, 0x34);
p->good_octets_sent += read_mib(mp, 0x38);
p->good_octets_sent += (u64)read_mib(mp, 0x3c) << 32;
p->good_frames_sent += read_mib(mp, 0x40);
p->excessive_collision += read_mib(mp, 0x44);
p->multicast_frames_sent += read_mib(mp, 0x48);
p->broadcast_frames_sent += read_mib(mp, 0x4c);
p->unrec_mac_control_received += read_mib(mp, 0x50);
p->fc_sent += read_mib(mp, 0x54);
p->good_fc_received += read_mib(mp, 0x58);
p->bad_fc_received += read_mib(mp, 0x5c);
p->undersize_received += read_mib(mp, 0x60);
p->fragments_received += read_mib(mp, 0x64);
p->oversize_received += read_mib(mp, 0x68);
p->jabber_received += read_mib(mp, 0x6c);
p->mac_receive_error += read_mib(mp, 0x70);
p->bad_crc_event += read_mib(mp, 0x74);
p->collision += read_mib(mp, 0x78);
p->late_collision += read_mib(mp, 0x7c);
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册