aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ar71xx/files/drivers
Commit message (Collapse)AuthorAgeFilesLines
* ar71xx: fix register range check for DMA stuck checks (thx, Frédéric Moulins)Felix Fietkau2011-09-111-1/+1
| | | | SVN-Revision: 28213
* ar71xx: add some code to detect DMA stuck conditions on ar7240Felix Fietkau2011-08-132-1/+33
| | | | SVN-Revision: 27975
* ar71xx: on ar724x only reset the link status in the restart handler, the ↵Felix Fietkau2011-08-131-0/+6
| | | | | | fast reset takes care of DMA stuck issues SVN-Revision: 27973
* ar71xx: fix ethernet FIFO state corruption on ar7240Felix Fietkau2011-08-042-20/+61
| | | | | | | | | 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
* ag71xx: fix memory corruption issues on ar7240 on ethernet start/stopFelix Fietkau2011-08-042-3/+19
| | | | | | | | | | | 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
* ar71xx: fix MAC/MDIO reset mask handlingFelix Fietkau2011-08-041-2/+2
| | | | SVN-Revision: 27894
* ar71xx: reinitialize global switch settings after reset on ar7240Felix Fietkau2011-07-201-23/+24
| | | | SVN-Revision: 27705
* ar71xx: configure address aging on ar7240Felix Fietkau2011-07-201-2/+12
| | | | SVN-Revision: 27704
* ar71xx: reset the phy in the ethernet init on ar724xFelix Fietkau2011-07-201-0/+13
| | | | SVN-Revision: 27703
* ar71xx: make sure that rx and interrupts are disabled before issuing the ↵Felix Fietkau2011-07-201-7/+9
| | | | | | hardware reset SVN-Revision: 27702
* ar71xx: increase the delay after the ethernet MAC resetFelix Fietkau2011-07-201-1/+1
| | | | SVN-Revision: 27701
* ar71xx: fix an unused variable warningFelix Fietkau2011-07-201-1/+0
| | | | SVN-Revision: 27700
* ar71xx: do not reset the hardware on transmit timeout - this would mess up ↵Felix Fietkau2011-07-091-4/+0
| | | | | | the up the PHY state SVN-Revision: 27568
* ag71xx: keep the rx engine stopped while the link is not up, should ↵Felix Fietkau2011-07-091-91/+91
| | | | | | hopefully fix stability issues from #9405 SVN-Revision: 27567
* ar71xx: merge 2.6.39 patchesGabor Juhos2011-06-291-678/+0
| | | | | | Also remove the old UART driver for ar933x. SVN-Revision: 27314
* ar71xx: add 2.6.39 supportGabor Juhos2011-06-291-0/+688
| | | | SVN-Revision: 27310
* ar71xx: cleanup AR933X UART driverGabor Juhos2011-06-191-481/+141
| | | | SVN-Revision: 27222
* ar71xx: use ar933x_uart.h in the AR933X serial driverGabor Juhos2011-06-131-339/+75
| | | | SVN-Revision: 27166
* ar71xx: setup wdt_clock for AR913X to avoid a kernel bugGabor Juhos2011-06-041-0/+2
| | | | | | Signed-off-by: Jonas Gorski <jonas.gorski+openwrt@gmail.com> SVN-Revision: 27102
* Revert "ar71xx: only enable the rx engine after the link is up..."Felix Fietkau2011-06-011-68/+67
| | | | | | It messes up the DMA state when the link goes down SVN-Revision: 27088
* ar71xx: add serial driver for the AR933X UARTGabor Juhos2011-05-311-0/+1282
| | | | SVN-Revision: 27065
* ar71xx: the watchdog uses the reference clock on the AR933x SoCsGabor Juhos2011-05-311-2/+12
| | | | SVN-Revision: 27060
* ar71xx: Fix header offset for newer WRT160NL modelsGabor Juhos2011-05-311-9/+16
| | | | | | | | | | | | 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> SVN-Revision: 27049
* ar71xx: ag71xx: make ring sizes configurable via ethtoolGabor Juhos2011-05-312-0/+56
| | | | SVN-Revision: 27041
* ar71xx: ag71xx: prepare to make ring sizes configurableGabor Juhos2011-05-313-35/+32
| | | | SVN-Revision: 27040
* ar71xx: ag71xx: nuke unused AG71XX_TX_FIFO_LEN defineGabor Juhos2011-05-311-1/+0
| | | | | | Reported-by: Dave Täht <dave.taht@gmail.com> SVN-Revision: 27039
* ar71xx: only enable the rx engine after the link is up, fixes a race ↵Felix Fietkau2011-05-301-67/+68
| | | | | | condition that got rx stuck when the interface is brought up during lots of inbound traffic (thx, matteo) SVN-Revision: 27035
* ar71xx: disable flow control for ar724x, it can get stuck in a loop of ↵Felix Fietkau2011-05-301-5/+1
| | | | | | continously sending MAC pause frames SVN-Revision: 27034
* ar71xx: detect link on LAN portsMatteo Croce2011-05-173-3/+32
| | | | SVN-Revision: 26922
* use correct macros and frame size in ag71xxMatteo Croce2011-05-141-3/+2
| | | | SVN-Revision: 26890
* ar71xx: ag71xx: make switch register access atomicGabor Juhos2011-05-081-6/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* ar71xx: ag71xx: fix section mismatch warningsGabor Juhos2011-05-082-2/+2
| | | | | | | | | | | | | | | | | | 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
* ar71xx: ag71xx: fix build error if debugfs is enabledGabor Juhos2011-05-081-2/+3
| | | | SVN-Revision: 26854
* ar71xx: ag71xx: add debugfs entry for [rt]x_ringGabor Juhos2011-05-071-0/+92
| | | | SVN-Revision: 26845
* ar71xx: ag71xx: add timestamps to ag71xx_bufGabor Juhos2011-05-072-1/+2
| | | | SVN-Revision: 26844
* ar71xx: ag71xx: use dynamically allocated buffer for napi_statsGabor Juhos2011-05-071-9/+19
| | | | SVN-Revision: 26843
* ar71xx: ag71xx: use debugfs_remove_recursiveGabor Juhos2011-05-072-28/+7
| | | | SVN-Revision: 26842
* ar71xx: rename ar934x_ref_freq to ar71xx_ref_freqGabor Juhos2011-04-091-1/+1
| | | | | | | Also initialize that for each SoC and print its value along with the other frequencies. SVN-Revision: 26561
* ar71xx: add support for the watchdog of the AR934x SoCsGabor Juhos2011-04-071-2/+20
| | | | | | Signed-off-by: Jaiganesh Narayanan <jnarayanan@atheros.com> SVN-Revision: 26516
* ar71xx: only allow internal access to the ar7240 switch, export the MDIO bus ↵Felix Fietkau2011-04-023-76/+109
| | | | | | behind the switch instead SVN-Revision: 26393
* ar71xx: frequent ethernet mac resets upset the MDIO bus on ar7240, so do not ↵Felix Fietkau2011-04-021-4/+5
| | | | | | run them on every device open, only on tx timeouts SVN-Revision: 26392
* ar71xx: use gpio_*_cansleep calls in the rb4xx NAND driverGabor Juhos2011-01-091-5/+8
| | | | SVN-Revision: 24944
* ar71xx: drivers/ar71xx_wdt: fix size argument passed to copy_to_user()Gabor Juhos2010-11-121-1/+1
| | | | | | Signed-off-by: Arnaud Lacombe <lacombar@gmail.com> SVN-Revision: 23983
* ar71xx: drivers/ag71xx: remove deprecated usage of IRQF_SAMPLE_RANDOMGabor Juhos2010-11-121-1/+1
| | | | | | Signed-off-by: Arnaud Lacombe <lacombar@gmail.com> SVN-Revision: 23982
* ar71xx: use pr_* functions in driversGabor Juhos2010-11-122-10/+4
| | | | | | Signed-off-by: Arnaud Lacombe <lacombar@gmail.com> SVN-Revision: 23981
* ar71xx: drivers/rb4xx_nand: remove C++ comment usageGabor Juhos2010-11-121-1/+3
| | | | | | Signed-off-by: Arnaud Lacombe <lacombar@gmail.com> SVN-Revision: 23980
* ar71xx: return statements does not need parenthesisGabor Juhos2010-11-122-7/+7
| | | | | | Signed-off-by: Arnaud Lacombe <lacombar@gmail.com> SVN-Revision: 23979
* ar71xx: fix inline attribute locationGabor Juhos2010-11-122-5/+5
| | | | | | Signed-off-by: Arnaud Lacombe <lacombar@gmail.com> SVN-Revision: 23978
* ar71xx: wrap long linesGabor Juhos2010-11-125-8/+12
| | | | | | | | (build errors has been fixed - juhosg) Signed-off-by: Arnaud Lacombe <lacombar@gmail.com> SVN-Revision: 23977
* ar71xx: fix whitespaces nitsGabor Juhos2010-11-1220-96/+96
| | | | | | | | (build error has been fixed - juhosg) Signed-off-by: Arnaud Lacombe <lacombar@gmail.com> SVN-Revision: 23975