Felix Fietkau
523fcf0497
ar71xx: add a new driver for the ar7240 switch using swconfig. hooks directly into the ethernet driver, as MAC resets also require switch reinitializations and the switch is part of the cpu core anyway switch only tl-wr741nd (and other devices using this board file, such as tl-wr841nd) over to using this by default, as other devices are still untested fixes #7563
...
SVN-Revision: 22675
14 years ago
Felix Fietkau
a27ea45e76
ar71xx: only reinit the ethernet MAC at .open() on ar724x for now, until we've figured out what part of it causes the issue described in #7563
...
SVN-Revision: 22075
15 years ago
Felix Fietkau
15b209d09f
ag71xx: reset the hardware during open(), this improves recovery from tx timeouts on ar724x considerably
...
SVN-Revision: 22055
15 years ago
Felix Fietkau
89da22d1ea
ag71xx: fix a memory corruption bug that happens if you flood the interface with packets while it's being brought down fixes boot time crashes under load reported by matteo
...
SVN-Revision: 22054
15 years ago
Felix Fietkau
7966004d99
ag71xx: remove rx alignment code for small packets, it seems to break ipv6 for some reason ( fixes #7236 )
...
SVN-Revision: 21166
15 years ago
Felix Fietkau
1c0e751391
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
SVN-Revision: 20892
15 years ago
Gabor Juhos
4c29a2c263
ar71xx: ag71xx: avoid unalinged accesses when using the phy specific receive functions
...
Cc: backfire@openwrt.org
SVN-Revision: 20751
15 years ago
Gabor Juhos
4a28844d80
ar71xx: ag71xx: call the phy driver's netif_receive_skb()
...
Ag71xx needs to call the phy's netif_receive_skb() to allow phy drivers
to mangle rx packets. This patch fixes it.
This fixes the header mangling of the AR8216 driver.
Signed-off-by: Jonas Gorski <jonas.gorski+openwrt@gmail.com>
Cc:backfire@openwrt.org
SVN-Revision: 20750
15 years ago
Gabor Juhos
c874513cfa
ar71xx: fix broken LAN ports on the boards with AR8216 switch ( closes #7024 )
...
* cc: backfire@openwrt.org
SVN-Revision: 20673
15 years ago
Gabor Juhos
b7ca043240
ar71xx: ag71xx: copy received packet to avoid unaligned access in the IP stack
...
SVN-Revision: 20506
15 years ago
Gabor Juhos
f9acf8ada1
ar71xx: ag71xx: introduce ag71xx_has_ar8216() helper
...
SVN-Revision: 20505
15 years ago
Gabor Juhos
200db5ebb5
ar71xx: ag71xx: reorganize ag71xx_rx_packet function
...
SVN-Revision: 20504
15 years ago
Gabor Juhos
245775a49f
ar71xx: ag71xx: Add netpoll support
...
This patch adds support for polling interrupts, used by
netconsole and the likes.
Tested on d-link dir-615 C1 using netconsole.
Signed-off-by: Pat Erley <pat-lkml@erley.org>
SVN-Revision: 20503
15 years ago
Andy Boyett
681054333e
wrt400n: lan ports don't need the ar8216 workaround
...
SVN-Revision: 20491
15 years ago
Gabor Juhos
9a1031ce6d
ar71xx: change PHY select logic, and update phy_masks
...
SVN-Revision: 20358
15 years ago
Gabor Juhos
2a818f388a
ar71xx: ag71xx: fix MAC address setup
...
SVN-Revision: 20092
15 years ago
Gabor Juhos
2702ae4e8f
ar71xx: ag71xx: move calling ag71xx_phy_stop out from spinlock
...
SVN-Revision: 20004
15 years ago
Gabor Juhos
a4bccded57
ar71xx: ag71xx: move link update function
...
SVN-Revision: 20003
15 years ago
Gabor Juhos
eacf9a7614
ar71xx: ag71xx: don't use dev->trans_start
...
SVN-Revision: 20002
15 years ago
Gabor Juhos
ba288eeb84
ar71xx: ag71xx: use dma_unmap_single to unmap frames
...
SVN-Revision: 20001
15 years ago
Gabor Juhos
0e4eaea770
ar71xx: ag71xx: use correct device pointer for dma_map_single
...
SVN-Revision: 19951
15 years ago
Gabor Juhos
84823e1477
ar71xx: ag71xx: don't use virt_to_phys
...
SVN-Revision: 19950
15 years ago
Gabor Juhos
4a987d6008
ar71xx: ag71xx: simplify register access functions
...
SVN-Revision: 19949
15 years ago
Gabor Juhos
e157281c5d
ar71xx: ag71xx: use NETDEV_TX_OK
...
SVN-Revision: 19948
15 years ago
Gabor Juhos
1612fd447d
ar71xx: enable TX/RX flow control on the AR7240
...
SVN-Revision: 19832
15 years ago
Gabor Juhos
d8ace8978a
ar71xx: add NAPI statistics to the ag71xx driver
...
SVN-Revision: 19079
15 years ago
Jo-Philipp Wich
d8bd549d71
fix typo after r19054
...
SVN-Revision: 19059
15 years ago
Gabor Juhos
51c76750fc
ar71xx: add detailed interrupt statistics for the ag71xx driver
...
SVN-Revision: 19054
15 years ago
Gabor Juhos
46b572636b
ar71xx: update Kconfig of the ag71xx driver
...
SVN-Revision: 19032
15 years ago
Gabor Juhos
63a320c8f7
ar71xx: add dummy debugfs support for the ag71xx driver
...
SVN-Revision: 19031
15 years ago
Felix Fietkau
6a90a35f2b
Revert "ar71xx: move phy_connect call to ag71xx_open" (r18691) It's causing issues with switch drivers that register with swconfig and makes fixing those unnecessarily complicated. Fixes rtl8306 switch support on the WRT160NL.
...
SVN-Revision: 18789
15 years ago
Gabor Juhos
8956009fa6
ar71xx: fix NULL pointer dereference in the ethernet driver
...
SVN-Revision: 18755
15 years ago
Gabor Juhos
18885b425c
ar71xx: merge ag71xx specific patches
...
SVN-Revision: 18751
15 years ago
Gabor Juhos
d38fd20cb7
ar71xx: move mdio_bus reset code
...
SVN-Revision: 18749
15 years ago
Gabor Juhos
18867965f7
ar71xx: add support for external mii_bus
...
SVN-Revision: 18692
15 years ago
Gabor Juhos
0e79007faf
ar71xx: move phy_connect call to ag71xx_open
...
SVN-Revision: 18691
15 years ago
Gabor Juhos
8a7e19e7db
ar71xx: change mii_bus name
...
SVN-Revision: 18619
15 years ago
Gabor Juhos
35dbf66787
ar71xx: override fifo_cfg[123] values on AR7240
...
SVN-Revision: 18614
15 years ago
Felix Fietkau
cb85dcb1a8
ar71xx: mask out reserved bits from the dma tx status in the ethernet driver
...
SVN-Revision: 18599
15 years ago
Gabor Juhos
21fc9ffe63
ar71xx: use soc specific divider for mdio clock
...
SVN-Revision: 18225
15 years ago
Gabor Juhos
f336f8748c
ar71xx: update mdio_reset code
...
SVN-Revision: 18224
15 years ago
Gabor Juhos
8458d7c73b
ar71xx: flush mii register writes
...
SVN-Revision: 17695
15 years ago
Gabor Juhos
0eba7ba4ff
ar71xx: don't use mac_base2 in the ag71xx driver
...
SVN-Revision: 17693
15 years ago
Gabor Juhos
6ed55b43d7
ar71xx: remove some extern directives in the ag71xx driver
...
SVN-Revision: 17692
15 years ago
Gabor Juhos
bbab2a48b4
ag71xx driver: rename ag71xx_debug module parameter
...
SVN-Revision: 16833
16 years ago
Gabor Juhos
d99dcbca9f
ag71xx driver: fix a typo
...
SVN-Revision: 16827
16 years ago
Gabor Juhos
a579511dbf
ag71xx driver: align descriptors on cache_line boundary
...
SVN-Revision: 16825
16 years ago
Gabor Juhos
82a084680a
ag71xx driver: store descriptor pointers in ag71xx_buf
...
SVN-Revision: 16824
16 years ago
Gabor Juhos
b1f5f1d3b0
ag71xx driver: descriptors always aligned on 4 byte boundary
...
SVN-Revision: 16818
16 years ago
Gabor Juhos
10357fc180
ag71xx driver: don't flush ddr on tx path
...
SVN-Revision: 16817
16 years ago