summaryrefslogtreecommitdiffstats
path: root/target/linux/ramips/files/drivers/net
Commit message (Collapse)AuthorAgeFilesLines
* [ramips] move files to files-3.7blogic2013-04-036-2856/+0
| | | | | | Signed-off-by: John Crispin <blogic@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36161 3c298f89-4303-0410-b956-a3cf2f4a3e73
* [ramips] fix for non-blinking LAN LEDsblogic2013-01-281-0/+4
| | | | | | https://dev.openwrt.org/ticket/12830 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35359 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: ramips_eth: use Kconfig definition to enable debugjuhosg2012-11-251-1/+1
| | | | | | | | | | The Kconfig identifier to enable debugging in the driver was different from the actually used one. Fix that. Signed-off-by: Paul Fertser <fercerpav@gmail.com> Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34332 3c298f89-4303-0410-b956-a3cf2f4a3e73
* [ramips] move ethernet hw init to init/uninit functionsblogic2012-11-121-17/+29
| | | | | | | | | This should fix the stalled irq problem seen by several people. This is not the real fix, but rather moves the bug to the un/init patch of the driver. The real bug still needs to be fixed, but this workaround should be suffcient to make the ethernet stable. git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34177 3c298f89-4303-0410-b956-a3cf2f4a3e73
* [ramips] add ethernet support for rt5350blogic2012-09-252-18/+106
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33548 3c298f89-4303-0410-b956-a3cf2f4a3e73
* [ramips] make ramips ethernet use a register mapping tableblogic2012-09-251-29/+79
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33547 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: Add missing andmask to ramips_esw register read for recv_good value.juhosg2012-09-051-1/+3
| | | | | | | | | | | | | Add missing andmask to ramips_esw register read for recv_good value. Without the mask, recv_bad leaks into the recv_good packet count. Didn't notice the bug before since you don't usually get bad packets, so I only saw it when I was playing with overlength packets earlier... Signed-off-by: Tobias Diedrich <ranma+openwrt@tdiedrich.de> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33322 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: Use doubletagging to disable ramips_esw vlan by default, it seems ↵juhosg2012-09-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | more reliable. Use doubletagging to disable ramips_esw vlan by default, it seems more reliable. Daniel Golle found an issue where sometimes (possibly only for RT3352) the default vlan disable method (clearing en_vlan, untag, doubletag and putting all ports into vlan 0) doesn't work and the packets get sent out vlan-tagged with vlan 0. Instead switch to using the doubletagging method (allow doubletagged packets, put all ports into vlan 0 with untag enabled) by default. Unless someone figures out a way to really globally disable vlan for this switch, this seems like the best (most reliable) option. I did some tests regarding maximum packet size and did not see any difference between the two methods, both allow for slightly bigger packets than the ramips_main.c ethernet driver (ping stops going through above "ping -s 1472" (1514 bytes), on the switch packets are recv_good until "ping -s 1490", or about 1532 bytes). Signed-off-by: Tobias Diedrich <ranma+openwrt@tdiedrich.de> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33321 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: Power down phy on disabled switch portsjuhosg2012-08-291-5/+67
| | | | | | | | | | | | | | Power down phy on disabled switch ports. Haven't measured this myself yet, but according to this http://www.8devices.com/community/viewtopic.php?f=6&t=156 it can save about 300mW of power. [juhosg: fix checkpatch warning] Signed-off-by: Tobias Diedrich <ranma+openwrt@tdiedrich.de> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33304 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: Rename POC registersjuhosg2012-08-291-31/+31
| | | | | | | | | | | | | | | | | | Rename POC registers. The current code uses POC1-POC3. The datasheet uses: POC1: Port Control 0 POC1: Port Control 1 POC2: Port Control 2 So the first POC1 is a typo that should have been POC0, rename the registers to POC0-POC2 accordingly. Signed-off-by: Tobias Diedrich <ranma+openwrt@tdiedrich.de> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33302 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: Minor ramips_esw.c cleanupjuhosg2012-08-291-59/+3
| | | | | | | | | | | | Stop handling VLAN setup in the kernel. Removes the obsolete RT305X_ESW_VLAN_CONFIG_BYPASS option I added for WL-351 and add some extra comments. Also removes the en_vlan per-port flag that isn't very useful really, it now is only controlled by the global enable_vlan flag. Signed-off-by: Tobias Diedrich <ranma+openwrt@tdiedrich.de> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33301 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: Add swconfig support to ramips_esw.cjuhosg2012-08-292-35/+755
| | | | | | | | | | | | | | | | | | | Add swconfig support to ramips_esw.c This patch adds swconfig support for ramips_esw: Tested on both D-LINK DIR-300 B1 and Sitecom WL-351 (external rtl8366rb on internal port 5). I've made sure that in the enable_vlan=0 case it behaves like a dumb switch, so external switches should work fine with vlans and verified this on the WL-351. The current state shown by swconfig is always read directly from HW registers, new settings only show after 'swconfig dev rt305x set apply'. Signed-off-by: Tobias Diedrich <ranma+openwrt@tdiedrich.de> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33299 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: ramips_esw.c indentation cleanupjuhosg2012-08-291-11/+11
| | | | | | | | | | Minor indentation cleanup. Prepare for the main swconfig patch by cleaning up indentation a bit. Signed-off-by: Tobias Diedrich <ranma+openwrt@tdiedrich.de> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33298 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: Add byte queue limits support to net/ethernet/ramips_main.cjuhosg2012-05-231-0/+8
| | | | | | | | | | | | | | Add byte queue limits support to net/ethernet/ramips_main.c "Byte queue limits are a mechanism to limit the size of the transmit hardware queue on a NIC by number of bytes. The goal of these byte limits is too reduce latency (HOL blocking) caused by excessive queuing in hardware (aka buffer bloat) without sacrificing throughput." Signed-off-by: Tobias Diedrich <ranma+openwrt@tdiedrich.de> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31844 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: don't read RAMIPS_RX_CALC_IDX0 register in the loopjuhosg2012-02-261-1/+3
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30733 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: raeth: add rx_info structurejuhosg2012-02-262-24/+57
| | | | | | | | | | | | | This helps to reduce code size on RX path: add/remove: 0/0 grow/shrink: 3/1 up/down: 68/-56 (12) function old new delta ramips_eth_open 1104 1144 +40 ramips_ring_free 212 232 +20 ramips_eth_stop 400 408 +8 ramips_eth_rx_hw 648 592 -56 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30732 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: raeth: add tx_info structurejuhosg2012-02-262-19/+55
| | | | | | | | | | | | | | This helps to reduce code size on TX path: add/remove: 0/0 grow/shrink: 1/4 up/down: 56/-92 (-36) function old new delta ramips_eth_open 1048 1104 +56 ramips_eth_tx_housekeeping 156 148 -8 ramips_ring_free 224 212 -12 ramips_eth_stop 420 400 -20 ramips_eth_hard_start_xmit 480 428 -52 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30731 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: raeth: don't process disabled interruptsjuhosg2012-02-251-5/+11
| | | | | | Also rename the 'fe_int' variable. git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30713 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: raeth: show interrupt statistics in debugfsjuhosg2012-02-223-0/+105
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30681 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: raeth: add debugfs supportjuhosg2012-02-225-1/+91
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30680 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: raeth: rename main source filejuhosg2012-02-222-0/+2
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30679 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: raeth: add missing Kconfig and Makefilejuhosg2012-02-212-0/+18
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30671 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: move the ethernet driver into a separate directoryjuhosg2012-02-213-0/+0
| | | | | | Also clean up the Kconfig symbols. git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30670 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: raeth: separate ring allocation and setupjuhosg2012-02-161-44/+90
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30573 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: raeth: add a helper function for skb allocationjuhosg2012-02-151-6/+16
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30555 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: raeth: use netdev_alloc_skbjuhosg2012-02-151-2/+3
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30554 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: raeth: add '__packed __aligned(4)' annotation to dma descritor ↵juhosg2012-02-151-2/+2
| | | | | | | | structures This helps GCC to generare more efficient code. git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30553 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: raeth: use 're' instead of 'priv' everywherejuhosg2012-02-151-73/+73
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30552 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: raeth: force link down in ramips_phy_stopjuhosg2012-02-151-7/+6
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30550 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: raeth: serialize ramips_link_adjust callsjuhosg2012-02-151-0/+8
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30549 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: raeth: add PHYLIB supportjuhosg2012-02-152-8/+220
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30547 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: raeth: enable MDIO code for RT3883juhosg2012-02-131-2/+2
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30497 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: add MDIO bus support for RT288Xjuhosg2012-02-112-2/+154
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30455 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: raeth: make debugging messages configurablejuhosg2012-02-111-3/+9
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30450 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: raeth: use device pointer in DMA API callsjuhosg2012-02-111-11/+12
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30449 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: raeth: add netdev pointer to private structurejuhosg2012-02-112-0/+2
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30448 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: raeth: cleanup DMA API usage in ramips_eth_hard_start_xmitjuhosg2012-02-111-5/+4
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30447 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: raeth: unmap rx DMA address in ramips_cleanup_dmajuhosg2012-02-111-1/+4
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30446 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: raeth: add rx_dma array to store the DMA address of the rx packetsjuhosg2012-02-112-10/+17
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30445 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: raeth: use dma_addr_t for the descriptorsjuhosg2012-02-112-9/+10
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30444 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: raeth: unmap DMA memory when a packet is receivedjuhosg2012-02-111-0/+4
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30443 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: raeth: add a temporary pktlen variablejuhosg2012-02-111-3/+6
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30442 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: raeth: protect macro parametersjuhosg2012-02-111-4/+4
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30441 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: raeth: indicate dropped packets in statsjuhosg2012-02-111-0/+2
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30440 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: raeth: use the NUM_TX_DESC for the tx_skb arrayjuhosg2012-02-111-1/+1
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30439 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: Rework ramips_eth to not require irqsave locking anymoreblogic2012-01-171-6/+9
| | | | | | | | | | | | | | | | | Previously the tx housekeeping was done in a spin_lock_irqsave critical section which causes irqs to be disabled during that time. Since the housekeeping is already prepared to be scheduled as a tasklet process the housekeeping only in softirq context and revise the locking between the tx path and the housekeeping tasklet by using a normal spin_lock which in most situations will be a NOP anyway. This makes sure that interrupts are only disabled for a short time since in the worst case the housekeeping might have to free up to 256 skbs. Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29762 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: initial support for Sitecom WL-351 v1 002juhosg2011-12-231-2/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This add support for the Sitecom WL-351 v1 002. In principle the Engenius ESR9850 should also work with this, but I don't have the hardware to test it. Since an external gigabit switch (RTL8366RB) is used, I had to modify the ramips_esw driver to add a 'bypass' mode, which just configures it to not filter the vlan tags. Also two initialization words (FCT2 and FPA2) are set to different values by u-boot than what the driver is using and it only seems to work correctly when they not overridden by the driver, so I added them to the platform specific data as reg_initval_fct2 and reg_initval_fpa2. With this wired lan works as expected, however I'm still having some trouble with the wireless lan: It only works after I rmmod & re-insmod rt2800pci and then reconfigure it in the webinterface, but not directly after rebooting. The symptom of this is wpad saying: Dec 20 15:45:09 OpenWrt daemon.info hostapd: wlan1: STA <notebookmac> IEEE 802.11: associated (aid 1) Dec 20 15:45:09 OpenWrt daemon.info hostapd: wlan1: STA <notebookmac> WPA: pairwise key handshake completed (RSN) Dec 20 15:45:22 OpenWrt daemon.info hostapd: wlan1: STA <notebookmac> IEEE 802.11: authenticated But wpa_supplicant on the client saying: Authentication with <wl351mac> timed out. Signed-off-by: Tobias Diedrich <ranma+openwrt@tdiedrich.de> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29604 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: add support for the Senao/EnGenius ESR-9753 boardjuhosg2011-12-231-0/+12
| | | | | | Signed-off-by: Artur Wronowski <arteqw@gmail.com> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29603 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: allow to specify port layout for the switch of the RT305x/RT3350juhosg2011-08-151-13/+44
| | | | | | Based on a patch by Roman Yeryomin <roman@advem.lv> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27990 3c298f89-4303-0410-b956-a3cf2f4a3e73
* ramips: fix a section mismatch warningjuhosg2011-07-031-1/+1
| | | | git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27382 3c298f89-4303-0410-b956-a3cf2f4a3e73