aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/sfc
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/sfc')
-rw-r--r--drivers/net/sfc/net_driver.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/net/sfc/net_driver.h b/drivers/net/sfc/net_driver.h
index 5eabede9ac18..298566da638b 100644
--- a/drivers/net/sfc/net_driver.h
+++ b/drivers/net/sfc/net_driver.h
@@ -984,9 +984,14 @@ static inline void clear_bit_le(unsigned nr, unsigned char *addr)
984 * 984 *
985 * The 10G MAC used in Falcon requires 8-byte alignment on the frame 985 * The 10G MAC used in Falcon requires 8-byte alignment on the frame
986 * length, so we round up to the nearest 8. 986 * length, so we round up to the nearest 8.
987 *
988 * Re-clocking by the XGXS on RX can reduce an IPG to 32 bits (half an
989 * XGMII cycle). If the frame length reaches the maximum value in the
990 * same cycle, the XMAC can miss the IPG altogether. We work around
991 * this by adding a further 16 bytes.
987 */ 992 */
988#define EFX_MAX_FRAME_LEN(mtu) \ 993#define EFX_MAX_FRAME_LEN(mtu) \
989 ((((mtu) + ETH_HLEN + VLAN_HLEN + 4/* FCS */) + 7) & ~7) 994 ((((mtu) + ETH_HLEN + VLAN_HLEN + 4/* FCS */ + 7) & ~7) + 16)
990 995
991 996
992#endif /* EFX_NET_DRIVER_H */ 997#endif /* EFX_NET_DRIVER_H */