summaryrefslogtreecommitdiff
path: root/target/linux/ar71xx/files/drivers
AgeCommit message (Collapse)Author
2011-08-13ar71xx: add some code to detect DMA stuck conditions on ar7240nbd
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27975 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-08-13ar71xx: on ar724x only reset the link status in the restart handler, the ↵nbd
fast reset takes care of DMA stuck issues git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27973 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-08-04ar71xx: fix ethernet FIFO state corruption on ar7240nbd
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 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27896 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-08-04ag71xx: fix memory corruption issues on ar7240 on ethernet start/stopnbd
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 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27895 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-08-04ar71xx: fix MAC/MDIO reset mask handlingnbd
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27894 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-07-20ar71xx: reinitialize global switch settings after reset on ar7240nbd
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27705 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-07-20ar71xx: configure address aging on ar7240nbd
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27704 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-07-20ar71xx: reset the phy in the ethernet init on ar724xnbd
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27703 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-07-20ar71xx: make sure that rx and interrupts are disabled before issuing the ↵nbd
hardware reset git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27702 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-07-20ar71xx: increase the delay after the ethernet MAC resetnbd
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27701 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-07-20ar71xx: fix an unused variable warningnbd
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27700 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-07-09ar71xx: do not reset the hardware on transmit timeout - this would mess up ↵nbd
the up the PHY state git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27568 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-07-09ag71xx: keep the rx engine stopped while the link is not up, should ↵nbd
hopefully fix stability issues from #9405 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27567 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-06-29ar71xx: merge 2.6.39 patchesjuhosg
Also remove the old UART driver for ar933x. git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27314 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-06-29ar71xx: add 2.6.39 supportjuhosg
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27310 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-06-19ar71xx: cleanup AR933X UART driverjuhosg
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27222 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-06-13ar71xx: use ar933x_uart.h in the AR933X serial driverjuhosg
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27166 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-06-04ar71xx: setup wdt_clock for AR913X to avoid a kernel bugjuhosg
Signed-off-by: Jonas Gorski <jonas.gorski+openwrt@gmail.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27102 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-06-01Revert "ar71xx: only enable the rx engine after the link is up..."nbd
It messes up the DMA state when the link goes down git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27088 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-05-31ar71xx: add serial driver for the AR933X UARTjuhosg
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27065 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-05-31ar71xx: the watchdog uses the reference clock on the AR933x SoCsjuhosg
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27060 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-05-31ar71xx: Fix header offset for newer WRT160NL modelsjuhosg
Newer WRT160NLs have a flash chip with 4K erase blocks instead of 64K, resulting in miscalculated partition sizes. Since the actual sizes did not change, hardcode them to their current sizes, and make sure they are at least one erase block big (in case Cisco decides to start to use chips with 128K erase blocks). Signed-off-by: Jonas Gorski <jonas.gorski+openwrt@gmail.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27049 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-05-31ar71xx: ag71xx: make ring sizes configurable via ethtooljuhosg
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27041 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-05-31ar71xx: ag71xx: prepare to make ring sizes configurablejuhosg
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27040 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-05-31ar71xx: ag71xx: nuke unused AG71XX_TX_FIFO_LEN definejuhosg
Reported-by: Dave Täht <dave.taht@gmail.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27039 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-05-30ar71xx: only enable the rx engine after the link is up, fixes a race ↵nbd
condition that got rx stuck when the interface is brought up during lots of inbound traffic (thx, matteo) git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27035 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-05-30ar71xx: disable flow control for ar724x, it can get stuck in a loop of ↵nbd
continously sending MAC pause frames git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27034 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-05-17ar71xx: detect link on LAN portsmatteo
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26922 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-05-14use correct macros and frame size in ag71xxmatteo
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26890 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-05-08ar71xx: ag71xx: make switch register access atomicjuhosg
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 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26856 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-05-08ar71xx: ag71xx: fix section mismatch warningsjuhosg
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. git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26855 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-05-08ar71xx: ag71xx: fix build error if debugfs is enabledjuhosg
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26854 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-05-07ar71xx: ag71xx: add debugfs entry for [rt]x_ringjuhosg
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26845 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-05-07ar71xx: ag71xx: add timestamps to ag71xx_bufjuhosg
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26844 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-05-07ar71xx: ag71xx: use dynamically allocated buffer for napi_statsjuhosg
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26843 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-05-07ar71xx: ag71xx: use debugfs_remove_recursivejuhosg
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26842 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-04-09ar71xx: rename ar934x_ref_freq to ar71xx_ref_freqjuhosg
Also initialize that for each SoC and print its value along with the other frequencies. git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26561 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-04-07ar71xx: add support for the watchdog of the AR934x SoCsjuhosg
Signed-off-by: Jaiganesh Narayanan <jnarayanan@atheros.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26516 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-04-02ar71xx: only allow internal access to the ar7240 switch, export the MDIO bus ↵nbd
behind the switch instead git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26393 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-04-02ar71xx: frequent ethernet mac resets upset the MDIO bus on ar7240, so do not ↵nbd
run them on every device open, only on tx timeouts git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26392 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-01-09ar71xx: use gpio_*_cansleep calls in the rb4xx NAND driverjuhosg
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24944 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-11-12ar71xx: drivers/ar71xx_wdt: fix size argument passed to copy_to_user()juhosg
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23983 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-11-12ar71xx: drivers/ag71xx: remove deprecated usage of IRQF_SAMPLE_RANDOMjuhosg
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23982 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-11-12ar71xx: use pr_* functions in driversjuhosg
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23981 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-11-12ar71xx: drivers/rb4xx_nand: remove C++ comment usagejuhosg
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23980 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-11-12ar71xx: return statements does not need parenthesisjuhosg
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23979 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-11-12ar71xx: fix inline attribute locationjuhosg
Signed-off-by: Arnaud Lacombe <lacombar@gmail.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23978 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-11-12ar71xx: wrap long linesjuhosg
(build errors has been fixed - juhosg) Signed-off-by: Arnaud Lacombe <lacombar@gmail.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23977 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-11-12ar71xx: fix whitespaces nitsjuhosg
(build error has been fixed - juhosg) Signed-off-by: Arnaud Lacombe <lacombar@gmail.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23975 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-10-21ar71xx: fix more section mismatchesnbd
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23575 3c298f89-4303-0410-b956-a3cf2f4a3e73