linux/drivers/net/ethernet/freescale
Eric Nelson 3ac72b7b63 net: fec: align IP header in hardware
The FEC receive accelerator (RACC) supports shifting the data payload of
received packets by 16-bits, which aligns the payload (IP header) on a
4-byte boundary, which is, if not required, at least strongly suggested
by the Linux networking layer.

Without this patch, a huge number of alignment faults will be taken by the
IP stack, as seen in /proc/cpu/alignment:

	~/$ cat /proc/cpu/alignment
	User:		0
	System:		72645 (inet_gro_receive+0x104/0x27c)
	Skipped:	0
	Half:		0
	Word:		0
	DWord:		0
	Multi:		72645
	User faults:	3 (fixup+warn)

This patch was suggested by Andrew Lunn in this message to linux-netdev:
	http://marc.info/?l=linux-arm-kernel&m=147465452108384&w=2

and adapted from a patch by Russell King from 2014:
	http://git.arm.linux.org.uk/cgit/linux-arm.git/commit/?id=70d8a8a

Signed-off-by: Eric Nelson <eric@nelint.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-09-27 07:39:34 -04:00
..
fman remove lots of IS_ERR_VALUE abuses 2016-05-27 15:26:11 -07:00
fs_enet net: ethernet: fs-enet: use phy_ethtool_{get|set}_link_ksettings 2016-05-16 22:16:32 -04:00
fec_main.c net: fec: align IP header in hardware 2016-09-27 07:39:34 -04:00
fec_mpc52xx_phy.c mdio: Move allocation of interrupts into core 2016-01-07 14:31:26 -05:00
fec_mpc52xx.c net: ethernet: fec-mpc52xx: use phy_ethtool_{get|set}_link_ksettings 2016-05-16 22:20:06 -04:00
fec_mpc52xx.h
fec_ptp.c net: fec: avoid timespec use 2015-10-05 03:16:39 -07:00
fec.h ARM: SoC platform updates for v4.8 2016-08-01 18:27:08 -04:00
fsl_pq_mdio.c powerpc updates for 4.5 2016-01-15 13:18:47 -08:00
gianfar_ethtool.c net: ethernet: gianfar: use phy_ethtool_{get|set}_link_ksettings 2016-05-16 21:51:40 -04:00
gianfar_ptp.c gianfar_ptp: replace get_of_u32 with of_property_read_u32 2016-02-25 16:22:02 -05:00
gianfar.c gianfar: fix size of scatter-gathered frames 2016-08-23 16:49:00 -07:00
gianfar.h gianfar: prevent fragmentation in DSA environments 2016-08-23 16:48:59 -07:00
Kconfig fsl/fman: Add FMan MURAM support 2015-12-27 20:51:39 -05:00
Makefile net: fec: make driver endian-safe 2016-01-25 10:51:52 -08:00
ucc_geth_ethtool.c net: ethernet: ucc: move to new ethtool api {get|set}_link_ksettings 2016-05-03 13:03:52 -04:00
ucc_geth.c powerpc updates for 4.5 2016-01-15 13:18:47 -08:00
ucc_geth.h QE: Move QE from arch/powerpc to drivers/soc 2015-12-22 17:12:56 -06:00
xgmac_mdio.c net/fsl: constify of_device_id array 2015-03-17 15:00:21 -04:00