ar71xx: fix up alignment handling
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Thu, 15 Apr 2010 23:31:17 +0000 (23:31 +0000)
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Thu, 15 Apr 2010 23:31:17 +0000 (23:31 +0000)
commitea9bbe955d51ef63192a6b7affba3f6c5792a4cd
treecd592e44bd4eb4104b8333326f671e9918659f8c
parent7d1583626feb64482457250252884a1730727ed3
ar71xx: fix up alignment handling

- on ar724x, rx buffers can be aligned with an offset of 2, which keeps the ip header aligned
- alignment offset is only added if the ar8216 workaround is not active and the phy driver does not advertise its own packet alignment
- ar71xx and ar91xx can not handle rx alignment offsets, however taking a hit on unaligned exceptions seems to have less overhead than re-aligning the data for large packets
- use memmove to re-align small packets, if necessary

tested on ar9132, ar7240 and ar7242 based devices without ar8216 headers

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20892 3c298f89-4303-0410-b956-a3cf2f4a3e73
target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx_ar8216.c
target/linux/ar71xx/files/drivers/net/ag71xx/ag71xx_main.c