mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-23 20:53:53 +08:00
e1000e: use either_crc_le() rather than re-write it
For the 82579 jumbo frame workaround, there is no need to re-write the CRC calculation functionality already found in the kernel's ether_crc_le(). Signed-off-by: Bruce Allan <bruce.w.allan@intel.com> Tested-by: Jeff Pieper <jeffrey.e.pieper@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
e0dc4f1254
commit
fe46f58fa6
@ -38,6 +38,7 @@
|
|||||||
#include <linux/netdevice.h>
|
#include <linux/netdevice.h>
|
||||||
#include <linux/pci.h>
|
#include <linux/pci.h>
|
||||||
#include <linux/pci-aspm.h>
|
#include <linux/pci-aspm.h>
|
||||||
|
#include <linux/crc32.h>
|
||||||
|
|
||||||
#include "hw.h"
|
#include "hw.h"
|
||||||
|
|
||||||
|
@ -1395,22 +1395,6 @@ void e1000_copy_rx_addrs_to_phy_ich8lan(struct e1000_hw *hw)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static u32 e1000_calc_rx_da_crc(u8 mac[])
|
|
||||||
{
|
|
||||||
u32 poly = 0xEDB88320; /* Polynomial for 802.3 CRC calculation */
|
|
||||||
u32 i, j, mask, crc;
|
|
||||||
|
|
||||||
crc = 0xffffffff;
|
|
||||||
for (i = 0; i < 6; i++) {
|
|
||||||
crc = crc ^ mac[i];
|
|
||||||
for (j = 8; j > 0; j--) {
|
|
||||||
mask = (crc & 1) * (-1);
|
|
||||||
crc = (crc >> 1) ^ (poly & mask);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return ~crc;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* e1000_lv_jumbo_workaround_ich8lan - required for jumbo frame operation
|
* e1000_lv_jumbo_workaround_ich8lan - required for jumbo frame operation
|
||||||
* with 82579 PHY
|
* with 82579 PHY
|
||||||
@ -1453,8 +1437,7 @@ s32 e1000_lv_jumbo_workaround_ich8lan(struct e1000_hw *hw, bool enable)
|
|||||||
mac_addr[4] = (addr_high & 0xFF);
|
mac_addr[4] = (addr_high & 0xFF);
|
||||||
mac_addr[5] = ((addr_high >> 8) & 0xFF);
|
mac_addr[5] = ((addr_high >> 8) & 0xFF);
|
||||||
|
|
||||||
ew32(PCH_RAICC(i),
|
ew32(PCH_RAICC(i), ~ether_crc_le(ETH_ALEN, mac_addr));
|
||||||
e1000_calc_rx_da_crc(mac_addr));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Write Rx addresses to the PHY */
|
/* Write Rx addresses to the PHY */
|
||||||
|
Loading…
Reference in New Issue
Block a user