forked from luck/tmp_suning_uos_patched
e1000: move e1000_tbi_adjust_stats to where its used
... and make it static. Signed-off-by: Florian Westphal <fw@strlen.de> Tested-by: Aaron Brown <aaron.f.brown@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:
parent
adc810900a
commit
4f0aeb1e96
@ -4836,84 +4836,6 @@ void e1000_update_adaptive(struct e1000_hw *hw)
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* e1000_tbi_adjust_stats
|
||||
* @hw: Struct containing variables accessed by shared code
|
||||
* @frame_len: The length of the frame in question
|
||||
* @mac_addr: The Ethernet destination address of the frame in question
|
||||
*
|
||||
* Adjusts the statistic counters when a frame is accepted by TBI_ACCEPT
|
||||
*/
|
||||
void e1000_tbi_adjust_stats(struct e1000_hw *hw, struct e1000_hw_stats *stats,
|
||||
u32 frame_len, u8 *mac_addr)
|
||||
{
|
||||
u64 carry_bit;
|
||||
|
||||
/* First adjust the frame length. */
|
||||
frame_len--;
|
||||
/* We need to adjust the statistics counters, since the hardware
|
||||
* counters overcount this packet as a CRC error and undercount
|
||||
* the packet as a good packet
|
||||
*/
|
||||
/* This packet should not be counted as a CRC error. */
|
||||
stats->crcerrs--;
|
||||
/* This packet does count as a Good Packet Received. */
|
||||
stats->gprc++;
|
||||
|
||||
/* Adjust the Good Octets received counters */
|
||||
carry_bit = 0x80000000 & stats->gorcl;
|
||||
stats->gorcl += frame_len;
|
||||
/* If the high bit of Gorcl (the low 32 bits of the Good Octets
|
||||
* Received Count) was one before the addition,
|
||||
* AND it is zero after, then we lost the carry out,
|
||||
* need to add one to Gorch (Good Octets Received Count High).
|
||||
* This could be simplified if all environments supported
|
||||
* 64-bit integers.
|
||||
*/
|
||||
if (carry_bit && ((stats->gorcl & 0x80000000) == 0))
|
||||
stats->gorch++;
|
||||
/* Is this a broadcast or multicast? Check broadcast first,
|
||||
* since the test for a multicast frame will test positive on
|
||||
* a broadcast frame.
|
||||
*/
|
||||
if (is_broadcast_ether_addr(mac_addr))
|
||||
/* Broadcast packet */
|
||||
stats->bprc++;
|
||||
else if (is_multicast_ether_addr(mac_addr))
|
||||
/* Multicast packet */
|
||||
stats->mprc++;
|
||||
|
||||
if (frame_len == hw->max_frame_size) {
|
||||
/* In this case, the hardware has overcounted the number of
|
||||
* oversize frames.
|
||||
*/
|
||||
if (stats->roc > 0)
|
||||
stats->roc--;
|
||||
}
|
||||
|
||||
/* Adjust the bin counters when the extra byte put the frame in the
|
||||
* wrong bin. Remember that the frame_len was adjusted above.
|
||||
*/
|
||||
if (frame_len == 64) {
|
||||
stats->prc64++;
|
||||
stats->prc127--;
|
||||
} else if (frame_len == 127) {
|
||||
stats->prc127++;
|
||||
stats->prc255--;
|
||||
} else if (frame_len == 255) {
|
||||
stats->prc255++;
|
||||
stats->prc511--;
|
||||
} else if (frame_len == 511) {
|
||||
stats->prc511++;
|
||||
stats->prc1023--;
|
||||
} else if (frame_len == 1023) {
|
||||
stats->prc1023++;
|
||||
stats->prc1522--;
|
||||
} else if (frame_len == 1522) {
|
||||
stats->prc1522++;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* e1000_get_bus_info
|
||||
* @hw: Struct containing variables accessed by shared code
|
||||
|
@ -393,8 +393,6 @@ s32 e1000_blink_led_start(struct e1000_hw *hw);
|
||||
/* Everything else */
|
||||
void e1000_reset_adaptive(struct e1000_hw *hw);
|
||||
void e1000_update_adaptive(struct e1000_hw *hw);
|
||||
void e1000_tbi_adjust_stats(struct e1000_hw *hw, struct e1000_hw_stats *stats,
|
||||
u32 frame_len, u8 * mac_addr);
|
||||
void e1000_get_bus_info(struct e1000_hw *hw);
|
||||
void e1000_pci_set_mwi(struct e1000_hw *hw);
|
||||
void e1000_pci_clear_mwi(struct e1000_hw *hw);
|
||||
|
@ -3980,6 +3980,83 @@ static void e1000_receive_skb(struct e1000_adapter *adapter, u8 status,
|
||||
napi_gro_receive(&adapter->napi, skb);
|
||||
}
|
||||
|
||||
/**
|
||||
* e1000_tbi_adjust_stats
|
||||
* @hw: Struct containing variables accessed by shared code
|
||||
* @frame_len: The length of the frame in question
|
||||
* @mac_addr: The Ethernet destination address of the frame in question
|
||||
*
|
||||
* Adjusts the statistic counters when a frame is accepted by TBI_ACCEPT
|
||||
*/
|
||||
static void e1000_tbi_adjust_stats(struct e1000_hw *hw,
|
||||
struct e1000_hw_stats *stats,
|
||||
u32 frame_len, const u8 *mac_addr)
|
||||
{
|
||||
u64 carry_bit;
|
||||
|
||||
/* First adjust the frame length. */
|
||||
frame_len--;
|
||||
/* We need to adjust the statistics counters, since the hardware
|
||||
* counters overcount this packet as a CRC error and undercount
|
||||
* the packet as a good packet
|
||||
*/
|
||||
/* This packet should not be counted as a CRC error. */
|
||||
stats->crcerrs--;
|
||||
/* This packet does count as a Good Packet Received. */
|
||||
stats->gprc++;
|
||||
|
||||
/* Adjust the Good Octets received counters */
|
||||
carry_bit = 0x80000000 & stats->gorcl;
|
||||
stats->gorcl += frame_len;
|
||||
/* If the high bit of Gorcl (the low 32 bits of the Good Octets
|
||||
* Received Count) was one before the addition,
|
||||
* AND it is zero after, then we lost the carry out,
|
||||
* need to add one to Gorch (Good Octets Received Count High).
|
||||
* This could be simplified if all environments supported
|
||||
* 64-bit integers.
|
||||
*/
|
||||
if (carry_bit && ((stats->gorcl & 0x80000000) == 0))
|
||||
stats->gorch++;
|
||||
/* Is this a broadcast or multicast? Check broadcast first,
|
||||
* since the test for a multicast frame will test positive on
|
||||
* a broadcast frame.
|
||||
*/
|
||||
if (is_broadcast_ether_addr(mac_addr))
|
||||
stats->bprc++;
|
||||
else if (is_multicast_ether_addr(mac_addr))
|
||||
stats->mprc++;
|
||||
|
||||
if (frame_len == hw->max_frame_size) {
|
||||
/* In this case, the hardware has overcounted the number of
|
||||
* oversize frames.
|
||||
*/
|
||||
if (stats->roc > 0)
|
||||
stats->roc--;
|
||||
}
|
||||
|
||||
/* Adjust the bin counters when the extra byte put the frame in the
|
||||
* wrong bin. Remember that the frame_len was adjusted above.
|
||||
*/
|
||||
if (frame_len == 64) {
|
||||
stats->prc64++;
|
||||
stats->prc127--;
|
||||
} else if (frame_len == 127) {
|
||||
stats->prc127++;
|
||||
stats->prc255--;
|
||||
} else if (frame_len == 255) {
|
||||
stats->prc255++;
|
||||
stats->prc511--;
|
||||
} else if (frame_len == 511) {
|
||||
stats->prc511++;
|
||||
stats->prc1023--;
|
||||
} else if (frame_len == 1023) {
|
||||
stats->prc1023++;
|
||||
stats->prc1522--;
|
||||
} else if (frame_len == 1522) {
|
||||
stats->prc1522++;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* e1000_clean_jumbo_rx_irq - Send received data up the network stack; legacy
|
||||
* @adapter: board private structure
|
||||
|
Loading…
Reference in New Issue
Block a user