Felix Fietkau
12c84f8eeb
ar71xx: add some code to detect DMA stuck conditions on ar7240
...
SVN-Revision: 27975
2011-08-13 22:30:14 +00:00
Felix Fietkau
4b75394056
ar71xx: fix ethernet FIFO state corruption on ar7240
...
When starting/stopping DMA sometimes the FIFO state gets corrupted,
leading to wildly fluctuating latencies or packet data corruption.
Fix this by issuing a fast MAC reset as soon as the link is detected
as up. Fixes #9689 , #9405
SVN-Revision: 27896
2011-08-04 17:36:31 +00:00
Felix Fietkau
d2aeca6b6d
ag71xx: fix memory corruption issues on ar7240 on ethernet start/stop
...
When the DMA engine state gets corrupted due to a hardware issues, it
often won't stop rx until a full reset is issued. In that case the hardware
must keep a valid descriptor, otherwise it will write to random places in
system RAM, triggering random crashes. To fix this, keep a dummy descriptor
without a buffer that keeps the DMA engine in a sane state until the reset
is done
SVN-Revision: 27895
2011-08-04 17:36:27 +00:00
Gabor Juhos
60d5abbc27
ar71xx: ag71xx: make ring sizes configurable via ethtool
...
SVN-Revision: 27041
2011-05-31 22:53:10 +00:00
Gabor Juhos
7a2651f633
ar71xx: ag71xx: prepare to make ring sizes configurable
...
SVN-Revision: 27040
2011-05-31 22:53:09 +00:00
Gabor Juhos
669aba3871
ar71xx: ag71xx: nuke unused AG71XX_TX_FIFO_LEN define
...
Reported-by: Dave Täht <dave.taht@gmail.com>
SVN-Revision: 27039
2011-05-31 22:53:07 +00:00
Matteo Croce
4deecea26b
ar71xx: detect link on LAN ports
...
SVN-Revision: 26922
2011-05-17 11:12:56 +00:00
Matteo Croce
c0c2e18452
use correct macros and frame size in ag71xx
...
SVN-Revision: 26890
2011-05-14 23:10:06 +00:00
Gabor Juhos
2166432ba0
ar71xx: ag71xx: add timestamps to ag71xx_buf
...
SVN-Revision: 26844
2011-05-07 12:40:28 +00:00
Gabor Juhos
a6708d20d1
ar71xx: ag71xx: use debugfs_remove_recursive
...
SVN-Revision: 26842
2011-05-07 12:40:25 +00:00
Felix Fietkau
41ee4a283c
ar71xx: only allow internal access to the ar7240 switch, export the MDIO bus behind the switch instead
...
SVN-Revision: 26393
2011-04-02 00:47:29 +00:00
Gabor Juhos
f4d5c885e4
ar71xx: return statements does not need parenthesis
...
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
SVN-Revision: 23979
2010-11-12 18:51:38 +00:00
Gabor Juhos
e244e1c7cd
ar71xx: fix inline attribute location
...
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
SVN-Revision: 23978
2010-11-12 18:51:21 +00:00
Gabor Juhos
500fac1735
ar71xx: fix whitespaces nits
...
(build error has been fixed - juhosg)
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>
SVN-Revision: 23975
2010-11-12 18:50:29 +00:00
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
2010-08-16 19:21:57 +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
f9acf8ada1
ar71xx: ag71xx: introduce ag71xx_has_ar8216() helper
...
SVN-Revision: 20505
2010-03-27 13:05:24 +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
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
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
63a320c8f7
ar71xx: add dummy debugfs support for the ag71xx driver
...
SVN-Revision: 19031
2010-01-04 14:28:25 +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
21fc9ffe63
ar71xx: use soc specific divider for mdio clock
...
SVN-Revision: 18225
2009-10-30 12:26:22 +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
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
a6e3c605bc
add AR7240 specific fixes for the ag71xx driver
...
SVN-Revision: 16737
2009-07-07 18:06:02 +00:00
Gabor Juhos
0fd8d0fad8
fix a bitmask in the ag71xx driver
...
SVN-Revision: 16658
2009-07-02 17:23:11 +00:00
Gabor Juhos
0e8a23d053
ag71xx driver: add a workaround for the ar8216 chip, until we get a suitable switch driver
...
SVN-Revision: 14655
2009-02-25 16:47:11 +00:00
Gabor Juhos
df267a8e2e
ag71xx driver: add Kconfig option for enabling debug messages
...
SVN-Revision: 14517
2009-02-15 13:12:43 +00:00
Gabor Juhos
bc8dc1cdba
ag71xx driver: apply 2.6.28 specific patches
...
SVN-Revision: 14515
2009-02-15 07:57:29 +00:00
Gabor Juhos
e697d8c27f
ag71xx driver: fix a kernel crash caused by r14496
...
SVN-Revision: 14504
2009-02-13 20:36:39 +00:00
Gabor Juhos
39628cdd5f
ag71xx driver: fix return code of the napi poll routine, was broken since [13545] (patch by Ubiquiti Networks)
...
SVN-Revision: 14496
2009-02-13 11:16:57 +00:00
Gabor Juhos
4bcc027e97
ag71xx driver: update phy connecting code
...
SVN-Revision: 14495
2009-02-13 10:43:40 +00:00
Gabor Juhos
6bea544949
move random MAC address generation into the platform initialization code
...
SVN-Revision: 14204
2009-01-26 14:55:09 +00:00