ar71xx: fix up alignment handling
authorFelix Fietkau <nbd@openwrt.org>
Thu, 15 Apr 2010 23:31:17 +0000 (23:31 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Thu, 15 Apr 2010 23:31:17 +0000 (23:31 +0000)
commit4593e471afc0ea9d5a224da1f51106a24d6dd9b5
treecd592e44bd4eb4104b8333326f671e9918659f8c
parente5035b6261c0f83104ebeabd0f26ab8d74c6457a
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