Gabor Juhos
33bf9bc63b
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
Gabor Juhos
92b44035cb
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
Gabor Juhos
4a3dcaa55d
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
Gabor Juhos
492f15580b
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
Gabor Juhos
c51e57d972
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
Gabor Juhos
846b753561
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
Gabor Juhos
d50d8e09a4
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
Gabor Juhos
be0de7b856
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
Gabor Juhos
59a817f8aa
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
Gabor Juhos
bf98da9c80
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
Gabor Juhos
69e3d1bbc4
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
Gabor Juhos
110d4ac69d
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
Gabor Juhos
49ec435276
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
Gabor Juhos
03f6e838c1
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
Gabor Juhos
edf1212d0f
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
Gabor Juhos
b527da9716
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
Gabor Juhos
527df10ce9
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
Gabor Juhos
4ab419384e
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
Gabor Juhos
9ab3461a35
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
John Crispin
b58ab60fff
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
Gabor Juhos
418e052c05
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
Gabor Juhos
404b68fcd2
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
Gabor Juhos
00bd3f47c4
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
Gabor Juhos
77a769e423
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
Gabor Juhos
be87c0dac9
ramips: Remove unnecessary skb_put
...
Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com >
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@24121 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-11-24 10:01:08 +00:00
Gabor Juhos
e3647801e9
ramips: Allow ethernet interface to be taken down and up again
...
Taking the ramips ethernet interface down and up again resulted in the
driver not receiving any frames anymore. Fix this by correctly disabling
interrupts in the hw on ifdown.
Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com >
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@23243 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-10-05 14:10:34 +00:00
Gabor Juhos
69e79c381f
ramips: add mdio_cfg configuration for the ethernet driver
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22211 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-07-15 19:45:40 +00:00
Gabor Juhos
5cce2b0a05
ramips: Fix bridging in ramips ethernet driver
...
Bridging between the ramips ethernet driver and rt2800pci was somewhat
broken. Frames received by the ethernet driver which were passed to the
wifi driver for transmission were sometimes corrupted or sent out with
huge delays.
The reason for this is the missing assignment of skb->tail in the ramips
ethernet driver's rx path resulting in skb->tail pointing to skb->data.
Since skb->tail is used by mac80211 it writes into skb->data which messes
up the frames content.
Fix this by using skb_put to correctly set skb->len and skb->tail.
Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com >
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@22172 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-07-13 16:52:07 +00:00
Gabor Juhos
7b441cdc46
ramips_eth: cleanup mac_address changing
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19464 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-31 17:56:36 +00:00
Gabor Juhos
a6165a962c
ramips_eth: pass sys_clk via platform_data
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19462 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-31 17:56:30 +00:00
Gabor Juhos
a0de90ddb3
ramips_eth: add helper functions to {ed,dis}able interrupts
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19446 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-31 12:48:53 +00:00
Gabor Juhos
162e987f39
ramips_eth: remove unnecessary typecasts
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19445 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-31 12:48:51 +00:00
Gabor Juhos
b84db9ddc3
ramips_eth: simplify tx_next computation
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19444 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-31 12:48:48 +00:00
Gabor Juhos
150f80a0ed
ramips_eth: simplify tx descriptor initialization
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19443 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-31 12:48:46 +00:00
Gabor Juhos
6a51bbb104
ramips_eth: pass 'raeth_priv' struct directly to dma specific functions
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19442 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-31 12:48:43 +00:00
Gabor Juhos
58e0c44256
ramips_eth: convert to use netdev_ops
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19440 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-31 12:48:38 +00:00
Gabor Juhos
bf61c26b5f
ramips_eth: fix invalid register writes
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19417 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-30 15:26:02 +00:00
Gabor Juhos
8f1e2c9fdc
ramips_eth: move memset call out from the loop
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19416 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-30 15:25:59 +00:00
Gabor Juhos
2f687349c6
ramips_eth: coding style cleanup
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@19414 3c298f89-4303-0410-b956-a3cf2f4a3e73
2010-01-30 15:25:55 +00:00
John Crispin
78fb561524
[ramips] missing header file changes, and fix mtu value
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18220 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-10-30 09:18:40 +00:00
John Crispin
99e448a10a
[ramips] fixes rx path for eth, spinlock it, increases buffer size, board now survives ping -f
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18212 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-10-29 21:08:11 +00:00
John Crispin
100904760d
[ramips] hopefully fixes dma issues seen on ethernet driver when under high load
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18203 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-10-29 12:51:45 +00:00
Gabor Juhos
763125a873
ramips: move 'arch/mips/include/asm/mach-ralink/eth.h' to 'drivers/net/ramips_eth.h'
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18176 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-10-26 17:17:51 +00:00
Gabor Juhos
888efa12d8
ramips: move ramips_eth_platform_data into a separate file
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18174 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-10-26 17:17:45 +00:00
Gabor Juhos
84327abca9
ramips: request_irq prior to dma allocation, and handle the case if it fails
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18173 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-10-26 17:17:42 +00:00
Gabor Juhos
5015ba2730
ramips: add error handling to ramips_alloc_dma
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18172 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-10-26 17:17:39 +00:00
Gabor Juhos
b227b3e3df
ramips: free allocated skbs in ramips_cleanup_dma
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18171 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-10-26 17:17:37 +00:00
Gabor Juhos
73e450cced
ramips: add ramips_setup_dma helper to the ethernet driver
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18170 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-10-26 17:17:34 +00:00
Gabor Juhos
87b8fa8353
ramips: add ramips_cleanup_dma helper
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18169 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-10-26 17:17:29 +00:00
Gabor Juhos
44cff07470
ramips: remove unnecessary includes in the ethernet driver
...
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18168 3c298f89-4303-0410-b956-a3cf2f4a3e73
2009-10-26 17:17:26 +00:00