juhosg
4a1bbe457a
ramips: Add byte queue limits support to net/ethernet/ramips_main.c
...
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
2012-05-23 21:05:23 +00:00
juhosg
c369186781
ramips: don't read RAMIPS_RX_CALC_IDX0 register in the loop
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30733 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-26 10:54:13 +00:00
juhosg
bcc8770afa
ramips: raeth: add rx_info structure
...
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
2012-02-26 10:54:12 +00:00
juhosg
c3157bd40e
ramips: raeth: add tx_info structure
...
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
2012-02-26 10:54:10 +00:00
juhosg
b83545fa99
ramips: raeth: don't process disabled interrupts
...
Also rename the 'fe_int' variable.
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30713 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-25 11:59:19 +00:00
juhosg
edd0b0744e
ramips: raeth: show interrupt statistics in debugfs
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30681 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-22 13:06:44 +00:00
juhosg
fe2aef1465
ramips: raeth: add debugfs support
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30680 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-22 13:06:42 +00:00
juhosg
487e30dc6b
ramips: raeth: rename main source file
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30679 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-22 13:06:41 +00:00
juhosg
8b52220866
ramips: raeth: add missing Kconfig and Makefile
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30671 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-21 09:44:30 +00:00
juhosg
3ac2b4e29a
ramips: move the ethernet driver into a separate directory
...
Also clean up the Kconfig symbols.
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30670 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-21 09:26:43 +00:00
juhosg
013dc5a5d6
ramips: raeth: separate ring allocation and setup
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30573 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-16 08:17:50 +00:00
juhosg
43d6f57e67
ramips: raeth: add a helper function for skb allocation
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30555 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-15 18:33:42 +00:00
juhosg
c99c1bd913
ramips: raeth: use netdev_alloc_skb
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30554 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-15 18:33:41 +00:00
juhosg
0564ef75aa
ramips: raeth: add '__packed __aligned(4)' annotation to dma descritor structures
...
This helps GCC to generare more efficient code.
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30553 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-15 18:33:40 +00:00
juhosg
eaae1ec1de
ramips: raeth: use 're' instead of 'priv' everywhere
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30552 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-15 18:33:38 +00:00
juhosg
d0794e0d35
ramips: raeth: force link down in ramips_phy_stop
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30550 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-15 13:47:52 +00:00
juhosg
815334db9c
ramips: raeth: serialize ramips_link_adjust calls
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30549 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-15 13:47:50 +00:00
juhosg
d214321c8c
ramips: raeth: add PHYLIB support
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30547 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-15 06:47:12 +00:00
juhosg
10a983eea1
ramips: raeth: enable MDIO code for RT3883
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30497 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-13 15:18:03 +00:00
juhosg
a6fcd662b4
ramips: add MDIO bus support for RT288X
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30455 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-11 16:49:56 +00:00
juhosg
3120faed8b
ramips: raeth: make debugging messages configurable
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30450 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-11 15:12:10 +00:00
juhosg
ad0b8c49bf
ramips: raeth: use device pointer in DMA API calls
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30449 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-11 15:12:08 +00:00
juhosg
5b41176cdc
ramips: raeth: add netdev pointer to private structure
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30448 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-11 15:12:06 +00:00
juhosg
1e38789510
ramips: raeth: cleanup DMA API usage in ramips_eth_hard_start_xmit
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30447 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-11 15:12:05 +00:00
juhosg
9b2ee01ff5
ramips: raeth: unmap rx DMA address in ramips_cleanup_dma
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30446 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-11 15:12:04 +00:00
juhosg
606588b4e9
ramips: raeth: add rx_dma array to store the DMA address of the rx packets
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30445 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-11 15:12:02 +00:00
juhosg
bbc71f5154
ramips: raeth: use dma_addr_t for the descriptors
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30444 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-11 15:12:01 +00:00
juhosg
cce4c079c4
ramips: raeth: unmap DMA memory when a packet is received
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30443 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-11 15:11:56 +00:00
juhosg
cd69289b3e
ramips: raeth: add a temporary pktlen variable
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30442 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-11 15:11:55 +00:00
juhosg
0e485dd80d
ramips: raeth: protect macro parameters
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30441 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-11 15:11:50 +00:00
juhosg
202c4f386c
ramips: raeth: indicate dropped packets in stats
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30440 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-11 15:11:49 +00:00
juhosg
b10ad5f4e0
ramips: raeth: use the NUM_TX_DESC for the tx_skb array
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30439 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-11 15:11:47 +00:00
blogic
03810204dc
ramips: Rework ramips_eth to not require irqsave locking anymore
...
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
2012-01-17 11:23:11 +00:00
juhosg
b95eb02775
ramips: initial support for Sitecom WL-351 v1 002
...
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
2011-12-23 14:27:16 +00:00
juhosg
a46cfc6bcc
ramips: add support for the Senao/EnGenius ESR-9753 board
...
Signed-off-by: Artur Wronowski <arteqw@gmail.com>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29603 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-12-23 14:27:10 +00:00
juhosg
8b59aa7786
ramips: allow to specify port layout for the switch of the RT305x/RT3350
...
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
2011-08-15 14:11:43 +00:00
juhosg
45b5e79de8
ramips: fix a section mismatch warning
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27382 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-07-03 15:01:46 +00:00
juhosg
f370a85b20
ramips: ramips_esw: fix typos
...
Patch from #8577 .
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24898 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-01-04 13:44:05 +00:00
juhosg
602f2d5e4f
ramips: ramips_esw: add more definitions
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24340 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-12-08 10:15:33 +00:00
juhosg
ec52e89b08
ramips: ramips_esw: add helper function to set pvid
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24339 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-12-08 10:15:28 +00:00
juhosg
4059133e7d
ramips: ramips_esw: add helper function to set vlan members
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24338 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-12-08 10:15:25 +00:00
juhosg
9e9816322c
ramips: ramips_esw: add helper function to set VLAN id
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24337 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-12-08 10:15:22 +00:00
juhosg
293e4ff8cc
ramips: ramips_esw: introduce rt305x_esw_rmw{,_raw} function
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24336 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-12-08 10:15:16 +00:00
juhosg
8b6afc3a6a
ramips: ramips_esw: use rt305x_esw prefix in function names
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24335 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-12-08 10:15:14 +00:00
juhosg
808e953c0a
ramips: ramips_esw: coding style cleanup
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24334 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-12-08 10:15:12 +00:00
juhosg
39deae4b99
ramips: ramips_esw: add defines for switch register offsets
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24333 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-12-08 10:15:07 +00:00
juhosg
1600b801ec
ramips: ramips_esw: don't touch GPIO_PURPOSE register
...
It must have been set by the board initialization code.
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24332 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-12-08 10:15:04 +00:00
juhosg
bc4cb1b39f
ramips: ramips_esw: convert it to be a platform driver
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24331 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-12-08 10:15:00 +00:00
juhosg
a3373ca948
ramips: ramips_esw: move hardware initialization into a separate function
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24330 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-12-08 10:14:58 +00:00
juhosg
1fcc0bf36c
ramips: ramips_esw: use a private structure for the functions
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24329 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-12-08 10:14:54 +00:00