Commit Graph

190 Commits (7a5fcc5695a447c1b2e78bb0b4511e8a0173555b)

Author SHA1 Message Date
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 5d77f370d6 ar71xx: ag71xx: make switch register access atomic
Reading of the PHY registers occasionally returns with bogus values
under heavy load. This misleads the PHY driver and thus causes false
link/speed change notifications which leads to performance loss.

This is easily noticable during an iperf session:

...
[  3] 52.0-53.0 sec  11.3 MBytes  94.4 Mbits/sec
[  3] 53.0-54.0 sec  11.4 MBytes  95.4 Mbits/sec
eth1: link down
br-lan: port 2(eth1) entering forwarding state
eth1: link up (100Mbps/Full duplex)
br-lan: port 2(eth1) entering forwarding state
br-lan: port 2(eth1) entering forwarding state
[  3] 54.0-55.0 sec  6.75 MBytes  56.6 Mbits/sec
[  3] 55.0-56.0 sec  0.00 Bytes  0.00 bits/sec
[  3] 56.0-57.0 sec  10.5 MBytes  88.1 Mbits/sec
...
[  3] 169.0-170.0 sec  11.4 MBytes  95.4 Mbits/sec
[  3] 170.0-171.0 sec  11.4 MBytes  95.4 Mbits/sec
eth1: link up (10Mbps/Half duplex)
[  3] 171.0-172.0 sec  7.63 MBytes  64.0 Mbits/sec
[  3] 172.0-173.0 sec  9.38 MBytes  78.6 Mbits/sec
eth1: link up (100Mbps/Full duplex)
[  3] 173.0-174.0 sec  11.3 MBytes  94.4 Mbits/sec
[  3] 174.0-175.0 sec  11.4 MBytes  95.4 Mbits/sec

SVN-Revision: 26856
2011-05-08 16:32:53 +00:00
Gabor Juhos 3711658281 ar71xx: ag71xx: fix section mismatch warnings
The function __devinit ag71xx_probe() references
a function __devexit ag71xx_phy_disconnect().
This is often seen when error handling in the init function
uses functionality in the exit path.
The fix is often to remove the __devexit annotation of
ag71xx_phy_disconnect() so it may be used outside an exit section.

The function ag71xx_phy_disconnect() references a function in an exit
section.
Often the function ag71xx_ar7240_cleanup() has valid usage outside the
exit section
and the fix is to remove the __devexit annotation of
ag71xx_ar7240_cleanup.

SVN-Revision: 26855
2011-05-08 13:30:36 +00:00
Gabor Juhos ef53029870 ar71xx: ag71xx: fix build error if debugfs is enabled
SVN-Revision: 26854
2011-05-08 13:30:26 +00:00
Gabor Juhos 8b67d748cb ar71xx: ag71xx: add debugfs entry for [rt]x_ring
SVN-Revision: 26845
2011-05-07 12:40:34 +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 896e1d1ab4 ar71xx: ag71xx: use dynamically allocated buffer for napi_stats
SVN-Revision: 26843
2011-05-07 12:40:26 +00:00
Gabor Juhos a6708d20d1 ar71xx: ag71xx: use debugfs_remove_recursive
SVN-Revision: 26842
2011-05-07 12:40:25 +00:00
Gabor Juhos a8bf5e3cdb ar71xx: rename ar934x_ref_freq to ar71xx_ref_freq
Also initialize that for each SoC and print its value along with the
other frequencies.

SVN-Revision: 26561
2011-04-09 18:47:52 +00:00
Gabor Juhos 2b064bb398 ar71xx: add support for the watchdog of the AR934x SoCs
Signed-off-by: Jaiganesh Narayanan <jnarayanan@atheros.com>

SVN-Revision: 26516
2011-04-07 20:53:10 +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
Felix Fietkau acbb3e50e7 ar71xx: frequent ethernet mac resets upset the MDIO bus on ar7240, so do not run them on every device open, only on tx timeouts
SVN-Revision: 26392
2011-04-02 00:47:25 +00:00
Gabor Juhos 23a6173099 ar71xx: use gpio_*_cansleep calls in the rb4xx NAND driver
SVN-Revision: 24944
2011-01-09 09:29:45 +00:00
Gabor Juhos 920a34c0ce ar71xx: drivers/ar71xx_wdt: fix size argument passed to copy_to_user()
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>

SVN-Revision: 23983
2010-11-12 18:52:45 +00:00
Gabor Juhos 3106aea40b ar71xx: drivers/ag71xx: remove deprecated usage of IRQF_SAMPLE_RANDOM
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>

SVN-Revision: 23982
2010-11-12 18:52:28 +00:00
Gabor Juhos 30ef7d55fc ar71xx: use pr_* functions in drivers
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>

SVN-Revision: 23981
2010-11-12 18:52:12 +00:00
Gabor Juhos fddf3b8dac ar71xx: drivers/rb4xx_nand: remove C++ comment usage
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>

SVN-Revision: 23980
2010-11-12 18:51:55 +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 acd8ad4de5 ar71xx: wrap long lines
(build errors has been fixed - juhosg)

Signed-off-by: Arnaud Lacombe <lacombar@gmail.com>

SVN-Revision: 23977
2010-11-12 18:51:04 +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 6656450c6d ar71xx: fix more section mismatches
SVN-Revision: 23575
2010-10-21 18:42:16 +00:00
Felix Fietkau 8858d90afe ar71xx: improve 2.6.36 compatibility. also, instead of adding a forward port patch to the 2.6.36 patches, add a backport patch to 2.6.32
SVN-Revision: 23574
2010-10-21 18:42:11 +00:00
Felix Fietkau b61a804bf7 ar71xx: increase rb4xx nand kernel partition size (patch by danimo)
SVN-Revision: 23293
2010-10-07 14:27:34 +00:00
Gabor Juhos 47f8fd1dde ar71xx: rewrite SPI drivers for the RB4xx boards
* add a new SPI controller driver
  * add SPI driver for the CPLD chip
  * convert the NAND driver
  * enable the mikroSD slot
  * enable more LEDs

SVN-Revision: 22863
2010-08-31 20:13:47 +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
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
Gabor Juhos 5a28fb88a4 ar71xx: fix leds-rb750 build failure on 2.6.34
SVN-Revision: 22016
2010-07-01 14:49:06 +00:00
Gabor Juhos 6ce447427c ar71xx: fix build error in the rb{4xx,750}_nand drivers on 2.6.34/35
SVN-Revision: 21736
2010-06-09 15:31:34 +00:00
Gabor Juhos 90e2b1ad6b ar71xx: fix 2.6.34 build errors
SVN-Revision: 21698
2010-06-07 09:18:13 +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 905f2d62f9 ar71xx: update image generation and trx header parsing for the WRT160NL
* patch by Bernhard Loos
 * note: trailing whitespaces has been removed

SVN-Revision: 20525
2010-03-27 17:38:36 +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 d58a367083 ar71xx: add NAND driver for the RB750
SVN-Revision: 20054
2010-03-08 12:10:23 +00:00
Gabor Juhos 6600fab893 ar71xx: add LED driver for the RB750
SVN-Revision: 20051
2010-03-08 12:10:01 +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