summaryrefslogtreecommitdiffstats
path: root/target/linux/ar71xx/files/drivers/net
Commit message (Collapse)AuthorAgeFilesLines
* ar71xx: merge files-3.2 to filesjuhosg2012-02-1010-0/+3895
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30405 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: move arch specific files to files-2.6.39juhosg2012-01-2210-3904/+0
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29867 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: include linux/module.h in the micrel phy driverjuhosg2012-01-221-0/+1
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29848 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: ag71xx: implement get_port_{link,stats} callbacksjuhosg2011-12-311-0/+142
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29626 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: set a reserved bit that resets to 1 when writing the address table ↵nbd2011-12-221-0/+2
| | | | | | control register on the ar7240 switch (should fix #10547) git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29598 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: ag71xx: fix switch port setup for AR934Xjuhosg2011-12-151-11/+41
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29554 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: ag71xx: allow to connect PHY4 to the CPU on AR934Xjuhosg2011-12-151-3/+7
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29553 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: ag71xx: setup switch interface mode on AR934Xjuhosg2011-12-151-0/+19
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29552 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: ag71xx: detect the built-in switch of the AR934X SoCsjuhosg2011-12-151-12/+36
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29551 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: introduce ar71xx_switch_datajuhosg2011-12-152-5/+8
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29549 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: ag71xx: check PHY IDs before accessing the switch registersjuhosg2011-12-151-9/+8
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29541 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: ag71xx: don't use port 4 of the switch, it is not connected on ar724xjuhosg2011-12-151-13/+25
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29540 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: ag71xx: nuke ar7240sw_initjuhosg2011-12-151-6/+1
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29539 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: ag71xx: add support for getting switch port link statusjuhosg2011-11-131-0/+67
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29017 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: ag71xx: remove unused mii_ctrl field from struct ag71xxjuhosg2011-11-132-19/+1
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29015 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: ag71xx: remove unused mii_cfg related functions and definesjuhosg2011-11-131-40/+0
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29014 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: set MII interface speed from the set_speed callbacksjuhosg2011-11-131-6/+0
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29013 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: rename set_pll callback to set_speed in ag71xx_platform_datajuhosg2011-11-131-2/+2
| | | | | | Also rename the corresponding callback functions. git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29012 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: ag71xx: remove MII interface setup codejuhosg2011-11-132-15/+0
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29011 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: ag71xx: use fixed link parameters if the mii bus is not registeredjuhosg2011-11-121-0/+4
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@28977 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: remove dead codenbd2011-11-081-15/+0
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@28851 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: on ar7240, exclude ports from their own port vlan destination masknbd2011-11-081-2/+1
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@28850 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ag71xx: close a race between the phy state machine and link statejogo2011-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. git-svn-id: svn://svn.openwrt.org/openwrt/trunk@28380 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: fix register range check for DMA stuck checks (thx, Frédéric Moulins)nbd2011-09-111-1/+1
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@28213 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: add some code to detect DMA stuck conditions on ar7240nbd2011-08-132-1/+33
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27975 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: on ar724x only reset the link status in the restart handler, the ↵nbd2011-08-131-0/+6
| | | | | | fast reset takes care of DMA stuck issues git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27973 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: fix ethernet FIFO state corruption on ar7240nbd2011-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 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27896 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ag71xx: fix memory corruption issues on ar7240 on ethernet start/stopnbd2011-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 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27895 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: fix MAC/MDIO reset mask handlingnbd2011-08-041-2/+2
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27894 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: reinitialize global switch settings after reset on ar7240nbd2011-07-201-23/+24
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27705 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: configure address aging on ar7240nbd2011-07-201-2/+12
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27704 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: reset the phy in the ethernet init on ar724xnbd2011-07-201-0/+13
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27703 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: make sure that rx and interrupts are disabled before issuing the ↵nbd2011-07-201-7/+9
| | | | | | hardware reset git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27702 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: increase the delay after the ethernet MAC resetnbd2011-07-201-1/+1
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27701 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: fix an unused variable warningnbd2011-07-201-1/+0
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27700 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: do not reset the hardware on transmit timeout - this would mess up ↵nbd2011-07-091-4/+0
| | | | | | the up the PHY state git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27568 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ag71xx: keep the rx engine stopped while the link is not up, should ↵nbd2011-07-091-91/+91
| | | | | | hopefully fix stability issues from #9405 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27567 3c298f89-4303-0410-b956-a3cf2f4a3e73
* Revert "ar71xx: only enable the rx engine after the link is up..."nbd2011-06-011-68/+67
| | | | | | 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
* ar71xx: ag71xx: make ring sizes configurable via ethtooljuhosg2011-05-312-0/+56
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27041 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: ag71xx: prepare to make ring sizes configurablejuhosg2011-05-313-35/+32
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27040 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: ag71xx: nuke unused AG71XX_TX_FIFO_LEN definejuhosg2011-05-311-1/+0
| | | | | | Reported-by: Dave Täht <dave.taht@gmail.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27039 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: only enable the rx engine after the link is up, fixes a race ↵nbd2011-05-301-67/+68
| | | | | | 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
* ar71xx: disable flow control for ar724x, it can get stuck in a loop of ↵nbd2011-05-301-5/+1
| | | | | | continously sending MAC pause frames git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27034 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ar71xx: detect link on LAN portsmatteo2011-05-173-3/+32
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26922 3c298f89-4303-0410-b956-a3cf2f4a3e73
* use correct macros and frame size in ag71xxmatteo2011-05-141-3/+2
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26890 3c298f89-4303-0410-b956-a3cf2f4a3e73
* 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