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
2010-07-06 12:40:07 +00:00
Felix Fietkau
15b209d09f
ag71xx: reset the hardware during open(), this improves recovery from tx timeouts on ar724x considerably
...
SVN-Revision: 22055
2010-07-04 02:15:08 +00:00
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
2010-07-04 01:31:33 +00:00
Felix Fietkau
7966004d99
ag71xx: remove rx alignment code for small packets, it seems to break ipv6 for some reason ( fixes #7236 )
...
SVN-Revision: 21166
2010-04-26 16:39:13 +00:00
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
2010-04-15 23:31:17 +00:00
Gabor Juhos
4c29a2c263
ar71xx: ag71xx: avoid unalinged accesses when using the phy specific receive functions
...
Cc: backfire@openwrt.org
SVN-Revision: 20751
2010-04-09 08:40:06 +00:00
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
2010-04-09 08:38:46 +00:00
Gabor Juhos
c874513cfa
ar71xx: fix broken LAN ports on the boards with AR8216 switch ( closes #7024 )
...
* cc: backfire@openwrt.org
SVN-Revision: 20673
2010-04-03 13:59:08 +00:00
Gabor Juhos
b7ca043240
ar71xx: ag71xx: copy received packet to avoid unaligned access in the IP stack
...
SVN-Revision: 20506
2010-03-27 13:05:27 +00:00
Gabor Juhos
f9acf8ada1
ar71xx: ag71xx: introduce ag71xx_has_ar8216() helper
...
SVN-Revision: 20505
2010-03-27 13:05:24 +00:00
Gabor Juhos
200db5ebb5
ar71xx: ag71xx: reorganize ag71xx_rx_packet function
...
SVN-Revision: 20504
2010-03-27 13:05:20 +00:00
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
2010-03-27 13:05:17 +00:00
Andy Boyett
681054333e
wrt400n: lan ports don't need the ar8216 workaround
...
SVN-Revision: 20491
2010-03-26 19:09:11 +00:00
Gabor Juhos
9a1031ce6d
ar71xx: change PHY select logic, and update phy_masks
...
SVN-Revision: 20358
2010-03-21 18:16:07 +00:00
Gabor Juhos
2a818f388a
ar71xx: ag71xx: fix MAC address setup
...
SVN-Revision: 20092
2010-03-09 18:05:36 +00:00
Gabor Juhos
2702ae4e8f
ar71xx: ag71xx: move calling ag71xx_phy_stop out from spinlock
...
SVN-Revision: 20004
2010-03-05 20:29:22 +00:00
Gabor Juhos
a4bccded57
ar71xx: ag71xx: move link update function
...
SVN-Revision: 20003
2010-03-05 20:29:18 +00:00
Gabor Juhos
eacf9a7614
ar71xx: ag71xx: don't use dev->trans_start
...
SVN-Revision: 20002
2010-03-05 20:29:14 +00:00
Gabor Juhos
ba288eeb84
ar71xx: ag71xx: use dma_unmap_single to unmap frames
...
SVN-Revision: 20001
2010-03-05 20:29:10 +00:00
Gabor Juhos
0e4eaea770
ar71xx: ag71xx: use correct device pointer for dma_map_single
...
SVN-Revision: 19951
2010-03-02 13:36:18 +00:00
Gabor Juhos
84823e1477
ar71xx: ag71xx: don't use virt_to_phys
...
SVN-Revision: 19950
2010-03-02 13:36:15 +00:00
Gabor Juhos
4a987d6008
ar71xx: ag71xx: simplify register access functions
...
SVN-Revision: 19949
2010-03-02 13:36:12 +00:00
Gabor Juhos
e157281c5d
ar71xx: ag71xx: use NETDEV_TX_OK
...
SVN-Revision: 19948
2010-03-02 13:36:09 +00:00
Gabor Juhos
1612fd447d
ar71xx: enable TX/RX flow control on the AR7240
...
SVN-Revision: 19832
2010-02-24 13:38:41 +00:00
Gabor Juhos
d8ace8978a
ar71xx: add NAPI statistics to the ag71xx driver
...
SVN-Revision: 19079
2010-01-08 20:22:55 +00:00
Jo-Philipp Wich
d8bd549d71
fix typo after r19054
...
SVN-Revision: 19059
2010-01-06 20:16:07 +00:00
Gabor Juhos
51c76750fc
ar71xx: add detailed interrupt statistics for the ag71xx driver
...
SVN-Revision: 19054
2010-01-06 15:24:01 +00:00
Gabor Juhos
46b572636b
ar71xx: update Kconfig of the ag71xx driver
...
SVN-Revision: 19032
2010-01-04 14:28:28 +00:00
Gabor Juhos
63a320c8f7
ar71xx: add dummy debugfs support for the ag71xx driver
...
SVN-Revision: 19031
2010-01-04 14:28:25 +00:00
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
2009-12-15 22:37:54 +00:00
Gabor Juhos
8956009fa6
ar71xx: fix NULL pointer dereference in the ethernet driver
...
SVN-Revision: 18755
2009-12-11 19:32:58 +00:00
Gabor Juhos
18885b425c
ar71xx: merge ag71xx specific patches
...
SVN-Revision: 18751
2009-12-11 16:41:40 +00:00
Gabor Juhos
d38fd20cb7
ar71xx: move mdio_bus reset code
...
SVN-Revision: 18749
2009-12-11 12:21:15 +00:00
Gabor Juhos
18867965f7
ar71xx: add support for external mii_bus
...
SVN-Revision: 18692
2009-12-08 10:29:27 +00:00
Gabor Juhos
0e79007faf
ar71xx: move phy_connect call to ag71xx_open
...
SVN-Revision: 18691
2009-12-08 10:29:19 +00:00
Gabor Juhos
8a7e19e7db
ar71xx: change mii_bus name
...
SVN-Revision: 18619
2009-12-03 14:17:12 +00:00
Gabor Juhos
35dbf66787
ar71xx: override fifo_cfg[123] values on AR7240
...
SVN-Revision: 18614
2009-11-30 13:53:39 +00:00
Felix Fietkau
cb85dcb1a8
ar71xx: mask out reserved bits from the dma tx status in the ethernet driver
...
SVN-Revision: 18599
2009-11-29 13:38:03 +00:00
Gabor Juhos
21fc9ffe63
ar71xx: use soc specific divider for mdio clock
...
SVN-Revision: 18225
2009-10-30 12:26:22 +00:00
Gabor Juhos
f336f8748c
ar71xx: update mdio_reset code
...
SVN-Revision: 18224
2009-10-30 12:26:17 +00:00
Gabor Juhos
8458d7c73b
ar71xx: flush mii register writes
...
SVN-Revision: 17695
2009-09-23 17:44:08 +00:00
Gabor Juhos
0eba7ba4ff
ar71xx: don't use mac_base2 in the ag71xx driver
...
SVN-Revision: 17693
2009-09-23 17:44:02 +00:00
Gabor Juhos
6ed55b43d7
ar71xx: remove some extern directives in the ag71xx driver
...
SVN-Revision: 17692
2009-09-23 17:43:57 +00:00
Gabor Juhos
bbab2a48b4
ag71xx driver: rename ag71xx_debug module parameter
...
SVN-Revision: 16833
2009-07-13 17:45:25 +00:00
Gabor Juhos
d99dcbca9f
ag71xx driver: fix a typo
...
SVN-Revision: 16827
2009-07-13 12:20:02 +00:00
Gabor Juhos
a579511dbf
ag71xx driver: align descriptors on cache_line boundary
...
SVN-Revision: 16825
2009-07-13 11:40:10 +00:00
Gabor Juhos
82a084680a
ag71xx driver: store descriptor pointers in ag71xx_buf
...
SVN-Revision: 16824
2009-07-13 11:38:37 +00:00
Gabor Juhos
b1f5f1d3b0
ag71xx driver: descriptors always aligned on 4 byte boundary
...
SVN-Revision: 16818
2009-07-12 16:04:28 +00:00
Gabor Juhos
10357fc180
ag71xx driver: don't flush ddr on tx path
...
SVN-Revision: 16817
2009-07-12 16:02:27 +00:00
Gabor Juhos
a6e3c605bc
add AR7240 specific fixes for the ag71xx driver
...
SVN-Revision: 16737
2009-07-07 18:06:02 +00:00