summaryrefslogtreecommitdiffstats
path: root/target/linux/ar71xx/files/drivers
Commit message (Collapse)AuthorAgeFilesLines
* ar71xx: ag71xx: make switch register access atomicjuhosg2011-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 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26856 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: ag71xx: fix section mismatch warningsjuhosg2011-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. git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26855 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: ag71xx: fix build error if debugfs is enabledjuhosg2011-05-081-2/+3
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26854 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: ag71xx: add debugfs entry for [rt]x_ringjuhosg2011-05-071-0/+92
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26845 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: ag71xx: add timestamps to ag71xx_bufjuhosg2011-05-072-1/+2
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26844 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: ag71xx: use dynamically allocated buffer for napi_statsjuhosg2011-05-071-9/+19
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26843 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: ag71xx: use debugfs_remove_recursivejuhosg2011-05-072-28/+7
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26842 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: rename ar934x_ref_freq to ar71xx_ref_freqjuhosg2011-04-091-1/+1
| | | | | | | 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
* ar71xx: add support for the watchdog of the AR934x SoCsjuhosg2011-04-071-2/+20
| | | | | | Signed-off-by: Jaiganesh Narayanan <jnarayanan@atheros.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26516 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: only allow internal access to the ar7240 switch, export the MDIO bus ↵nbd2011-04-023-76/+109
| | | | | | behind the switch instead git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26393 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: frequent ethernet mac resets upset the MDIO bus on ar7240, so do not ↵nbd2011-04-021-4/+5
| | | | | | 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
* ar71xx: use gpio_*_cansleep calls in the rb4xx NAND driverjuhosg2011-01-091-5/+8
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24944 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: drivers/ar71xx_wdt: fix size argument passed to copy_to_user()juhosg2010-11-121-1/+1
| | | | | | Signed-off-by: Arnaud Lacombe <lacombar@gmail.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23983 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: drivers/ag71xx: remove deprecated usage of IRQF_SAMPLE_RANDOMjuhosg2010-11-121-1/+1
| | | | | | Signed-off-by: Arnaud Lacombe <lacombar@gmail.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23982 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: use pr_* functions in driversjuhosg2010-11-122-10/+4
| | | | | | Signed-off-by: Arnaud Lacombe <lacombar@gmail.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23981 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: drivers/rb4xx_nand: remove C++ comment usagejuhosg2010-11-121-1/+3
| | | | | | Signed-off-by: Arnaud Lacombe <lacombar@gmail.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23980 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: return statements does not need parenthesisjuhosg2010-11-122-7/+7
| | | | | | Signed-off-by: Arnaud Lacombe <lacombar@gmail.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23979 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: fix inline attribute locationjuhosg2010-11-122-5/+5
| | | | | | Signed-off-by: Arnaud Lacombe <lacombar@gmail.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23978 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: wrap long linesjuhosg2010-11-125-8/+12
| | | | | | | | (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
* ar71xx: fix whitespaces nitsjuhosg2010-11-1220-96/+96
| | | | | | | | (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
* ar71xx: fix more section mismatchesnbd2010-10-214-9/+9
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23575 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: improve 2.6.36 compatibility. also, instead of adding a forward port ↵nbd2010-10-213-8/+8
| | | | | | patch to the 2.6.36 patches, add a backport patch to 2.6.32 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23574 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: increase rb4xx nand kernel partition size (patch by danimo)nbd2010-10-071-1/+1
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23293 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: rewrite SPI drivers for the RB4xx boardsjuhosg2010-08-313-308/+1026
| | | | | | | | | | * add a new SPI controller driver * add SPI driver for the CPLD chip * convert the NAND driver * enable the mikroSD slot * enable more LEDs git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22863 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: add a new driver for the ar7240 switch using swconfig.nbd2010-08-164-2/+875
| | | | | | | | 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 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22675 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: only reinit the ethernet MAC at .open() on ar724x for now, until ↵nbd2010-07-061-1/+3
| | | | | | we've figured out what part of it causes the issue described in #7563 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22075 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ag71xx: reset the hardware during open(), this improves recovery from tx ↵nbd2010-07-041-0/+2
| | | | | | timeouts on ar724x considerably git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22055 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ag71xx: fix a memory corruption bug that happens if you flood the interface ↵nbd2010-07-041-0/+6
| | | | | | | | with packets while it's being brought down fixes boot time crashes under load reported by matteo git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22054 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: fix leds-rb750 build failure on 2.6.34juhosg2010-07-011-0/+1
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22016 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: fix build error in the rb{4xx,750}_nand drivers on 2.6.34/35juhosg2010-06-092-0/+2
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21736 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: fix 2.6.34 build errorsjuhosg2010-06-071-0/+1
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21698 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ag71xx: remove rx alignment code for small packets, it seems to break ipv6 ↵nbd2010-04-261-24/+0
| | | | | | for some reason (fixes #7236) git-svn-id: svn://svn.openwrt.org/openwrt/trunk@21166 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: fix up alignment handlingnbd2010-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 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20892 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: ag71xx: avoid unalinged accesses when using the phy specific receive ↵juhosg2010-04-092-1/+8
| | | | | | | | | functions Cc: backfire@openwrt.org git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20751 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: ag71xx: call the phy driver's netif_receive_skb()juhosg2010-04-092-3/+7
| | | | | | | | | | | | | 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 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20750 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: fix broken LAN ports on the boards with AR8216 switch (closes #7024)juhosg2010-04-033-8/+12
| | | | | | | * cc: backfire@openwrt.org git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20673 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: update image generation and trx header parsing for the WRT160NLjuhosg2010-03-271-6/+1
| | | | | | | | * patch by Bernhard Loos * note: trailing whitespaces has been removed git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20525 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: ag71xx: copy received packet to avoid unaligned access in the IP stackjuhosg2010-03-271-0/+19
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20506 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: ag71xx: introduce ag71xx_has_ar8216() helperjuhosg2010-03-273-16/+17
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20505 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: ag71xx: reorganize ag71xx_rx_packet functionjuhosg2010-03-271-6/+7
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20504 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: ag71xx: Add netpoll supportjuhosg2010-03-271-0/+17
| | | | | | | | | | | | 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> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20503 3c298f89-4303-0410-b956-a3cf2f4a3e73
* [ar71xx] wrt400n: lan ports don't need the ar8216 workaroundagb2010-03-261-1/+1
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20491 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: change PHY select logic, and update phy_masksjuhosg2010-03-212-45/+31
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20358 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: ag71xx: fix MAC address setupjuhosg2010-03-092-4/+4
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20092 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: add NAND driver for the RB750juhosg2010-03-081-0/+360
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20054 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: add LED driver for the RB750juhosg2010-03-081-0/+140
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20051 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: ag71xx: move calling ag71xx_phy_stop out from spinlockjuhosg2010-03-051-3/+3
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20004 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: ag71xx: move link update functionjuhosg2010-03-053-104/+105
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20003 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: ag71xx: don't use dev->trans_startjuhosg2010-03-052-3/+1
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20002 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: ag71xx: use dma_unmap_single to unmap framesjuhosg2010-03-052-5/+14
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20001 3c298f89-4303-0410-b956-a3cf2f4a3e73