summaryrefslogtreecommitdiffstats
path: root/target/linux/ar71xx/files/drivers/net
Commit message (Collapse)AuthorAgeFilesLines
...
* ar71xx: ag71xx: use fixed link parameters if the mii bus is not registeredGabor Juhos2011-11-121-0/+4
| | | | SVN-Revision: 28977
* ar71xx: remove dead codeFelix Fietkau2011-11-081-15/+0
| | | | SVN-Revision: 28851
* ar71xx: on ar7240, exclude ports from their own port vlan destination maskFelix Fietkau2011-11-081-2/+1
| | | | SVN-Revision: 28850
* ag71xx: close a race between the phy state machine and link stateJonas Gorski2011-10-081-3/+7
| | | | | | | | | | | A fast stop/start cycle could leave the ag71xx interrupts and tx engine disabled when using a phy driver with a fixed link and the start/stop happens between two phy state machine polls. Prevent this by always forcing the link down on stop regardless of phy state and having a phy connected. SVN-Revision: 28380
* 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
* 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: 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: 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: 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-121-1/+1
| | | | | | Signed-off-by: Arnaud Lacombe <lacombar@gmail.com> SVN-Revision: 23981
* 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-121-2/+2
| | | | | | Signed-off-by: Arnaud Lacombe <lacombar@gmail.com> SVN-Revision: 23978
* ar71xx: wrap long linesGabor Juhos2010-11-122-2/+4
| | | | | | | | (build errors has been fixed - juhosg) Signed-off-by: Arnaud Lacombe <lacombar@gmail.com> SVN-Revision: 23977
* ar71xx: fix whitespaces nitsGabor Juhos2010-11-125-34/+34
| | | | | | | | (build error has been fixed - juhosg) Signed-off-by: Arnaud Lacombe <lacombar@gmail.com> SVN-Revision: 23975
* ar71xx: fix more section mismatchesFelix Fietkau2010-10-214-9/+9
| | | | SVN-Revision: 23575
* ar71xx: improve 2.6.36 compatibility. also, instead of adding a forward port ↵Felix Fietkau2010-10-211-2/+1
| | | | | | patch to the 2.6.36 patches, add a backport patch to 2.6.32 SVN-Revision: 23574
* ar71xx: add a new driver for the ar7240 switch using swconfig. hooks ↵Felix Fietkau2010-08-164-2/+875
| | | | | | 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
* ar71xx: only reinit the ethernet MAC at .open() on ar724x for now, until ↵Felix Fietkau2010-07-061-1/+3
| | | | | | we've figured out what part of it causes the issue described in #7563 SVN-Revision: 22075
* ag71xx: reset the hardware during open(), this improves recovery from tx ↵Felix Fietkau2010-07-041-0/+2
| | | | | | timeouts on ar724x considerably SVN-Revision: 22055
* ag71xx: fix a memory corruption bug that happens if you flood the interface ↵Felix Fietkau2010-07-041-0/+6
| | | | | | with packets while it's being brought down fixes boot time crashes under load reported by matteo SVN-Revision: 22054
* ag71xx: remove rx alignment code for small packets, it seems to break ipv6 ↵Felix Fietkau2010-04-261-24/+0
| | | | | | for some reason (fixes #7236) SVN-Revision: 21166
* ar71xx: fix up alignment handlingFelix Fietkau2010-04-152-26/+41
| | | | | | | | | | | - 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
* ar71xx: ag71xx: avoid unalinged accesses when using the phy specific receive ↵Gabor Juhos2010-04-092-1/+8
| | | | | | | | functions Cc: backfire@openwrt.org SVN-Revision: 20751