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
juhosg
d59a23df99
ramips: Use NET_IP_ALIGN instead of hardcoding 2
...
Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24124 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-11-24 10:01:18 +00:00
juhosg
37b545f00f
ramips: DMA map the correct RX skb size
...
The skb_reserve call prior to DMA mapping the RX skb reduced the skb
data len by 2. To not allow DMA to write behind the skb we should pass
the correct skb data len to the device.
Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24123 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-11-24 10:01:16 +00:00
juhosg
c523394925
ramips: Don't trigger BUG_ON due to skb allocation failure
...
Instead just drop the rx'ed frame silently and reuse the already
available buffer.
Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24122 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-11-24 10:01:12 +00:00