Commit graph

63 commits

Author SHA1 Message Date
Gabor Juhos
f8a56dc8df ramips: raeth: separate ring allocation and setup
SVN-Revision: 30573
2012-02-16 08:17:50 +00:00
Gabor Juhos
8b8d9a8336 ramips: raeth: add a helper function for skb allocation
SVN-Revision: 30555
2012-02-15 18:33:42 +00:00
Gabor Juhos
e57546de83 ramips: raeth: use netdev_alloc_skb
SVN-Revision: 30554
2012-02-15 18:33:41 +00:00
Gabor Juhos
8c95385d78 ramips: raeth: use 're' instead of 'priv' everywhere
SVN-Revision: 30552
2012-02-15 18:33:38 +00:00
Gabor Juhos
b3b79365f3 ramips: raeth: force link down in ramips_phy_stop
SVN-Revision: 30550
2012-02-15 13:47:52 +00:00
Gabor Juhos
3e7b461431 ramips: raeth: serialize ramips_link_adjust calls
SVN-Revision: 30549
2012-02-15 13:47:50 +00:00
Gabor Juhos
dcb13d4098 ramips: raeth: add PHYLIB support
SVN-Revision: 30547
2012-02-15 06:47:12 +00:00
Gabor Juhos
97e641a0e6 ramips: raeth: enable MDIO code for RT3883
SVN-Revision: 30497
2012-02-13 15:18:03 +00:00
Gabor Juhos
4e1b870f3e ramips: add MDIO bus support for RT288X
SVN-Revision: 30455
2012-02-11 16:49:56 +00:00
Gabor Juhos
8916c02b47 ramips: raeth: make debugging messages configurable
SVN-Revision: 30450
2012-02-11 15:12:10 +00:00
Gabor Juhos
aac3ad4c0e ramips: raeth: use device pointer in DMA API calls
SVN-Revision: 30449
2012-02-11 15:12:08 +00:00
Gabor Juhos
1fd8724e94 ramips: raeth: add netdev pointer to private structure
SVN-Revision: 30448
2012-02-11 15:12:06 +00:00
Gabor Juhos
c6fa11d00f ramips: raeth: cleanup DMA API usage in ramips_eth_hard_start_xmit
SVN-Revision: 30447
2012-02-11 15:12:05 +00:00
Gabor Juhos
2d055f130e ramips: raeth: unmap rx DMA address in ramips_cleanup_dma
SVN-Revision: 30446
2012-02-11 15:12:04 +00:00
Gabor Juhos
7bd7ddcf4e ramips: raeth: add rx_dma array to store the DMA address of the rx packets
SVN-Revision: 30445
2012-02-11 15:12:02 +00:00
Gabor Juhos
647af823d9 ramips: raeth: use dma_addr_t for the descriptors
SVN-Revision: 30444
2012-02-11 15:12:01 +00:00
Gabor Juhos
df5892d1f1 ramips: raeth: unmap DMA memory when a packet is received
SVN-Revision: 30443
2012-02-11 15:11:56 +00:00
Gabor Juhos
617954ca5d ramips: raeth: add a temporary pktlen variable
SVN-Revision: 30442
2012-02-11 15:11:55 +00:00
Gabor Juhos
8250692359 ramips: raeth: indicate dropped packets in stats
SVN-Revision: 30440
2012-02-11 15:11:49 +00:00
John Crispin
a2708d11e8 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>

SVN-Revision: 29762
2012-01-17 11:23:11 +00:00
Gabor Juhos
3b9a6adc7d ramips: ramips_esw: convert it to be a platform driver
SVN-Revision: 24331
2010-12-08 10:15:00 +00:00
Gabor Juhos
64b16b9f34 ramips: Use NET_IP_ALIGN instead of hardcoding 2
Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>

SVN-Revision: 24124
2010-11-24 10:01:18 +00:00
Gabor Juhos
624cfc5c91 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>

SVN-Revision: 24123
2010-11-24 10:01:16 +00:00
Gabor Juhos
f833e399f2 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>

SVN-Revision: 24122
2010-11-24 10:01:12 +00:00
Gabor Juhos
c6e4124855 ramips: Remove unnecessary skb_put
Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>

SVN-Revision: 24121
2010-11-24 10:01:08 +00:00
Gabor Juhos
69355ee10e 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>

SVN-Revision: 23243
2010-10-05 14:10:34 +00:00
Gabor Juhos
0d8c036e56 ramips: add mdio_cfg configuration for the ethernet driver
SVN-Revision: 22211
2010-07-15 19:45:40 +00:00
Gabor Juhos
d14e9e706e 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>

SVN-Revision: 22172
2010-07-13 16:52:07 +00:00
Gabor Juhos
4267623e2e ramips_eth: cleanup mac_address changing
SVN-Revision: 19464
2010-01-31 17:56:36 +00:00
Gabor Juhos
72b08b729a ramips_eth: pass sys_clk via platform_data
SVN-Revision: 19462
2010-01-31 17:56:30 +00:00
Gabor Juhos
9ab88ce62d ramips_eth: add helper functions to {ed,dis}able interrupts
SVN-Revision: 19446
2010-01-31 12:48:53 +00:00
Gabor Juhos
224edd2575 ramips_eth: remove unnecessary typecasts
SVN-Revision: 19445
2010-01-31 12:48:51 +00:00
Gabor Juhos
8aceaf96be ramips_eth: simplify tx_next computation
SVN-Revision: 19444
2010-01-31 12:48:48 +00:00
Gabor Juhos
21b06bd2c0 ramips_eth: simplify tx descriptor initialization
SVN-Revision: 19443
2010-01-31 12:48:46 +00:00
Gabor Juhos
d0fb66e3a4 ramips_eth: pass 'raeth_priv' struct directly to dma specific functions
SVN-Revision: 19442
2010-01-31 12:48:43 +00:00
Gabor Juhos
f0be6ab20c ramips_eth: convert to use netdev_ops
SVN-Revision: 19440
2010-01-31 12:48:38 +00:00
Gabor Juhos
d37975f6b2 ramips_eth: fix invalid register writes
SVN-Revision: 19417
2010-01-30 15:26:02 +00:00
Gabor Juhos
43e1dd85c2 ramips_eth: move memset call out from the loop
SVN-Revision: 19416
2010-01-30 15:25:59 +00:00
Gabor Juhos
67cd819da6 ramips_eth: coding style cleanup
SVN-Revision: 19414
2010-01-30 15:25:55 +00:00
John Crispin
9364f83dbc missing header file changes, and fix mtu value
SVN-Revision: 18220
2009-10-30 09:18:40 +00:00
John Crispin
ff5deeef08 fixes rx path for eth, spinlock it, increases buffer size, board now survives ping -f
SVN-Revision: 18212
2009-10-29 21:08:11 +00:00
John Crispin
135111a05b hopefully fixes dma issues seen on ethernet driver when under high load
SVN-Revision: 18203
2009-10-29 12:51:45 +00:00
Gabor Juhos
bc59e3da51 ramips: move 'arch/mips/include/asm/mach-ralink/eth.h' to 'drivers/net/ramips_eth.h'
SVN-Revision: 18176
2009-10-26 17:17:51 +00:00
Gabor Juhos
c170980c4f ramips: move ramips_eth_platform_data into a separate file
SVN-Revision: 18174
2009-10-26 17:17:45 +00:00
Gabor Juhos
b98fa096a6 ramips: request_irq prior to dma allocation, and handle the case if it fails
SVN-Revision: 18173
2009-10-26 17:17:42 +00:00
Gabor Juhos
08f77d2e7e ramips: add error handling to ramips_alloc_dma
SVN-Revision: 18172
2009-10-26 17:17:39 +00:00
Gabor Juhos
941c1dae2c ramips: free allocated skbs in ramips_cleanup_dma
SVN-Revision: 18171
2009-10-26 17:17:37 +00:00
Gabor Juhos
82cc25d5f0 ramips: add ramips_setup_dma helper to the ethernet driver
SVN-Revision: 18170
2009-10-26 17:17:34 +00:00
Gabor Juhos
f69b042df9 ramips: add ramips_cleanup_dma helper
SVN-Revision: 18169
2009-10-26 17:17:29 +00:00
Gabor Juhos
defb7c0059 ramips: remove unnecessary includes in the ethernet driver
SVN-Revision: 18168
2009-10-26 17:17:26 +00:00